详解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的描述符(descriptor)、装饰器(property)造成的一个无限递归问题分享
Jul 09 Python
Python 抓取动态网页内容方案详解
Dec 25 Python
详解C++编程中一元运算符的重载
Jan 19 Python
wxpython中自定义事件的实现与使用方法分析
Jul 21 Python
Python爬虫DNS解析缓存方法实例分析
Jun 02 Python
python selenium 对浏览器标签页进行关闭和切换的方法
May 21 Python
Python模拟简单电梯调度算法示例
Aug 20 Python
windows下python 3.6.4安装配置图文教程
Aug 21 Python
python中for循环输出列表索引与对应的值方法
Nov 07 Python
详解python之heapq模块及排序操作
Apr 04 Python
Pytorch之保存读取模型实例
Dec 30 Python
Python函数参数定义及传递方式解析
Jun 10 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作的文本留言本的例子(三)
2006/10/09 PHP
用php实现百度网盘图片直链的代码分享
2012/11/01 PHP
apache配置虚拟主机的方法详解
2013/06/17 PHP
php发送post请求函数分享
2014/03/06 PHP
PHP 返回数组后处理方法(开户成功后弹窗提示)
2017/07/03 PHP
js实现点击注册按钮开始读秒倒计时的小例子
2013/05/11 Javascript
js判断为空Null与字符串为空简写方法
2014/02/24 Javascript
javascript合并表格单元格实例代码
2016/01/03 Javascript
详解JavaScript表单验证(E-mail 验证)
2016/03/31 Javascript
JavaScript定义全局对象的方法示例
2017/01/12 Javascript
详解swiper在vue中的应用(以3.0为例)
2018/09/20 Javascript
微信小程序实现留言功能
2018/10/31 Javascript
vue制作toast组件npm包示例代码
2020/10/29 Javascript
jQuery实现可以扩展的日历
2020/12/01 jQuery
python sys模块sys.path使用方法示例
2013/12/04 Python
Python的math模块中的常用数学函数整理
2016/02/04 Python
Python编写一个闹钟功能
2017/07/11 Python
Python中Scrapy爬虫图片处理详解
2017/11/29 Python
浅谈Python反射 & 单例模式
2019/03/21 Python
使用Python opencv实现视频与图片的相互转换
2019/07/08 Python
PyQT5 emit 和 connect的用法详解
2019/12/13 Python
Numpy之reshape()使用详解
2019/12/26 Python
Pycharm 2020最新永久激活码(附最新激活码和插件)
2020/09/17 Python
Django如何使用redis作为缓存
2020/05/21 Python
Python绘制K线图之可视化神器pyecharts的使用
2021/03/02 Python
Bootstrap 学习分享
2012/11/12 HTML / CSS
一家专门做特卖的网站:唯品会
2016/10/09 全球购物
施华洛世奇日本官网:SWAROVSKI日本
2018/05/04 全球购物
大四自我鉴定
2014/02/08 职场文书
优秀经理获奖感言
2014/03/04 职场文书
商业房地产广告语
2014/03/13 职场文书
主题党日活动总结
2014/07/08 职场文书
正风肃纪剖析材料范文
2014/10/10 职场文书
大学生学习新党章思想汇报
2014/10/25 职场文书
2016年暑期社会实践活动总结报告
2016/04/06 职场文书
MySQL时间盲注的五种延时方法实现
2021/05/18 MySQL