tile() in PyTorch

tile() in PyTorch

tile() can repeat the zero or more elements of a 0D or more D tensor as shown below:

*Memos:

  • tile() can be used with torch or a tensor.
  • The 1st argument(tensor of int, float, complex or bool) with torch or using a tensor(tensor of int, float, complex or bool) is input(Required).
  • The 2nd argument(tuple) with torch or the 1st argument(tuple) with a tensor is dims(Required). *Memos:
    • If at least one dimension is 0, an empty tensor is returned.
    • The 1st argument…(int, int…) with a tensor is also dims. *dims= mustn’t be used.
import torch my_tensor = torch.tensor([3, 5, 1]) torch.tile(input=my_tensor, dims=(1,))
my_tensor.tile(dims=(1,))
# tensor([3, 5, 1])

torch.tile(input=my_tensor, dims=(2,))
# tensor([3, 5, 1, 3, 5, 1])

torch.tile(input=my_tensor, dims=(3,))
# tensor([3, 5, 1, 3, 5, 1, 3, 5, 1])
etc. torch.tile(input=my_tensor, dims=(1, 1))
# tensor([[3, 5, 1]])

torch.tile(input=my_tensor, dims=(1, 2))
# tensor([[3, 5, 1, 3, 5, 1]])

torch.tile(input=my_tensor, dims=(1, 3))
# tensor([[3, 5, 1, 3, 5, 1, 3, 5, 1]])
etc. torch.tile(input=my_tensor, dims=(2, 1))
# tensor([[3, 5, 1],
# [3, 5, 1]])

torch.tile(input=my_tensor, dims=(2, 2))
# tensor([[3, 5, 1, 3, 5, 1],
# [3, 5, 1, 3, 5, 1]])

torch.tile(input=my_tensor, dims=(2, 3))
# tensor([[3, 5, 1, 3, 5, 1, 3, 5, 1],
# [3, 5, 1, 3, 5, 1, 3, 5, 1]])
etc. torch.tile(input=my_tensor, dims=(3, 1))
# tensor([[3, 5, 1],
# [3, 5, 1],
# [3, 5, 1]])
etc. torch.tile(input=my_tensor, dims=(1, 1, 1))
# tensor([[[3, 5, 1]]])
etc. torch.tile(input=my_tensor, dims=(1, 0, 1))
# tensor([], size=(1, 0, 3), dtype=torch.int64)

my_tensor.tile(3, 2, 1)
# tensor([[[3, 5, 1], [3, 5, 1]],
# [[3, 5, 1], [3, 5, 1]],
# [[3, 5, 1], [3, 5, 1]]])

my_tensor = torch.tensor([3., 5., 1.]) torch.tile(input=my_tensor, dims=(2,))
# tensor([3., 5., 1., 3., 5., 1.])

my_tensor = torch.tensor([3.+0.j, 5.+0.j, 1.+0.j]) torch.tile(input=my_tensor, dims=(2,))
# tensor([3.+0.j, 5.+0.j, 1.+0.j, 3.+0.j, 5.+0.j, 1.+0.j])

my_tensor = torch.tensor([True, False, True]) torch.tile(input=my_tensor, dims=(2,))
# tensor([True, False, True, True, False, True])

my_tensor = torch.tensor([[3, 5, 1], [6, 0, 5]])
torch.tile(input=my_tensor, dims=(1,))
# tensor([[3, 5, 1],
# [6, 0, 5]])

torch.tile(input=my_tensor, dims=(2,))
# tensor([[3, 5, 1, 3, 5, 1],
# [6, 0, 5, 6, 0, 5]])

torch.tile(input=my_tensor, dims=(3,))
# tensor([[3, 5, 1, 3, 5, 1, 3, 5, 1],
# [6, 0, 5, 6, 0, 5, 6, 0, 5]])
etc. torch.tile(input=my_tensor, dims=(1, 1))
# tensor([[3, 5, 1],
# [6, 0, 5]])

torch.tile(input=my_tensor, dims=(1, 2))
# tensor([[3, 5, 1, 3, 5, 1],
# [6, 0, 5, 6, 0, 5]])

torch.tile(input=my_tensor, dims=(1, 3))
# tensor([[3, 5, 1, 3, 5, 1, 3, 5, 1],
# [6, 0, 5, 6, 0, 5, 6, 0, 5]])
etc. torch.tile(input=my_tensor, dims=(2, 1))
# tensor([[3, 5, 1],
# [6, 0, 5],
# [3, 5, 1],
# [6, 0, 5]])

torch.tile(input=my_tensor, dims=(2, 2))
# tensor([[3, 5, 1, 3, 5, 1],
# [6, 0, 5, 6, 0, 5],
# [3, 5, 1, 3, 5, 1],
# [6, 0, 5, 6, 0, 5]])

torch.tile(input=my_tensor, dims=(2, 3))
# tensor([[3, 5, 1, 3, 5, 1, 3, 5, 1],
# [6, 0, 5, 6, 0, 5, 6, 0, 5],
# [3, 5, 1, 3, 5, 1, 3, 5, 1],
# [6, 0, 5, 6, 0, 5, 6, 0, 5]])
etc. torch.tile(input=my_tensor, dims=(3, 1))
# tensor([[3, 5, 1],
# [6, 0, 5],
# [3, 5, 1],
# [6, 0, 5],
# [3, 5, 1],
# [6, 0, 5]])
etc. torch.tile(input=my_tensor, dims=(1, 1, 1))
# tensor([[[3, 5, 1],
# [6, 0, 5]]])
etc.
Enter fullscreen mode
Exit fullscreen mode

Discover more from Coursity

Subscribe to get the latest posts sent to your email.

Comments

No comments yet. Why don’t you start the discussion?

    Leave a Reply

    Your email address will not be published. Required fields are marked *