code: def expand_dims(
      x: torch.Tensor,
      /,
      *,
      copy: Optional[bool] = None,
      axis: Union[int, Sequence[int]] = 0,
      out: Optional[torch.Tensor] = None,
  ) -> torch.Tensor:
      out_shape = _calculate_out_shape(axis, x.shape)
      # torch.reshape since it can operate on contiguous and non_contiguous tensors
      return x.reshape(out_shape)
  
imports: import math
  from numbers import Number
  from typing import Union, Optional, Tuple, List, Sequence, Iterable
  import torch
  import ivy
  from ivy.func_wrapper import with_unsupported_dtypes
  from ivy.functional.ivy.manipulation import _calculate_out_shape
  from .None import backend_version
label_desc: Use image node_id 3 for calling a global function with example usage: expand_dims() and returns: x