pytorch中创建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]])

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!!!

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CrystalheartLi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值