print(torch.arange(0, 20))
tensor([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
18, 19])
>>> print(torch.arange(0, 20).view(20, 1, 1)) # view可以改变张量的形状
tensor([[[ 0]],
[[ 1]],
[[ 2]],
[[ 3]],
[[ 4]],
[[ 5]],
[[ 6]],
[[ 7]],
[[ 8]],
[[ 9]],
[[10]],
[[11]],
[[12]],
[[13]],
[[14]],
[[15]],
[[16]],
[[17]],
[[18]],
[[19]]])
>>> print(torch.arange(0, 20).view(20, 1, 1).expand(20, 3, 1))
tensor([[[ 0],
[ 0],
[ 0]],
[[ 1],
[ 1],
[ 1]],
[[ 2],
[ 2],
[ 2]],
[[ 3],
[ 3],
[ 3]],
[[ 4],
[ 4],
[ 4]],
[[ 5],
[ 5],
[ 5]],
[[ 6],
[ 6],
[ 6]],
[[ 7],
[ 7],
[ 7]],
[[ 8],
[ 8],
[ 8]],
[[ 9],
[ 9],
[ 9]],
[[10],
[10],
[10]],
[[11],
[11],
[11]],
[[12],
[12],
[12]],
[[13],
[13],
[13]],
[[14],
[14],
[14]],
[[15],
[15],
[15]],
[[16],
[16],
[16]],
[[17],
[17],
[17]],
[[18],
[18],
[18]],
[[19],
[19],
[19]]])
...................................................................................................................................................
z = torch.arange(0, 20).view(20, 1, 1).expand( 20,3, 2) #相当于把原来的元素copy成指定的3行2列
>>> z
tensor([[[ 0, 0],
[ 0, 0],
[ 0, 0]],
[[ 1, 1],
[ 1, 1],
[ 1, 1]],
[[ 2, 2],
[ 2, 2],
[ 2, 2]],
[[ 3, 3],
[ 3, 3],
[ 3, 3]],
[[ 4, 4],
[ 4, 4],
[ 4, 4]],
[[ 5, 5],
[ 5, 5],
[ 5, 5]],
[[ 6, 6],
[ 6, 6],
[ 6, 6]],
[[ 7, 7],
[ 7, 7],
[ 7, 7]],
[[ 8, 8],
[ 8, 8],
[ 8, 8]],
[[ 9, 9],
[ 9, 9],
[ 9, 9]],
[[10, 10],
[10, 10],
[10, 10]],
[[11, 11],
[11, 11],
[11, 11]],
[[12, 12],
[12, 12],
[12, 12]],
[[13, 13],
[13, 13],
[13, 13]],
[[14, 14],
[14, 14],
[14, 14]],
[[15, 15],
[15, 15],
[15, 15]],
[[16, 16],
[16, 16],
[16, 16]],
[[17, 17],
[17, 17],
[17, 17]],
[[18, 18],
[18, 18],
[18, 18]],
[[19, 19],
[19, 19],
[19, 19]]])
>>> z.size()
torch.Size([20, 3, 2])