对于Numpy数据类型
shape和size都是属于Numpy的属性
arr.shape
将返回一个包含两个元素的元组,例如 (m, n)
,其中 m
表示数组的行数,n
表示数组的列数。arr.size
将返回数组中元素的总数。举例:
输入:
import numpy as np
# 创建一个 3x4 的二维数组
arr = np.array([[1, 2, 3, 4],
[5, 6, 7, 8],
[9, 10, 11, 12]])
# 使用 shape 获取数组的维度信息
arr_shape = arr.shape
# 使用 size 获取数组中元素的总数
arr_size = arr.size
print("Array Shape:", arr_shape) # 输出数组的形状,对应 (行数, 列数)
print("Array Size:", arr_size) # 输出数组中元素的总数
输出:
Array Shape: (3, 4)
Array Size: 12
对于Tensor数据类型
size是属于Tensor的方法,shape是属于Tensor的属性
tensor.shape
是沿用了Numpy的使用习惯tensor.size
()是专属于tensor的返回数据形状的方法所以上面两个返回的是一样的,只不过一个是属性一个是方法(属性调用的时候不用加(),但方法调用时需要加())
举例:
输入:
import torch
a =torch.tensor([[1, 2, 3, 4],
[5, 6, 7, 8],
[9, 10, 11, 12]])
print('a.shape')
print(a.shape)
print('a.size()')
print(a.size())
输出:
a.shape
torch.Size([3, 4])
a.size()
torch.Size([3, 4]
Numpy的size属性和Tensor的size()方法有什么关系
这两者之间并没有直接的关系。它们只是在不同的背景下为了类似的目的而命名相似