详解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图算法实例分析
Aug 13 Python
python爬虫实现教程转换成 PDF 电子书
Feb 19 Python
Django中redis的使用方法(包括安装、配置、启动)
Feb 21 Python
Python中str.join()简单用法示例
Mar 20 Python
python中类的属性和方法介绍
Nov 27 Python
使用TFRecord存取多个数据案例
Feb 17 Python
python GUI库图形界面开发之PyQt5窗口类QMainWindow详细使用方法
Feb 26 Python
python3 自动打印出最新版本执行的mysql2redis实例
Apr 09 Python
浅谈keras中Dropout在预测过程中是否仍要起作用
Jul 09 Python
python读取excel数据绘制简单曲线图的完整步骤记录
Oct 30 Python
Python中正则表达式对单个字符,多个字符和匹配边界等使用
Jan 27 Python
python的变量和简单数字类型详解
Sep 15 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/10/27 PHP
Laravel 5.0 发布 新版本特性详解
2015/02/10 PHP
PHP编写文件多服务器同步程序
2016/07/02 PHP
PHPExcel 修改已存在Excel的方法
2018/05/03 PHP
js和jquery中循环的退出和继续学习记录
2014/09/06 Javascript
JavaScript简介
2015/02/15 Javascript
基于jQuery实现多层次的手风琴效果附源码
2015/09/21 Javascript
分步解析JavaScript实现tab选项卡自动切换功能
2016/01/25 Javascript
浅析函数声明和函数表达式——函数声明的声明提前
2016/05/03 Javascript
深入浅析JavaScript中的3DES
2016/08/24 Javascript
详解在Vue中通过自定义指令获取dom元素
2017/03/04 Javascript
基于BootStrap的前端分页带省略号和上下页效果
2017/05/18 Javascript
vue 指定组件缓存实例详解
2018/04/01 Javascript
vue踩坑记-在项目中安装依赖模块npm install报错
2019/04/02 Javascript
深入浅出 Vue 系列 -- 数据劫持实现原理
2019/04/23 Javascript
jquery多级树形下拉菜单的实例代码
2019/07/09 jQuery
Vue.js组件通信之自定义事件详解
2019/10/19 Javascript
利用Python的Django框架生成PDF文件的教程
2015/07/22 Python
python使用KNN算法识别手写数字
2019/04/25 Python
Python项目 基于Scapy实现SYN泛洪攻击的方法
2019/07/23 Python
python使用PIL和matplotlib获取图片像素点并合并解析
2019/09/10 Python
基于Python实现签到脚本过程解析
2019/10/25 Python
PyCharm如何导入python项目的方法
2020/02/06 Python
如何利用pycharm进行代码更新比较
2020/11/04 Python
意大利团购网站:Groupon意大利
2016/10/11 全球购物
彪马日本官网:PUMA日本
2019/01/31 全球购物
英国在线玫瑰专家:InterRose
2019/12/01 全球购物
视图的作用
2014/12/19 面试题
幼儿园六一亲子活动方案
2014/08/26 职场文书
运动会加油稿30字
2015/07/21 职场文书
民间借贷纠纷起诉书
2015/08/03 职场文书
公共场所卫生管理制度
2015/08/05 职场文书
校运会广播稿
2015/08/19 职场文书
低端且暴利的线上线下创业项目分享
2019/09/03 职场文书
使用python向MongoDB插入时间字段的操作
2021/05/18 Python
解决Redis启动警告问题
2022/02/24 Redis