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 04 Python
浅谈Python的文件类型
May 30 Python
Django与JS交互的示例代码
Aug 23 Python
Python分支结构(switch)操作简介
Jan 17 Python
Python基于jieba库进行简单分词及词云功能实现方法
Jun 16 Python
Python字典循环添加一键多值的用法实例
Jan 20 Python
python中selenium操作下拉滚动条的几种方法汇总
Jul 14 Python
基于python实现的百度音乐下载器python pyqt改进版(附代码)
Aug 05 Python
Atom Python 配置Python3 解释器的方法
Aug 28 Python
Pycharm最新激活码2019(推荐)
Dec 31 Python
django 连接数据库出现1045错误的解决方式
May 14 Python
django 数据库 get_or_create函数返回值是tuple的问题
May 15 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使用DirectoryIterator显示下拉文件列表的方法
2015/03/13 PHP
joomla组件开发入门教程
2016/05/04 PHP
PHP实现的简单在线计算器功能示例
2017/08/02 PHP
Laravel5.1框架注册中间件的三种场景详解
2019/07/09 PHP
Javascript中的相等与不等运算
2010/04/25 Javascript
30分钟就入门的正则表达式基础教程
2013/02/25 Javascript
javascript中parseInt()函数的定义和用法分析
2014/12/20 Javascript
iframe跨域通信封装详解
2015/08/11 Javascript
JavaScript中字面量与函数的基本使用知识
2015/10/20 Javascript
js实现n秒倒计时后才可以点击的效果
2015/12/20 Javascript
javascript随机抽取0-100之间不重复的10个数
2016/02/25 Javascript
TypeScript Type Innference(类型判断)
2016/03/10 Javascript
AngularJS入门教程之REST和定制服务详解
2016/08/19 Javascript
js与jquery分别实现tab标签页功能的方法
2016/11/18 Javascript
JavaScript实现前端分页控件
2017/04/19 Javascript
nodejs后台集成ueditor富文本编辑器的实例
2017/07/11 NodeJs
django使用channels2.x实现实时通讯
2018/11/28 Javascript
Vuejs监听vuex中值的变化的方法示例
2018/12/02 Javascript
Node.js事件的正确使用方法
2019/04/05 Javascript
微信小程序利用云函数获取手机号码
2019/12/17 Javascript
[01:00:59]VP VS VG Supermajor小组赛胜者组第二轮 BO3第二场 6.2
2018/06/03 DOTA
在Python中操作时间之mktime()方法的使用教程
2015/05/22 Python
python实现class对象转换成json/字典的方法
2016/03/11 Python
flask框架使用orm连接数据库的方法示例
2018/07/16 Python
django小技巧之html模板中调用对象属性或对象的方法
2018/11/30 Python
Python基本socket通信控制操作示例
2019/01/30 Python
Python内置方法实现字符串的秘钥加解密(推荐)
2019/12/09 Python
Python基于network模块制作电影人物关系图
2020/06/19 Python
美国高品质个性化珠宝销售网站:Jewlr
2018/05/03 全球购物
教育学专业毕业生的自我评价
2013/11/21 职场文书
家教广告词
2014/03/19 职场文书
竞选劳动委员演讲稿
2014/04/28 职场文书
大学专科自荐信
2014/06/17 职场文书
法人授权委托书范本
2014/09/17 职场文书
2014年评职称工作总结
2014/11/20 职场文书
php png失真的原因及解决办法
2021/11/17 PHP