当前位置:   article > 正文

pytorch中创建Tensor张量的几种方法_torch.tensor 随机生成张量

torch.tensor 随机生成张量

以下所有例子没有打印输出,要验证结果请自行打印

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]])
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

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矩阵
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

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相同
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

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相同数据类型的张量
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

Done!!!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/95278
推荐阅读
相关标签
  

闽ICP备14008679号