详解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+django实现简单的文件上传
Aug 17 Python
在python中使用正则表达式查找可嵌套字符串组
Oct 24 Python
GitHub 热门:Python 算法大全,Star 超过 2 万
Apr 29 Python
一篇文章彻底搞懂Python中可迭代(Iterable)、迭代器(Iterator)与生成器(Generator)的概念
May 13 Python
在python中,使用scatter绘制散点图的实例
Jul 03 Python
Python3 venv搭建轻量级虚拟环境的步骤(图文)
Aug 09 Python
Python爬取破解无线网络wifi密码过程解析
Sep 17 Python
PyTorch 解决Dataset和Dataloader遇到的问题
Jan 08 Python
利用Python自动化操作AutoCAD的实现
Apr 01 Python
Eclipse配置python默认头过程图解
Apr 26 Python
Python 实现一行输入多个数字(用空格隔开)
Apr 29 Python
Python3自定义json逐层解析器代码
May 11 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
thinkphp3.0输出重复两次的解决方法
2014/12/19 PHP
php中smarty模板条件判断用法实例
2015/06/11 PHP
让textarea控件的滚动条怎是位与最下方
2007/04/20 Javascript
js类型检查实现代码
2010/10/29 Javascript
js导入导出excel(实例代码)
2013/11/25 Javascript
js 左右悬浮对联广告特效代码
2014/12/12 Javascript
jQuery插件制作的实例教程
2016/05/16 Javascript
AngularJS 路由详解和简单实例
2016/07/28 Javascript
input file上传 图片预览功能实例代码
2016/10/25 Javascript
Jquery 整理元素选取、常用方法一览表
2016/11/26 Javascript
Bootstrap modal 多弹窗之叠加显示不出弹窗问题的解决方案
2017/02/23 Javascript
详解用webpack2.0构建vue2.0超详细精简版
2017/04/05 Javascript
iOS + node.js使用Socket.IO框架进行实时通信示例
2017/04/14 Javascript
详解各版本React路由的跳转的方法
2018/05/10 Javascript
vue-cli安装使用流程步骤详解
2018/11/08 Javascript
JavaScript 面向对象基础简单示例
2019/10/02 Javascript
JS数组的常用10种方法详解
2020/05/08 Javascript
Vuex实现简单购物车
2021/01/10 Vue.js
python标准算法实现数组全排列的方法
2015/03/17 Python
详解python单例模式与metaclass
2016/01/15 Python
Python OpenCV利用笔记本摄像头实现人脸检测
2020/08/20 Python
详解python列表(list)的使用技巧及高级操作
2019/08/15 Python
Python常用类型转换实现代码实例
2020/07/28 Python
Python实现淘宝秒杀功能的示例代码
2021/01/19 Python
天美时手表加拿大官网:Timex加拿大
2016/09/01 全球购物
德国2018年度最佳在线药房:Bodfeld Apotheke
2019/11/04 全球购物
Lancer Skincare官方网站:抗衰老皮肤护理
2020/11/20 全球购物
工地门卫岗位职责
2013/12/30 职场文书
高中生活自我鉴定
2014/01/18 职场文书
社区平安建设方案
2014/05/25 职场文书
申报材料格式
2014/12/30 职场文书
中秋节主题班会
2015/08/14 职场文书
严以律己学习心得体会
2016/01/13 职场文书
2016年大学光棍节活动总结
2016/04/05 职场文书
vue-element-admin项目导入和导出的实现
2021/05/21 Vue.js
redis实现的四种常见限流策略
2021/06/18 Redis