详解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使用pyqt写带界面工具的示例代码
Oct 23 Python
python创建列表和向列表添加元素的实现方法
Dec 25 Python
django限制匿名用户访问及重定向的方法实例
Feb 07 Python
python文件拆分与重组实例
Dec 10 Python
Python实现的登录验证系统完整案例【基于搭建的MVC框架】
Apr 12 Python
python tkinter图形界面代码统计工具
Sep 18 Python
Python 迭代,for...in遍历,迭代原理与应用示例
Oct 12 Python
python实现大学人员管理系统
Oct 25 Python
python的pyecharts绘制各种图表详细(附代码)
Nov 11 Python
Python实现中值滤波去噪方式
Dec 18 Python
python垃圾回收机制(GC)原理解析
Dec 30 Python
Python使用Chrome插件实现爬虫过程图解
Jun 09 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获取某个目录大小的代码
2008/09/10 PHP
PHP 超链接 抓取实现代码
2009/06/29 PHP
php下把数组保存为文件格式的实例应用
2010/02/08 PHP
PHP中include与require使用方法区别详解
2013/10/19 PHP
php对文件进行hash运算的方法
2015/04/03 PHP
拖拉表格的JS函数
2008/11/20 Javascript
javascript 三种编解码方式
2010/02/01 Javascript
juqery 学习之四 筛选查找
2010/11/30 Javascript
javascript 中String.match()与RegExp.exec()的区别说明
2013/01/10 Javascript
JS+CSS设置img在DIV中只显示Img垂直居中的部分
2013/10/24 Javascript
javascript 函数及作用域总结介绍
2013/11/12 Javascript
关于JS数组追加数组采用push.apply的问题
2014/06/09 Javascript
jQuery构造函数init参数分析续
2015/05/13 Javascript
jQuery插件编写步骤详解
2016/06/03 Javascript
jQuery提示插件qTip2用法分析(支持ajax及多种样式)
2016/06/08 Javascript
Node.js中环境变量process.env的一些事详解
2017/10/26 Javascript
jQuery实现的淡入淡出与滑入滑出效果示例
2018/04/18 jQuery
Vue项目中使用WebUploader实现文件上传的方法
2019/07/21 Javascript
JQuery发送ajax请求时中文乱码问题解决
2019/11/14 jQuery
vue+ElementUI 关闭对话框清空验证,清除form表单的操作
2020/08/06 Javascript
vue中的.$mount('#app')手动挂载操作
2020/09/02 Javascript
nuxt.js添加环境变量,区分项目打包环境操作
2020/11/06 Javascript
python自然语言编码转换模块codecs介绍
2015/04/08 Python
Python变量和字符串详解
2017/04/29 Python
用Python编写一个简单的CS架构后门的方法
2018/11/20 Python
浅谈pytorch torch.backends.cudnn设置作用
2020/02/20 Python
把Anaconda中的环境导入到Pycharm里面的方法步骤
2020/10/30 Python
python实现学生通讯录管理系统
2021/02/25 Python
Html5嵌入钉钉的实现示例
2020/06/04 HTML / CSS
全球酒店预订网站:Hotels.com
2016/08/10 全球购物
Skyscanner阿联酋:全球领先的旅游搜索平台
2017/11/25 全球购物
文件中有一组整数,要求排序后输出到另一个文件中
2012/01/04 面试题
新入职员工的自我介绍演讲稿
2014/01/02 职场文书
护士进修自我鉴定
2014/02/07 职场文书
政治表现评语
2014/05/04 职场文书
PHP设计模式(观察者模式)
2021/07/07 PHP