详解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中使用partial改变方法默认参数实例
Apr 28 Python
python实现爬取图书封面
Jul 05 Python
python requests爬取高德地图数据的实例
Nov 10 Python
Python mutiprocessing多线程池pool操作示例
Jan 30 Python
python给微信好友定时推送消息的示例
Feb 20 Python
python实现飞机大战游戏
Oct 26 Python
python实现在cmd窗口显示彩色文字
Jun 24 Python
Win10下Python3.7.3安装教程图解
Jul 08 Python
flask框架jinja2模板与模板继承实例分析
Aug 01 Python
Python标准库json模块和pickle模块使用详解
Mar 10 Python
通过Python扫描代码关键字并进行预警的实现方法
May 24 Python
Django Auth用户认证组件实现代码
Oct 13 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 命令行工具 shell_exec, exec, passthru, system详细使用介绍
2011/09/11 PHP
PHP命名空间(Namespace)的使用详解
2013/05/04 PHP
php生成唯一数字id的方法汇总
2015/11/18 PHP
php 修改上传文件大小限制实例详解
2016/10/23 PHP
thinkphp5.0自定义验证规则使用方法
2017/11/16 PHP
jquery BS,dialog控件自适应大小
2009/07/06 Javascript
纯js实现瀑布流展现照片(自动适应窗口大小)
2013/04/08 Javascript
Javascript实现网络监测的方法
2015/07/31 Javascript
Nodejs中的this详解
2016/03/26 NodeJs
用JS中split方法实现彩色文字背景效果实例
2016/08/24 Javascript
使用JS读取XML文件的方法
2016/11/25 Javascript
使用store来优化React组件的方法
2017/10/23 Javascript
webpack4 处理CSS的方法示例
2018/09/03 Javascript
小程序如何获取多个formId实现详解
2019/09/20 Javascript
VUE 动态组件的应用案例分析
2019/12/02 Javascript
如何基于layui的laytpl实现数据绑定的示例代码
2020/04/10 Javascript
[35:26]DOTA2上海特级锦标赛B组小组赛#2 VG VS Fnatic第三局
2016/02/26 DOTA
python实现从一组颜色中找出与给定颜色最接近颜色的方法
2015/03/19 Python
利用Python绘制MySQL数据图实现数据可视化
2015/03/30 Python
简单实现python聊天程序
2018/04/01 Python
Python实现正整数分解质因数操作示例
2018/08/01 Python
在python中利用最小二乘拟合二次抛物线函数的方法
2018/12/29 Python
python 并发编程 阻塞IO模型原理解析
2019/08/20 Python
对python中的装包与解包实例详解
2019/08/24 Python
python百行代码自制电脑端网速悬浮窗的实现
2020/05/12 Python
Python random模块的使用示例
2020/10/10 Python
HTML5本地存储localStorage、sessionStorage基本用法、遍历操作、异常处理等
2014/05/08 HTML / CSS
周年庆促销方案
2014/03/15 职场文书
关于读书的演讲稿300字
2014/08/27 职场文书
2014年图书馆工作总结
2014/11/25 职场文书
分居协议书范本(律师见证版)
2014/11/26 职场文书
中秋节主题班会
2015/08/14 职场文书
导游词之珠海轮廓
2019/10/25 职场文书
Java中PriorityQueue实现最小堆和最大堆的用法
2021/06/27 Java/Android
HTTP中的Content-type详解
2022/01/18 HTML / CSS
python如何将mat文件转为png
2022/07/15 Python