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 Requests 基础入门
Apr 07 Python
在Linux命令行终端中使用python的简单方法(推荐)
Jan 23 Python
python中使用正则表达式的连接符示例代码
Oct 10 Python
django启动uwsgi报错的解决方法
Apr 08 Python
解决Python 爬虫URL中存在中文或特殊符号无法请求的问题
May 11 Python
在python中利用最小二乘拟合二次抛物线函数的方法
Dec 29 Python
python  文件的基本操作 菜中菜功能的实例代码
Jul 17 Python
用python写测试数据文件过程解析
Sep 25 Python
基于python traceback实现异常的获取与处理
Dec 13 Python
Python3.9又更新了:dict内置新功能
Feb 28 Python
使用Python合成图片的实现代码(图片添加个性化文本,图片上叠加其他图片)
Apr 30 Python
pytorch 如何使用batch训练lstm网络
May 28 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 基于文件头的文件类型验证类函数
2012/05/01 PHP
php实现图片上传时添加文字和图片水印技巧
2020/04/18 PHP
PHP Callable强制指定回调类型的方法
2016/08/30 PHP
TNC vs BOOM BO3 第一场2.13
2021/03/10 DOTA
js 弹出框只弹一次(二次修改之后的)
2013/11/26 Javascript
基于JQuery实现的图片自动进行缩放和裁剪处理
2014/01/31 Javascript
javascript设计模式之解释器模式详解
2014/06/05 Javascript
javascript设计模式之中介者模式Mediator
2014/12/30 Javascript
js树插件zTree获取所有选中节点数据的方法
2015/01/28 Javascript
js获取html的span标签的值方法(超简单)
2016/07/26 Javascript
Zabbix添加Node.js监控的方法
2016/10/20 Javascript
基于原生js淡入淡出函数封装(兼容IE)
2016/10/20 Javascript
JavaScript实现使用Canvas绘制图形的基本教程
2016/10/27 Javascript
微信小程序之picker日期和时间选择器
2017/02/09 Javascript
js实现返回顶部效果
2017/03/10 Javascript
JavaScript获取tr td 的三种方式全面总结(推荐)
2017/08/15 Javascript
使用原生js+canvas实现模拟心电图的实例
2017/09/20 Javascript
babel7.x和webpack4.x配置vue项目的方法步骤
2019/05/12 Javascript
关于vue里页面的缓存详解
2019/11/04 Javascript
python操作ie登陆土豆网的方法
2015/05/09 Python
python多进程和多线程究竟谁更快(详解)
2017/05/29 Python
python入门教程 python入门神图一张
2018/03/05 Python
Python多线程同步---文件读写控制方法
2019/02/12 Python
python字符串Intern机制详解
2019/07/01 Python
python实现的发邮件功能示例
2019/09/11 Python
如何在django中实现分页功能
2020/04/22 Python
scrapy爬虫:scrapy.FormRequest中formdata参数详解
2020/04/30 Python
CSS3按钮鼠标悬浮实现光圈效果源码
2016/09/11 HTML / CSS
美国马匹用品和马钉购物网站:State Line Tack
2018/08/05 全球购物
IFCHIC台湾:欧美国际设计师品牌
2019/05/18 全球购物
初入社会应届生求职信
2013/11/18 职场文书
2014年教育教学工作总结
2014/11/13 职场文书
写给父母的感谢信
2015/01/22 职场文书
Java实现多文件上传功能
2021/06/30 Java/Android
Python+OpenCV实现在图像上绘制矩形
2022/03/21 Python
SpringBoot整合Minio文件存储
2022/04/03 Java/Android