Pytorch——tensor

1. 张量

a.dim=0:常量(scaler)
b.dim=1:向量(vector)
c.dim=2:矩阵(matrix)
d.dim=3:3阶张量

2. 创建tensor

a.从列表中创建

Tensor 入图片描述 (其中Tensor默认数据类型是float,所以创建的张量会带有“.”)

b.从numpy中创建

在这里插入图片描述

c.使用torch中的api创建

torch.empty()_创建一个值为空的tensor
在这里插入图片描述

torch.zeros()_创建一个值全为0的tensor
在这里插入图片描述
torch.randint(low=a,high=b,size=[x,y])创建一个3行4列的tensor,随机值的区间是[low,high)
在这里插入图片描述

3.张量的属性

a.获取tensor中的数据(当tensor中只有一个元素可用),tensor.item()

在这里插入图片描述
当tensor中不是一个元素的时候,就不能用item(),会报错,显示只有一个只有一个元素张量可以转换为 Python 标量在这里插入图片描述

b.转化为numpy数组在这里插入图片描述

c. 形状的改变x.view

在这里插入图片描述
将x由原来的32改为23,且原来的值以及形状不变
关于x.view(-1,…)之类的可以参考这篇博客torch x = x.view(-1, …)理解

d. 获取维度

在这里插入图片描述

e.转置transpose

x.transpose(1,0)
tensor([[1, 3, 5],
        [2, 4, 6]])

有关transpose和permute的用法参考转置
permute适合高维的操作,而transpose只适和二维。

f.取值切片操作

先创建一个tensor

t4=torch.tensor(np.arange(24).reshape(3,4,2))
t4
tensor([[[ 0,  1],
         [ 2,  3],
         [ 4,  5],
         [ 6,  7]],
        [[ 8,  9],
         [10, 11],
         [12, 13],
         [14, 15]],
        [[16, 17],
         [18, 19],
         [20, 21],
         [22, 23]]], dtype=torch.int32)

若想取到“13”,则进行如下代码

t4[1,2,1]
tensor(13, dtype=torch.int32)

关于reshapeh的详解可以参考这篇reshape
size的用法可以参考size

4.Tensor和tensor

在pytorch中使用torch.Tensor()和torch.tensor()都能创建张量。
在这里插入图片描述
从上图可以看出,使用torch.Tensor()创建的张量是float类型,使用torch.tensor()创建的类型是长整型。
torch.Tensor()是python的一个类,torch.tensor()是python的一个函数。

用法的不同之处:
在这里插入图片描述
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值