day1- 创建TENSOR

tensor这个单词一般可译为张量,张量可以看作是一个多维数组。标量可以看作是一个0维张量,向量可以看作1维张量,矩阵可以看做是2维张量

首先导入PyTorch

import torch

创建一个5*3的未初始化的tensor

torch.empty()创建一个使用未初始化值填满的tensor,若电脑显示全为0,表示显卡精度不够

x = torch.empty(5,3)

print(x)
输出结果
tensor([[9.6428e-39, 1.1112e-38, 9.5511e-39],
        [1.0102e-38, 1.0286e-38, 1.0194e-38],
        [9.6429e-39, 9.2755e-39, 9.1837e-39],
        [9.3674e-39, 1.0745e-38, 1.0653e-38],
        [9.5510e-39, 1.0561e-38, 1.0194e-38]])

创建一个5*3的随机初始化Tensor

torch.rand(sizes):返回从区间[0,1)的均匀分布中抽取一组随机数

x = torch.rand(5,3)

print(x)
输出结果
tensor([[0.2646, 0.0520, 0.8037],
        [0.3172, 0.6981, 0.9442],
        [0.2225, 0.8363, 0.4236],
        [0.6014, 0.7321, 0.5833],
        [0.3002, 0.8634, 0.1832]])

创建一个5*3的long型的Tensor

dtype = torch.long表示创建的是长整型

x = torch.zeros(5,3,dtype=torch.long)

print(x)
输出结果
tensor([[0, 0, 0],
        [0, 0, 0],
        [0, 0, 0],
        [0, 0, 0],
        [0, 0, 0]])

可以直接根据数据创建

torch.tensor()函数原型:torch.tensor(data,dtype=None,device=None,requires_grad=False) 其中data可以是:list,tuple,Numpy,ndarray,scalar和其他类型 torch.tensor会从data中的数据部分做拷贝(不是直接引用),根据原始数据生成相应的torch.LomgTensor、torch.FloatTensor和torch.DoubleTensor。

x = torch.tensor([5.5,3])

print(x)
输出结果
tensor([5.5000, 3.0000])

可以通过现有的Tensor来创建,此方法会默认重用输入Tensor的一些属性,例如数据类型,除非自定义数据类型 dtype=torch.float就是类型改为浮点数 dtype=torch.double与dtype=torch.float64相同

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

print(x)
​
x = torch.randn_like(x,dtype=torch.float)#指定新的数据类型
print(x)
输出结果
tensor([[1., 1., 1.],
        [1., 1., 1.],
        [1., 1., 1.],
        [1., 1., 1.],
        [1., 1., 1.]], dtype=torch.float64)
tensor([[ 1.9308, -0.5426, -0.4061],
        [ 0.4690, -0.2970,  1.9803],
        [-0.0143, -1.6829,  1.3402],
        [ 0.7586, -1.0486,  0.8056],
        [-0.8269, -0.3711, -0.4047]])

通过shape或者size()来获取Tensor的形状

print(x.size())

print(x.shape)
输出结果
torch.Size([5, 3])
torch.Size([5, 3])

注意:返回得到torch.Size其实是一个tuple,支持所有的tuple操作

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值