Pytorch之Tensor和Numpy之间的转换的实现方法


Posted in Python onSeptember 03, 2020

为什么要相互转换:

1. 要对tensor进行操作,需要先启动一个Session,否则,我们无法对一个tensor比如一个tensor常量重新赋值或是做一些判断操作,所以如果将它转化为numpy数组就好处理了。下面一个小程序讲述了将tensor转化为numpy数组,以及又重新还原为tensor:

2. Torch的Tensor和numpy的array会共享他们的存储空间,修改一个会导致另外的一个也被修改。

学习链接:https://github.com/chenyuntc/pytorch-book

特别提醒[注意Tensor大小写]

  1. 最重要的区别t.Tensort.tensor:不论输入的类型是什么,t.tensor()都会进行数据拷贝,不会共享内存;t.Tensor()与Numpy共享内存,但当Numpy的数据类型和Tensor的类型不一样的时候,数据会被复制,不会共享内存。
  2. 可使用t.from_numpy()或者t.detach()将Numpy转为Tensor,与原Numpy数据共享内存。

附上实验证明

常规转换:使用t.from_numpy()将Numpy转为Tensor,使用torch.numpy()将Tensor转为Numpy

Pytorch之Tensor和Numpy之间的转换的实现方法

需要注意的情况:使用t.Tensor()进行转换,发现Numpy的数据类型和Tensor的类型一致,因此共享内存

Pytorch之Tensor和Numpy之间的转换的实现方法

需要注意的情况:使用t.Tensor()进行转换,发现Numpy的数据类型和Tensor的类型不一致,因此b与a不共享内存

Pytorch之Tensor和Numpy之间的转换的实现方法

需要注意的情况:使用t.tensor()进行转换,只进行数据拷贝,不会共享内存

Pytorch之Tensor和Numpy之间的转换的实现方法

到此这篇关于Pytorch之Tensor和Numpy之间的转换的实现方法的文章就介绍到这了,更多相关Pytorch Tensor和Numpy转换内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python开发简易版在线音乐播放器
Mar 03 Python
python使用Tkinter实现在线音乐播放器
Jan 30 Python
python文本数据相似度的度量
Mar 12 Python
Python编程中flask的简介与简单使用
Dec 28 Python
Python实现的登录验证系统完整案例【基于搭建的MVC框架】
Apr 12 Python
Python实现基于SVM的分类器的方法
Jul 19 Python
python、Matlab求定积分的实现
Nov 20 Python
tensorflow实现打印ckpt模型保存下的变量名称及变量值
Jan 04 Python
python如何使用Redis构建分布式锁
Jan 16 Python
python打开文件的方式有哪些
Jun 29 Python
使用Python项目生成所有依赖包的清单方式
Jul 13 Python
Python基于Tkinter开发一个爬取B站直播弹幕的工具
May 06 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
图解Python中深浅copy(通俗易懂)
Sep 03 #Python
python简单实现9宫格图片实例
Sep 03 #Python
You might like
PHP时间戳与日期之间转换的实例介绍
2013/04/19 PHP
php保存二进制原始数据为图片的程序代码
2014/10/14 PHP
laravel 时间格式转时间戳的例子
2019/10/11 PHP
Yii框架应用组件用法实例分析
2020/05/15 PHP
用JavaScript编写COM组件的步骤
2009/03/17 Javascript
JavaScript 监听textarea中按键事件
2009/10/08 Javascript
jquery 插件学习(二)
2012/08/06 Javascript
jquery 表格的增行删行实现思路
2013/03/21 Javascript
jQuery 关于伪类选择符的使用说明
2013/04/24 Javascript
javascript中定义类的方法汇总
2014/12/28 Javascript
修改或扩展jQuery原生方法的代码实例
2015/01/13 Javascript
js中split和replace的用法实例
2015/02/28 Javascript
jQuery zclip插件实现跨浏览器复制功能
2015/11/02 Javascript
JS正则表达式之非捕获分组用法实例分析
2016/12/28 Javascript
jquery 实现复选框的全选操作实例代码
2017/01/24 Javascript
微信小程序中用WebStorm使用LESS
2017/03/08 Javascript
JavaScript限制在客户区可见范围的拖拽(解决scrollLeft和scrollTop的问题)(2)
2017/05/17 Javascript
Vuex利用state保存新闻数据实例
2017/06/28 Javascript
微信小程序实现点击效果
2019/06/21 Javascript
react用Redux中央仓库实现一个todolist
2019/09/29 Javascript
jQuery实现轮播图源码
2019/10/23 jQuery
Python中遍历字典过程中更改元素导致异常的解决方法
2016/05/12 Python
python3.7.0的安装步骤
2018/08/27 Python
python实现本地图片转存并重命名的示例代码
2018/10/27 Python
python实现列表的排序方法分享
2019/07/01 Python
python中调试或排错的五种方法示例
2019/09/12 Python
matplotlib绘制多个子图(subplot)的方法
2019/12/03 Python
python读取配置文件方式(ini、yaml、xml)
2020/04/09 Python
150行python代码实现贪吃蛇游戏
2020/04/24 Python
HTML5使用Audio标签实现歌词同步的效果
2016/03/17 HTML / CSS
里程积分管理买卖交换平台:Points.com
2017/01/13 全球购物
DJI大疆德国官方商城:大疆无人机
2018/09/01 全球购物
如何手工释放资源
2013/12/15 面试题
小学生保护环境倡议书
2014/05/15 职场文书
2014党委书记四风问题对照检查材料思想汇报
2014/09/22 职场文书
初二物理教学反思
2016/02/19 职场文书