tensor
tensor概念
1.tensor(张量)是什么?
tensor是pytorch最基本的操作对象,表示的是一个多维的矩阵。
tensor与numpy相对应,可与numpy的ndarray相互转换。但pytorch可以再GPU上运行,ndarray只能在CPU上运行。
2.tensor的属性
#tensor的属性介绍
dtype 数据类型,如torch.FloatTensor,torch.cuda.FloatTensor
shape 形状
device tensor所在的设备,CPU/GPU
#以下下属性在pytorch4.0以后才有,具体属性介绍可查看variable的属性介绍
grad, grad_fn, requires_grad, is_leaf
创建tensor
直接创建
#格式
'''
t = torch.tensor(
data=[1, 1, 1], # 可以是list,numpy
dtype=torch.float64, # 注意与data一致,默认为None
device=None,
requires_grad=False,
pin_memory=False # 是否将tensor存于锁页内存
)
'''
#直接创建案例
arr = np.ones((5, 5))
print("ndarray的数据类型为:", arr.dtype)
t = torch.tensor(arr)
# t = torch.tensor(arr,device='cuda') #将tensor放入GPU中
print(t)
运行结果:
依据数值创建
#格式
'''
t = torch.from_numpy(ndarray)
#note:此处所得的tensor与ndarray共享内存,会同时变动
'''
#根据数值创建
arr = np.array([[1,2,3],[4,5