以下所有例子没有打印输出,要验证结果请自行打印
1,将python列表和numpy数组转换为pytorch张量
import numpy as np
import torch
a = torch.tensor([1, 2, 3, 4]) # 将python列表转换为torch张量
b = torch.tensor([1, 2, 3, 4], dtype=torch.float32) # 将python列表转换为torch张量并指定数据类型
c = torch.tensor(range(10)) # 转换迭代器为张量
d = torch.tensor(np.array([1, 2, 3, 4])) #转换numpy数组为pytorch张量
e = torch.tensor([[1, 2, 3], #列表嵌套创建张量
[4, 5, 6]])
2,通过pytorch内置的函数创建张量
import torch
a = torch.rand(3, 3) #生成3*3的矩阵,矩阵元素服从[0,1]上的均匀分布
b = torch.randn(2, 3, 4) #生成2*3*4的张量,服从标准正态分布
c = torch.zeros(4, 2, 3) # 生成4*2*3,张量元素全为0
d = torch.ones(3, 4, 2) # 生成3*4*2,张量元素全为1
e = torch.eye(3) # 生成3*3的单位矩阵
f = torch.randint(0, 10, (3, 3)) # 生成0(包含)到10(不包含)之间均匀分布整数的3X3矩阵
3,通过已知张量创建形状相同的张量
import torch
a = torch.randn(3, 3) # 生成一个随机正态分布的张量
b = torch.zeros_like(a) # 生成一个元素全为0的张量,形状和给定张量a相同
c = torch.ones_like(a) # 生成一个元素全为0的张量,形状和给定张量a相同
d = torch.rand_like(a) # 生成一个元素服从(0,1)上的均匀分布的张量,形状和给定张量a相同
e = torch.randn_like(a) # 生成一个元素服从标准正太分布的张量,形状和给定张量a相同
4,通过已知张量创建形状不同但数据类型相同的张量
import torch
a = torch.randn(3, 3) # 生成一个随机正态分布的张量
b = a.new_tensor([1, 2, 3]) # 根据Python列表生成与a相同数值类型的张量
c = a.new_zeros(3, 3) # 生成元素全为0且与a相同数据类型的张量
d = a.new_ones(3, 3) # 生成元素全为1且与a相同数据类型的张量
Done!!!