PyTorch_创建张量
在 PyTorch 中,Tensor (张量) 是同一种数据类型的元素的多维矩阵。
在 PyTorch 中,数据都是以张量的形式参与计算的。
在 PyTorch 中,张量本质是一个对象,所以以“类”的形式封装起来,对张量的一些运算,处理的方法被封装在类中。
基本创建方式
- torch.tensor 根据现有的数据创建张量,使用 tensor 函数
- torch.Tensor 根据形状创建张量,其也可用来创建指定数据的张量,使用 Tensor 类来创建
- torch.IntTensor, torch.FloatTensor, torch.DoubleTensor 创建指定类型的张量
代码
import torch
import numpy as np # 根据已有的数据创建张量
def test01():# 创建标量data = torch.tensor(10)print(data)# 使用numpy数组来创建张量# 使用 numpy 数组来创建张量data1 = np.random.randn(2, 3)data = torch.tensor(data1)print(data)# 使用 list 列表创建张量data2 = [[1, 2., 4], [1.3, 4.3, 5.2]]data = torch.tensor(data2)print(data)# 创建指定形状的张量
def test02():# 创建两行三列的张量data = torch.Tensor(2, 3)print(data)# 可以创建指定值的张量data = torch.Tensor([2, 3])print(data)# 创建标量data = torch.Tensor([10])print(data)# 创建指定类型的张量
def test03():# 创建一个 int32 类型的张量data = torch.IntTensor(2, 3)print(data)# 注意:如果创建指定类型的张量,但是传递的数据不匹配,会发生类型转换data = torch.IntTensor([2.5, 3.5])print(data)if __name__ == "__main__":# test01()# test02()test03()