code: def _upsample2(x, zeros=24):
      """
      Upsample x by a factor of two. The output will be exactly twice as long as the input.
      Args:
          x (Tensor): signal to upsample, time should be the last dimension
          zeros (int): number of zero crossing to keep in the sinc filter.
  
      This function is kept only for reference, you should use the more generic `resample_frac`
      one. This function does not perform anti-aliasing filtering.
      """
      *other, time = x.shape
      kernel = _kernel_upsample2_downsample2(zeros).to(x)
      out = F.conv1d(x.view(-1, 1, time), kernel, padding=zeros)[
          ..., 1:
      ].view(*other, time)
      y = torch.stack([x, out], dim=-1)
      return y.view(*other, -1)
  
file_path: julius/julius/resample.py
imports: import math
  from typing import Optional
  import torch
  from torch.nn import functional
  from .core import sinc
  from .utils import simple_repr
label_desc: Use image node_id 3 for calling a global function with example usage: _upsample2(x, zeros) and returns: y