a = torch.randn(3)
a
tensor([ 0.4789, 0.1794, -1.5215])
a.unsqueeze(-1)
tensor([[ 0.4789],
[ 0.1794],
[-1.5215]])
上述代码中,tensor变量a是一个一维 tensor 变量。当用 unsqueeze (扩张)为 二维变量后,为什么变为竖着写了?
这个小问题,以前也没有细想过。
现在考虑一下,a中每个元素都扩张了一个维度,这样就变成竖写了,代表每行 1 个元素。
若再次 unsqueeze 扩张维度,那么表示方法上就是再加一层方括号,表示在另外一个维度。
a.unsqueeze(-1).unsqueeze(-1)
tensor([[[ 0.4789]],
[[ 0.1794]],
[[-1.5215]]])
注意看这个加方括号的位置,是每一行的每个元素都加了一个方括号。
标签:unsqueeze,0.1794,tensor,torch,0.4789,维度 From: https://www.cnblogs.com/litifeng/p/18349879