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注释详解
Jun 01 Python
利用Django内置的认证视图实现用户密码重置功能详解
Nov 24 Python
python pandas中对Series数据进行轴向连接的实例
Jun 08 Python
朴素贝叶斯分类算法原理与Python实现与使用方法案例
Jun 26 Python
Python图像处理之直线和曲线的拟合与绘制【curve_fit()应用】
Dec 26 Python
Python实现FTP文件传输的实例
Jul 07 Python
python内存动态分配过程详解
Jul 15 Python
pytorch标签转onehot形式实例
Jan 02 Python
pycharm实现在虚拟环境中引入别人的项目
Mar 09 Python
2020新版本pycharm+anaconda+opencv+pyqt环境配置学习笔记,亲测可用
Mar 24 Python
详解python程序中的多任务
Sep 16 Python
详解python的内存分配机制
May 10 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
Google Voice 短信发送接口PHP开源版(2010.5更新)
2010/07/22 PHP
php数字转汉字代码(算法)
2011/10/08 PHP
深入HTTP响应状态码速查表的详解
2013/06/07 PHP
ThinkPHP多表联合查询的常用方法
2020/03/24 PHP
基于linnux+phantomjs实现生成图片格式的网页快照
2015/04/15 PHP
详解WordPress中用于合成数组的wp_parse_args()函数
2015/12/18 PHP
php运行报错Call to undefined function curl_init()的最新解决方法
2016/11/20 PHP
PDO::beginTransaction讲解
2019/01/27 PHP
php框架知识点的整理和补充
2021/03/01 PHP
当前页禁止复制粘贴截屏代码小集
2013/07/24 Javascript
Chrome下ifame父窗口调用子窗口的问题示例探讨
2014/03/17 Javascript
深入理解JavaScript系列(19):求值策略(Evaluation strategy)详解
2015/03/05 Javascript
jquery中radio checked问题
2015/03/16 Javascript
JavaScript的Ext JS框架中的GridPanel组件使用指南
2016/05/21 Javascript
JavaScript的new date等日期函数在safari中遇到的坑
2016/10/24 Javascript
xmlplus组件设计系列之下拉刷新(PullRefresh)(6)
2017/05/03 Javascript
bing Map 在vue项目中的使用详解
2018/04/09 Javascript
jQuery zTree插件使用简单教程
2019/08/16 jQuery
js中console在一行内打印字符串和对象的方法
2019/09/10 Javascript
[00:32]2018DOTA2亚洲邀请赛Secret出场
2018/04/03 DOTA
Python中使用md5sum检查目录中相同文件代码分享
2015/02/02 Python
Python 性能优化技巧总结
2016/11/01 Python
Python实现简易版的Web服务器(推荐)
2018/01/29 Python
Numpy数组转置的两种实现方法
2018/04/17 Python
python 检查文件mime类型的方法
2018/12/08 Python
python matplotlib模块基本图形绘制方法小结【直线,曲线,直方图,饼图等】
2020/04/26 Python
scrapy爬虫:scrapy.FormRequest中formdata参数详解
2020/04/30 Python
python 5个实用的技巧
2020/09/27 Python
matplotlib自定义鼠标光标坐标格式的实现
2021/01/08 Python
吸烟检讨书2000字
2014/02/13 职场文书
计算机科学技术自荐信
2014/06/12 职场文书
元旦晚会活动总结
2014/07/09 职场文书
关于教师节的演讲稿
2014/09/04 职场文书
致百米运动员广播稿5篇
2014/10/13 职场文书
淮海战役观后感
2015/06/11 职场文书
获奖感言怎么写
2015/07/31 职场文书