IT评测·应用市场-qidao123.com

标题: pytorch学习条记2 创建tensor [打印本页]

作者: tsx81429    时间: 2024-7-31 17:46
标题: pytorch学习条记2 创建tensor
1 从numpy导入

  1. a=np.array([2,3.3])
  2. torch.from_numpy(a)
  3. b=np.ones([2,3])
  4. torch.from_numpy(b)
复制代码
2从list导入

  1. torch.tensor([2.,3.2])
  2. torch.FloatTensor([2.,3.2])
  3. torch.tensor([[2.,3.2],
  4.                           [1.,22.3]])  
复制代码
3 未初始化的随机数据


缺省范例


rand/rand_like, randint随机初始化


  1. a=torch.rand(3,3)
  2. b=torch.rand_like(a)
  3. c=torch.randint(1,100,[3,3])
复制代码
产生的
a: tensor([[0.1458, 0.5103, 0.6855],
[0.1972, 0.6910, 0.4974],
[0.2994, 0.0315, 0.1111]])
b: tensor([[0.0386, 0.2902, 0.7586],
[0.0865, 0.8761, 0.0327],
[0.2937, 0.8082, 0.7511]])
c: tensor([[24, 78, 58],
[48, 23, 79],
[16, 78, 36]])
randn 正态分布初始化

N(0,1)
N(u,std)
  1. torch.randn(3,3) #产生3X3,均值0,方差1正态分布
  2. torch.normal(mean=torch.full([10],0),std=torch.arange(1,0,-0.1)) #产生一个10个元素,每个元素均值(mean=指定)都是0,每个的方差是[1,0.9,0.8...,0.1]变化的随机数
复制代码
full

torch.full([2,3],7) #产生一个2X3,值满是7的tensor
torch.full([ ],7) #产生一个0维,值是7的tensor(7.)
torch.full([1],7) #产生一个1维(该维长度是1),值是7的tensor([7.])
arange/ range(不发起用)

  1. torch.arange(0,10)
  2. #产生 tensor([0,1,2,3,4,5,6,7,8,9])
  3. torch.arange(0,10,2)
  4. #产生 tensor([0,2,4,6,8])
复制代码
linspace/logspace

  1. torch.linspace(0,10,steps=4)  #4是数量,不是间隔,自动计算平均分布间隔
  2. #产生 tensor([0.0000, 3.3333, 6.6667, 10.0000])
  3. torch.linspace(0,10,steps=11)
  4. #产生 tensor([0., 1., 2., 3., 4., 5., 6., 7., 8., 9., 10.])
  5. torch.logspace(0,-1,steps=10) # 先产生10个平均分布的0->-1的数[0,-0.111,-0.2222,...,-1.0](假如记为mlist),再得到10的各个幂(即10**mlist)
  6. #得到tensor([1.0000, 0.7743, 0.5995, 0.4642, 0.3594, 0.2783, 0.2154, 0.1668, 0.1292,
  7.         0.1000])
复制代码
ones/zeros/eye



randperm 随机打散



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 IT评测·应用市场-qidao123.com (https://dis.qidao123.com/) Powered by Discuz! X3.4