记录一下pytorch中tensor的底层存储方式,维度变换permute/view/reshape,维度大小和数目。
tensor的底层存储方式
tensor的底层存储是按照行优先的原则存储的,比如:
>>import torch
>>a=tensor.rand((2,2,3))
>>a
tensor([[[0.1345,0.4907,0.8740],
[0.4888,0.5481,0.8513]],
[[0.1015,0.9427,0.8660],
[0.5832,0.6661,0.4127]]])
#底层存储是按照行优先的原则存储,一般地址连续
# (0.1345,0.4907,0.8740,0.4888,0.5481,0.8513,0.1015,0.9427,0.8660,0.5832,0.6661,0.4127)
tensor维度变换permute/transpose/view/reshape
permute/transpose
permute是按照指定的顺序进行维度互换,比如按照第0,2,1维进行维度变换转置:
>