pytorch基础学习(一):torch.tensor的用法1

tensor提供GPU计算和自由梯度

import torch

#然后我们创建⼀一个5x3的未初始化的 Tensor
x = torch.empty(5, 3)
print(x)
#结果
tensor([[1.0469e-38, 9.3674e-39, 9.9184e-39],
        [8.7245e-39, 9.2755e-39, 8.9082e-39],
        [9.9184e-39, 8.4490e-39, 9.6429e-39],
        [1.0653e-38, 1.0469e-38, 4.2246e-39],
        [1.0378e-38, 9.6429e-39, 9.2755e-39]])

#创建⼀一个5x3的随机初始化的 Tensor 
x = torch.rand(5, 3)
print(x)
#结果
tensor([[0.8418, 0.2582, 0.4933],
        [0.6190, 0.2498, 0.7388],
        [0.6290, 0.5832, 0.4330],
        [0.0609, 0.6176, 0.6520],
        [0.1333, 0.3050, 0.5537]])
#直接根据数据创建Tensor
x = torch.tensor([5.5, 3])
print(x)
#结果
tensor([5.5000, 3.0000])

通过现有的 Tensor 来创建,此⽅方法会默认重⽤用输⼊入 Tensor 的⼀一些属性,例例如数据类型,除⾮非 ⾃自定义数据类型。

我们可以通过 shape 或者 size() 来获取 Tensor 的形状:

x = torch.randn_like(x, dtype=torch.float) # 指定新的数据类型 
print(x)
print(x.size())
print(x.shape)

注意:返回的torch.Size其实就是⼀一个tuple, ⽀支持所有tuple的操作。

Tensor的常见用法

#基础构造函数
a=torch.Tensor(3,5)
print(a)

#类似np,array的构造函数
scalar = torch.tensor(3.14159)
vector = torch.tensor([1, 2])
print(scalar)
print(vector)

#全1Tensor
x = x.new_ones(5, 3, dtype=torch.float64) # 返回的tensor默认具有相同的 torch.dtype和torch.device 
print(x)

#全0Tensor
x = x.new_zeros(5, 3, dtype=torch.float64) # 返回的tensor默认具有相同的 torch.dtype和torch.device 
print(x)

#对⻆角线为1,其他为0
x = torch.eye(3, 3, dtype=torch.float64) # 返回的tensor默认具有相同的 torch.dtype和torch.device 
print(x)

#arange(s,e,step)   从s到e,步⻓长为step
a=torch.arange(1,6,2)
print(a)

#linspace(s,e,steps)   从s到e,均匀切分成steps份
lis=torch.linspace(1,6,2)
print(lis)

#均匀/标准分布
r=torch.randn(1,5)
print(r)

# mean:张量 std: 张量
mean = torch.arange(1, 5, dtype=torch.float)
std = torch.arange(1, 5, dtype=torch.float)
t_normal = torch.normal(mean, std)
print("t_normal是\n",t_normal)

# mean:标量 std: 标量
t_normal = torch.normal(0., 1., size=(5,))
print("torch.normal(0., 1., size=5,))输出\n",t_normal)

# mean:标量 std: 标量
t_normal = torch.normal(0., 1., size=(5,))
print("torch.normal(0., 1., size=5,))输出\n",t_normal)

#随机排列列
ra=torch.randperm(5)
print(ra)

  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值