积跬步至千里 || PyTorch 中 shape 和 size 属性的区别

PyTorch 中 shape 和 size 属性的区别

在深度学习中,张量 Tensor 和 向量 array 有相似之处,不同的在于 Tensor 兼具了求导的属性。张量和向量一样,可以表示多维矩阵,也同样都有 shape 和 size 属性。

PyTorch 中 shape 可以计算出各个维数的个数,即表示多维矩阵的形状;
PyTorch 中 size() 可通过参数计算出特定维度上的元素数目。

下面的例子可以更好地解释两者的区别

import torch

a = torch.rand(1,3,2)
print('a = ',a)

print('\n张量 a 的形状为:', a.shape)

print('\n张量 a 的第 0 维元素的个数为:', a.size(0))
print('张量 a 的第 1 维元素的个数为:', a.size(1))
print('张量 a 的第 2 维元素的个数为:', a.size(2))

输出结果

a =  tensor([[[0.3956, 0.5683],
         [0.1137, 0.5467],
         [0.1321, 0.7452]]])

张量 a 的形状为: torch.Size([1, 3, 2])

张量 a 的第 0 维元素的个数为: 1
张量 a 的第 1 维元素的个数为: 3
张量 a 的第 2 维元素的个数为: 2

你可能感兴趣的:(积跬步至千里,pytorch,人工智能,python)