当前位置: 首页 > news >正文

pytorch基本运算-PyTorch.Tensor张量数据类型

【1】引言

前序学习进程中,我们已经了解了一些PyTorch的基本运算,比如控制流梯度、分离计算、梯度运算等。
实际上这个入门显得比较急躁,因此今天暂时回过头来学一下关于Tensor的基本定义。
件提案的学习参考书籍是:廖星宇著《深度学习入门之PyTorch》

【2】张量类型测试

前序我们已经知道,Tensor模块定义了张量,但具体的,Tensor实际上有不同类型。
Torch.Float

模块精度类型
Torch.FloatTensor32浮点型
Torch.DoubleTensor64浮点型
Torch.ShortTensor16整型
Torch.IntTensor32整型
Torch.LongTensor64整型

我们平常定义torch.Tensor()时,如果输入的是整数,默认是64位整型LongTensor张量;如果输入的是浮点数,默认是32位浮点型torch.FloatTensor()张量。
如何在PyTorch中输出张量的具体类型,需要使用Tensor.type()函数。
请看测试代码

a0=torch.tensor([[2,3],[5,6],[7,9]])
print('a0=',a0,'Tensor Type=',a0.type())
a=torch.tensor([[2.0,3],[5,6],[7,9]])
print('a=',a,'Tensor Type=',a.type())

输出效果为:
在这里插入图片描述
然后是整型张量的测试代码:

b=torch.IntTensor([[2.1,3],[5,6],[7,9]])
print('b=',b,'Tensor Type=',b.type())
c=torch.ShortTensor([[2.2,3],[5,6],[7,9]])
print('c=',c,'Tensor Type=',c.type())
d=torch.LongTensor([[2.3,3],[5,6],[7,9]])
print('d=',d,'Tensor Type=',d.type())

输出效果为:
在这里插入图片描述
这里有一个细节,16位和32位整型数据会在输出张量的时候自动标注,也就是如果输出的整型张量没有任何标注,那这个张量就是64位整型张量。
然后是浮点型张量测试代码:

e=torch.FloatTensor([[2.4,3],[5,6],[7,9]])
print('e=',e,'Tensor Type=',e.type())
f=torch.DoubleTensor([[2.5,3],[5,6],[7,9]])
print('f=',f,'Tensor Type=',f.type())

输出效果为:
在这里插入图片描述
这里64位整浮点型数据在输出张量的时候自动标注,如果输出的浮点型张量没有任何标注,那这个张量就是32位浮点型张量。
至此的完整代码为:

# 引入模块
import torch# 不同类型张量测试
a0=torch.tensor([[2,3],[5,6],[7,9]])
print('a0=',a0,'Tensor Type=',a0.type())
a=torch.tensor([[2.0,3],[5,6],[7,9]])
print('a=',a,'Tensor Type=',a.type())
b=torch.IntTensor([[2.1,3],[5,6],[7,9]])
print('b=',b,'Tensor Type=',b.type())
c=torch.ShortTensor([[2.2,3],[5,6],[7,9]])
print('c=',c,'Tensor Type=',c.type())
d=torch.LongTensor([[2.3,3],[5,6],[7,9]])
print('d=',d,'Tensor Type=',d.type())
e=torch.FloatTensor([[2.4,3],[5,6],[7,9]])
print('e=',e,'Tensor Type=',e.type())
f=torch.DoubleTensor([[2.5,3],[5,6],[7,9]])
print('f=',f,'Tensor Type=',f.type())

【3】总结

学习了不同的PyTorch.Tensor张量数据类型。

http://www.dtcms.com/a/393022.html

相关文章:

  • 数据结构与算法 第三章 栈
  • Spring Boot 整合 MyBatis:从入门到企业级实践
  • FHook Java 层全函数 HOOK 框架
  • TDengine 聚合函数 STDDEV_POP 用户手册
  • 【 嵌入式Linux应用开发项目 | Rockit + FFmpeg+ Nginx】基于泰山派的IPC网络摄像头
  • 机器学习中的高准确、低召回
  • Go基础:Go基本数据类型详解
  • 项目管理(一)
  • 【STM8L101 执行函数FLASH_ProgramBlock出现问题】
  • ​​[硬件电路-278]:双向双电源电平转换收发器74AXP2T45DCH功能概述、管脚定义
  • 音视频同步的原理和实现方式
  • BUG调试案例十八:TPS5430输出震荡问题案例
  • Python读取Excel文件里面指定列中的指定范围行
  • C语言入门教程 | 阶段二:控制结构详解(条件语句与 switch 语句)
  • Linux 4.x hook系统调用的问题
  • 了解 Highcharts 响应式功能:构建适配各种屏幕的图表界面
  • 逻辑分析仪解码脚本实例解析——UART
  • 垃圾回收中的STW是什么?
  • redis未授权漏洞扫描器
  • LTE/EPC 架构
  • ANSYS学习
  • 【python】安装jieba库
  • tyza66的博客:专注软件开发、全栈开发与开源项目的技术分享
  • Redis最佳实践——购物车优化详解
  • Netty从0到1系列之Netty内存管理【下】
  • 【使用函数求余弦COS函数的近似值】2022-11-27
  • 前端违规页面车主信息优化说明
  • 成功安装了 Anaconda3。要启动它,您有以下几种主要方式:方式一:通过“开始菜单”启动(最直接的方法)1. 点击您电脑屏幕左下角的 “开始菜单”(Win
  • flex布局实现导航栏横向滚动切换
  • 改进过程缺乏数据驱动会带来哪些后果