PHP前端开发

在 PyTorch 中展开

百变鹏仔 5天前 #Python
文章标签 PyTorch

请我喝杯咖啡☕

*备忘录:

unflatten() 可以向零个或多个元素的一维或多个 d 张量添加零个或多个维度,得到零个或多个元素的一维或多个 d 张量,如下所示:

*备忘录:

import torchfrom torch import nnunflatten = nn.Unflatten()unflatten# Unflatten(dim=0, unflattened_size=(6,))unflatten.dim# 0unflatten.unflattened_size# (6,)my_tensor = torch.tensor([7, 1, -8, 3, -6, 0])unflatten = nn.Unflatten(dim=0, unflattened_size=(6,))unflatten = nn.Unflatten(dim=0, unflattened_size=(-1,))unflatten = nn.Unflatten(dim=-1, unflattened_size=(6,))unflatten = nn.Unflatten(dim=-1, unflattened_size=(-1,))unflatten(input=my_tensor)# tensor([7, 1, -8, 3, -6, 0])unflatten = nn.Unflatten(dim=0, unflattened_size=(1, 6))unflatten = nn.Unflatten(dim=0, unflattened_size=(-1, 6))unflatten = nn.Unflatten(dim=0, unflattened_size=(1, -1))unflatten = nn.Unflatten(dim=-1, unflattened_size=(1, 6))unflatten = nn.Unflatten(dim=-1, unflattened_size=(-1, 6))unflatten = nn.Unflatten(dim=-1, unflattened_size=(1, -1))unflatten(input=my_tensor)# tensor([[7, 1, -8, 3, -6, 0]])unflatten = nn.Unflatten(dim=0, unflattened_size=(2, 3))unflatten = nn.Unflatten(dim=0, unflattened_size=(2, -1))unflatten = nn.Unflatten(dim=-1, unflattened_size=(2, 3))unflatten = nn.Unflatten(dim=-1, unflattened_size=(2, -1))unflatten(input=my_tensor)# tensor([[7, 1, -8], [3, -6, 0]])unflatten = nn.Unflatten(dim=0, unflattened_size=(3, 2))unflatten = nn.Unflatten(dim=0, unflattened_size=(3, -1))unflatten = nn.Unflatten(dim=-1, unflattened_size=(3, 2))unflatten = nn.Unflatten(dim=-1, unflattened_size=(3, -1))unflatten(input=my_tensor)# tensor([[7, 1], [-8, 3], [-6, 0]])unflatten = nn.Unflatten(dim=0, unflattened_size=(6, 1))unflatten = nn.Unflatten(dim=0, unflattened_size=(6, -1))unflatten = nn.Unflatten(dim=-1, unflattened_size=(6, 1))unflatten = nn.Unflatten(dim=-1, unflattened_size=(6, -1))unflatten(input=my_tensor)# tensor([[7], [1], [-8], [3], [-6], [0]])unflatten = nn.Unflatten(dim=0, unflattened_size=(1, 2, 3))unflatten = nn.Unflatten(dim=0, unflattened_size=(-1, 2, 3))unflatten = nn.Unflatten(dim=0, unflattened_size=(1, -1, 3))unflatten = nn.Unflatten(dim=0, unflattened_size=(1, 2, -1))unflatten = nn.Unflatten(dim=-1, unflattened_size=(1, 2, 3))unflatten = nn.Unflatten(dim=-1, unflattened_size=(-1, 2, 3))unflatten = nn.Unflatten(dim=-1, unflattened_size=(1, -1, 3))unflatten = nn.Unflatten(dim=-1, unflattened_size=(1, 2, -1))unflatten(input=my_tensor)# tensor([[[7, 1, -8], [3, -6, 0]]])etcmy_tensor = torch.tensor([[7, 1, -8], [3, -6, 0]])unflatten = nn.Unflatten(dim=0, unflattened_size=(2,))unflatten = nn.Unflatten(dim=0, unflattened_size=(-1,))unflatten = nn.Unflatten(dim=1, unflattened_size=(3,))unflatten = nn.Unflatten(dim=1, unflattened_size=(-1,))unflatten = nn.Unflatten(dim=-1, unflattened_size=(3,))unflatten = nn.Unflatten(dim=-1, unflattened_size=(-1,))unflatten = nn.Unflatten(dim=-2, unflattened_size=(2,))unflatten = nn.Unflatten(dim=-2, unflattened_size=(-1,))unflatten(input=my_tensor)# tensor([[7, 1, -8], [3, -6, 0]])unflatten = nn.Unflatten(dim=0, unflattened_size=(1, 2))unflatten = nn.Unflatten(dim=0, unflattened_size=(-1, 2))unflatten = nn.Unflatten(dim=-2, unflattened_size=(1, 2))unflatten = nn.Unflatten(dim=-2, unflattened_size=(-1, 2))unflatten(input=my_tensor)# tensor([[[7, 1, -8], [3, -6, 0]]])unflatten = nn.Unflatten(dim=0, unflattened_size=(2, 1))unflatten = nn.Unflatten(dim=0, unflattened_size=(2, -1))unflatten = nn.Unflatten(dim=1, unflattened_size=(1, 3))unflatten = nn.Unflatten(dim=1, unflattened_size=(-1, 3))unflatten = nn.Unflatten(dim=-1, unflattened_size=(1, 3))unflatten = nn.Unflatten(dim=-1, unflattened_size=(-1, 3))unflatten = nn.Unflatten(dim=-2, unflattened_size=(2, 1))unflatten = nn.Unflatten(dim=-2, unflattened_size=(2, -1))unflatten(input=my_tensor)# tensor([[[7, 1, -8]], [[3, -6, 0]]])unflatten = nn.Unflatten(dim=1, unflattened_size=(3, 1))unflatten = nn.Unflatten(dim=1, unflattened_size=(3, -1))unflatten = nn.Unflatten(dim=-1, unflattened_size=(3, 1))unflatten = nn.Unflatten(dim=-1, unflattened_size=(3, -1))unflatten(input=my_tensor)# tensor([[[7], [1], [-8]], [[3], [-6], [0]]])unflatten = nn.Unflatten(dim=0, unflattened_size=(1, 1, 2))unflatten = nn.Unflatten(dim=0, unflattened_size=(-1, 1, 2))unflatten = nn.Unflatten(dim=0, unflattened_size=(1, -1, 2))unflatten = nn.Unflatten(dim=0, unflattened_size=(1, 1, -1))unflatten = nn.Unflatten(dim=-2, unflattened_size=(1, 1, 2))unflatten = nn.Unflatten(dim=-2, unflattened_size=(-1, 1, 2))unflatten = nn.Unflatten(dim=-2, unflattened_size=(1, -1, 2))unflatten = nn.Unflatten(dim=-2, unflattened_size=(1, 1, -1))unflatten(input=my_tensor)# tensor([[[[7, 1, -8], [3, -6, 0]]]])unflatten = nn.Unflatten(dim=1, unflattened_size=(1, 1, 3))unflatten = nn.Unflatten(dim=1, unflattened_size=(-1, 1, 3))unflatten = nn.Unflatten(dim=1, unflattened_size=(1, -1, 3))unflatten = nn.Unflatten(dim=1, unflattened_size=(1, 1, -1))unflatten = nn.Unflatten(dim=-1, unflattened_size=(1, 1, 3))unflatten = nn.Unflatten(dim=-1, unflattened_size=(-1, 1, 3))unflatten = nn.Unflatten(dim=-1, unflattened_size=(1, -1, 3))unflatten = nn.Unflatten(dim=-1, unflattened_size=(1, 1, -1))unflatten(input=my_tensor)# tensor([[[[7, 1, -8]]], [[[3, -6, 0]]]])my_tensor = torch.tensor([[7., 1., -8.], [3., -6., 0.]])unflatten = nn.Unflatten(dim=0, unflattened_size=(2,))unflatten(input=my_tensor)# tensor([[7., 1., -8.], [3., -6., 0.]])my_tensor = torch.tensor([[7.+0.j, 1.+0.j, -8.+0.j],                          [3.+0.j, -6.+0.j, 0.+0.j]])unflatten = nn.Unflatten(dim=0, unflattened_size=(2,))unflatten(input=my_tensor)# tensor([[7.+0.j, 1.+0.j, -8.+0.j],#         [3.+0.j, -6.+0.j, 0.+0.j]])my_tensor = torch.tensor([[True, False, True], [False, True, False]])unflatten = nn.Unflatten(dim=0, unflattened_size=(2,))unflatten(input=my_tensor)# tensor([[True, False, True], [False, True, False]])