详解pytorch tensor和ndarray转换相关总结


Posted in Python onSeptember 03, 2020

在使用pytorch的时候,经常会涉及到两种数据格式tensor和ndarray之间的转换,这里总结一下两种格式的转换:

1. tensor cpu 和tensor gpu之间的转化:

tensor cpu 转为tensor gpu:
tensor_gpu = tensor_cpu.cuda()

>>> tensor_cpu = torch.ones((2,2))
tensor([[1., 1.],
    [1., 1.]])
>>> tensor_gpu = tensor_cpu.cuda()
tensor([[1., 1.],
    [1., 1.]], device='cuda:0')

tensor gpu 转为tensor cpu:
tensor_cpu = tensor_gpu.cuda()

>>> tensor_gpu.cpu()
tensor([[1., 1.],
    [1., 1.]])

2. tensor cpu 和 ndarray 之间的转化:

tensor cpu 转为 ndarray:

>>> np_array= tensor_cpu.numpy()
array([[1., 1.],
    [1., 1.]], dtype=float32)

ndarray 转为 tensor cpu:
注:ndarray的默认精度为64位,Tensor的默认精度位32位,所以通过Tensor直接转换的话,精度会转换到32位,若通过from_numpy的方式,则会保留原来64位精度

>>> torch.from_numpy(np.ones((2,2)))
tensor([[1., 1.],
    [1., 1.]], dtype=torch.float64)
>>> torch.Tensor(np.ones((2,2)))
tensor([[1., 1.],
    [1., 1.]])

3. tensor cpu 和 scalar 之间的转化:

如果只是训练了一个简单的分类网络,对单个样本的输出会是一个标量(scalar)

>>>torch.ones((1,1)).item()
1.0

通过一张图说明三者的转化方式:

详解pytorch tensor和ndarray转换相关总结

到此这篇关于详解pytorch tensor和ndarray转换相关总结的文章就介绍到这了,更多相关pytorch tensor和ndarray转换内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python 错误和异常小结
Oct 09 Python
python调用cmd命令行制作刷博器
Jan 13 Python
介绍Python中的__future__模块
Apr 27 Python
Python pymongo模块用法示例
Mar 31 Python
Python实现判断一行代码是否为注释的方法
May 23 Python
python使用turtle库与random库绘制雪花
Jun 22 Python
Django 创建新App及其常用命令的实现方法
Aug 04 Python
基于python的selenium两种文件上传操作实现详解
Sep 19 Python
python 求10个数的平均数实例
Dec 16 Python
Pytorch 多维数组运算过程的索引处理方式
Dec 27 Python
python3.7调试的实例方法
Jul 21 Python
python基于openpyxl生成excel文件
Dec 23 Python
python开发入门——列表生成式
Sep 03 #Python
Pytorch之Tensor和Numpy之间的转换的实现方法
Sep 03 #Python
Python 多线程C段扫描、检测 Ping扫描脚本的实现
Sep 03 #Python
Python开发入门——迭代的基本使用
Sep 03 #Python
Python 整行读取文本方法并去掉readlines换行\n操作
Sep 03 #Python
Python多分支if语句的使用
Sep 03 #Python
Python判断字符串是否为合法标示符操作
Sep 03 #Python
You might like
使用PHP遍历文件目录与清除目录中文件的实现详解
2013/06/24 PHP
PHP轻量级数据库操作类Medoo增加、删除、修改、查询例子
2014/07/04 PHP
apache中为php 设置虚拟目录
2014/12/17 PHP
php的闭包(Closure)匿名函数初探
2016/02/14 PHP
PHP目录与文件操作技巧总结(创建,删除,遍历,读写,修改等)
2016/09/11 PHP
php根据数据id自动生成编号的实现方法
2016/10/16 PHP
php 反斜杠处理函数addslashes()和stripslashes()实例详解
2016/12/25 PHP
php桥接模式应用案例分析
2019/10/23 PHP
jsTree树控件(基于jQuery, 超强悍)[推荐]
2009/09/01 Javascript
jquery实现可拖拽弹出层特效
2015/01/04 Javascript
JavaScript删除指定子元素代码实例
2015/01/13 Javascript
JQuery显示隐藏页面元素的方法总结
2015/04/16 Javascript
jQuery实现的超酷苹果风格图标滑出菜单效果代码
2015/09/16 Javascript
jQuery实现点击按钮文字变成input框点击保存变成文字
2016/05/09 Javascript
基于JavaScript实现多级菜单效果
2017/07/25 Javascript
简单实现jquery隔行变色
2017/11/09 jQuery
React Native之prop-types进行属性确认详解
2017/12/19 Javascript
动态加载权限管理模块中的Vue组件
2018/01/16 Javascript
Rollup处理并打包JS文件项目实例代码
2018/05/31 Javascript
QRCode.js二维码生成并能长按识别
2018/10/16 Javascript
JavaScript this绑定过程深入详解
2018/12/07 Javascript
BootStrap模态框闪退问题实例代码详解
2018/12/10 Javascript
微信小程序webview与h5通过postMessage实现实时通讯的实现
2019/08/20 Javascript
开发Node CLI构建微信小程序脚手架的示例
2020/03/27 Javascript
JavaScript事件循环及宏任务微任务原理解析
2020/09/02 Javascript
Javascript实现贪吃蛇小游戏(含详细注释)
2020/10/23 Javascript
总结用Pdb库调试Python的方式及常用的命令
2016/08/18 Python
详解python的webrtc库实现语音端点检测
2017/05/31 Python
Python之循环结构
2019/01/15 Python
详解DeBug Python神级工具PySnooper
2019/07/03 Python
Python实现word2Vec model过程解析
2019/12/16 Python
Python实现名片管理系统
2020/02/14 Python
CSS3 animation实现逐帧动画效果
2016/06/02 HTML / CSS
2015年社区消防安全工作总结
2015/10/14 职场文书
Spring Bean的实例化之属性注入源码剖析过程
2021/06/13 Java/Android
Java生成读取条形码和二维码的简单示例
2021/07/09 Java/Android