Rate this Page

torch.stack#

torch.stack(tensors,dim=0,*,out=None)Tensor#

Concatenates a sequence of tensors along a new dimension.

All tensors need to be of the same size.

See also

torch.cat() concatenates the given sequence along an existing dimension.

Parameters
  • tensors (sequence ofTensors) – sequence of tensors to concatenate

  • dim (int,optional) – dimension to insert. Has to be between 0 and the numberof dimensions of concatenated tensors (inclusive). Default: 0

Keyword Arguments

out (Tensor,optional) – the output tensor.

Example:

>>>x=torch.randn(2,3)>>>xtensor([[ 0.3367,  0.1288,  0.2345],        [ 0.2303, -1.1229, -0.1863]])>>>torch.stack((x,x))# same as torch.stack((x, x), dim=0)tensor([[[ 0.3367,  0.1288,  0.2345],         [ 0.2303, -1.1229, -0.1863]],        [[ 0.3367,  0.1288,  0.2345],         [ 0.2303, -1.1229, -0.1863]]])>>>torch.stack((x,x)).size()torch.Size([2, 2, 3])>>>torch.stack((x,x),dim=1)tensor([[[ 0.3367,  0.1288,  0.2345],         [ 0.3367,  0.1288,  0.2345]],        [[ 0.2303, -1.1229, -0.1863],         [ 0.2303, -1.1229, -0.1863]]])>>>torch.stack((x,x),dim=2)tensor([[[ 0.3367,  0.3367],         [ 0.1288,  0.1288],         [ 0.2345,  0.2345]],        [[ 0.2303,  0.2303],         [-1.1229, -1.1229],         [-0.1863, -0.1863]]])>>>torch.stack((x,x),dim=-1)tensor([[[ 0.3367,  0.3367],         [ 0.1288,  0.1288],         [ 0.2345,  0.2345]],        [[ 0.2303,  0.2303],         [-1.1229, -1.1229],         [-0.1863, -0.1863]]])