1. 从np中读取
a = np.array([1,2,3,4.2])
b = torch.from_numpy(a)
2. 直接读取list
a = [1,2,3,4,5.1]
b = torch.tensor(a)
c = torch.tensor([1,2,3])
3. 直接生成
a = torch.Tensor(2,3)
b = torch.FloatTensor(2,3)
c = torch.IntTensor(2,3)
这里注意 torch.Tensor(2,3) ,默认生成 torch.FloatTensor 类型的数据。
还要注意 torch.Tensor(2,3), 和 torch.tensor([2, 3]) 的区别,后者是读取列表的数据,前者的参数是tensor的维度
还有一种并不推荐使用的方法:
容易发生混淆,所以不推荐使用。
默认的tensor类型可以更改:
torch.set_default_tensor_type(torch.DoubleTensor)
这样使用torch.Tensor torch,tensor等方法时,生成的类型就成了Double类型了
4. 随机数据
torch.rand(2,3)
torch.randn(2,3)
rand生成的数据在区间[0, 1)均匀分布,randn满足标准正态分布。
5. 其他(太糟心了,其他都写道这里面)
1,10是随机区间,[2,3]是维度。
rand_like() 随机一个维度相同的。
full()函数。
arange 类似python的arange
1,10 表示区间,6表示数量,从1-10均分
10的x次方,x取0-1均分4个
ones和zeros
对角矩阵
0-x的随机打乱。