Tensor 和 NumPy 相互转换
Tensor 和 NumPy 相互转换
我们很容易用
numpy()
和from_numpy()
将Tensor
和NumPy
中的数组相互转换。但是需要注意的一点是: 这两个函数所产生的Tensor
和NumPy
中的数组共享相同的内存(所以他们之间的转换很快),改变其中一个时另一个也会改变!
文章目录
- Tensor 和 NumPy 相互转换
- 1. Tensor 转 NumPy
- 2. NumPy 数组转 Tensor
- 3. torch.tensor() 将 NumPy 数组转换成 Tensor
1. Tensor 转 NumPy
a = torch.ones(6)
b = a.numpy()
print(a, b)a += 1
print(a, b)
b += 1
print(a, b)
tensor([1., 1., 1., 1., 1., 1.]) [1. 1. 1. 1. 1. 1.]
tensor([2., 2., 2., 2., 2., 2.]) [2. 2. 2. 2. 2. 2.]
tensor([3., 3., 3., 3., 3., 3.]) [3. 3. 3. 3. 3. 3.]
2. NumPy 数组转 Tensor
import numpy as np
a = np.ones(7)
b = torch.from_numpy(a)
print(a, b)a += 1
print(a, b)
b += 1
print(a, b)
[1. 1. 1. 1. 1. 1. 1.] tensor([1., 1., 1., 1., 1., 1., 1.], dtype=torch.float64)
[2. 2. 2. 2. 2. 2. 2.] tensor([2., 2., 2., 2., 2., 2., 2.], dtype=torch.float64)
[3. 3. 3. 3. 3. 3. 3.] tensor([3., 3., 3., 3., 3., 3., 3.], dtype=torch.float64)
3. torch.tensor() 将 NumPy 数组转换成 Tensor
直接用torch.tensor()
将NumPy
数组转换成Tensor
,该方法总是会进行数据拷贝,返回的Tensor
和原来的数据不再共享内存。
import numpy as np
a = np.ones((2,3))
c = torch.tensor(a)
a += 1
print('a:',a)
print('c:',c)
print(id(a)==id(c))
a: [[2. 2. 2.][2. 2. 2.]]
c: tensor([[1., 1., 1.],[1., 1., 1.]], dtype=torch.float64)
False
Tensor 和 NumPy 相互转换相关推荐
- PyTorch 笔记(10)— Tensor 与 NumPy 相互转换、两种共享内存以及两者的广播法则
Tensor 与 NumPy 有很高的相似性,彼此之间的互操作也非常简单有效,需要注意的是 Tensor 与 NumPy 共享内存,由于 NumPy 历史悠久,所以遇到 Tensor 不支持的操作时, ...
- Variable、Tensor、Numpy的转换
Tensor <--> Numpy Tensor与Numpy之间可以相互转换: 代码: [plain] view plaincopy import torch import numpy a ...
- python代码转换为pytorch_python基础教程Pytorch之Tensor和Numpy之间的转换的实现方法...
为什么要相互转换: 1. 要对tensor进行操作,需要先启动一个Session,否则,我们无法对一个tensor比如一个tensor常量重新赋值或是做一些判断操作,所以如果将它转化为numpy数组就 ...
- PyTorch 安装和基本运算— Tensor 的数据类型(浮点型、整型、随机浮点型等)、基本运算(绝对值、求和、裁剪、求商、求积、求幂等)、Tensor 与 Numpy 转换
PyTorch 的安装可以到官网 https://pytorch.org/,选择适合自己机器以及安装方式,执行对应的命令即可. 除了安装 PyTorch 之外,建议也安装 torchvision 包. ...
- 2021-07-26 TypeError: can‘t convert cuda:0 device type tensor to numpy. Use Tensor.cpu() to copy the
can't convert CUDA tensor to numpy. Use Tensor.cpu() to copy the tensor to host memory first. 意思是:如果 ...
- can‘t convert cuda:0 device type tensor to numpy
can't convert cuda:0 device type tensor to numpy x是list,list内容是tensor cuda 代码: x = np.array(x) 则会报错: ...
- Pytorch中的variable, tensor与numpy相互转化
来源:https://blog.csdn.net/m0_37592397/article/details/88327248 1.将numpy矩阵转换为Tensor张量 sub_ts = torch.f ...
- pytorch Tensor转numpy并解决RuntimeError: Can‘t call numpy() on Tensor that requires grad.报错
解决方法 转numpy时使用Tensor.detach().numpy(): a = torch.ones(5) b = a.detach().numpy() print(b) 问题解析 当计算中的t ...
- Pytorch:Tensor和Numpy
3.1.2 Tensor和Numpy Tensor和Numpy数组之间具有很高的相似性,彼此之间的互操作也非常简单高效.需要注意的是,Numpy和Tensor共享内存.由于Numpy历史悠久,支持丰富 ...
最新文章
- Zookeeper命令行操作(常用命令;客户端连接;查看znode路径;创建节点;获取znode数据,查看节点内容,设置节点内容,删除节点;监听znode事件;telnet连接zookeeper)
- python程序、画一个笑脸_如何使用canvas画一个微笑的表情(代码示例)
- typeorm 生成实体类_android常用orm框架greenDAO创建表生成实体类
- 是什么成就了卓越的程序员?
- boost linux 测试程序,Linux平台下安装 boost 库
- java 反射 接口工具类_Java 反射工具类 ReflectionUtils
- Combiner合并的使用案例
- 白板推导系列Pytorch-隐马尔可夫模型(HMM)
- pandas及numpy笔记
- (转)《精通比特币》原码分析:公钥、私钥、比特币地址
- Python3 - 深入学习Docker容器管理
- 项目管理十大知识领域
- Elasticsearch顶尖高手系列:高手进阶篇(二)
- Android 字体颜色渐变效果 Span实现
- 第十二节:通信之WLAN(Miracast)
- 化繁为简,我用”知晓推送”开发微信小程序订阅消息
- VMware虚拟磁盘VMDK格式说明书1.1---3 The Descriptor File描述文件
- 易支付程序对接固码支付
- 学业竞技实业网址窗口
- 图形验证码和短信验证码
热门文章
- 【优化算法】基于变异策略的改进型花朵授粉算法matlab源码
- jsp+ssm计算机毕业设计大方汽车租赁管理系统【附源码】
- MacBook Air 拆机组图
- linux 解压rar文件
- 『无法安装应用程序,因为XXXXXXXX的证书无效』解决方法。
- 网站优化之如何让友链更给力
- 中电金信:数字化转型|银行业数据中心数字化转型之驱动篇
- 初二因式分解奥数竞赛题_初中数学培优 七年级下 第九讲 因式分解的应用 许多竞赛题讲解...
- Nodejs+webSocket搭建多人聊天室
- Python黑技术:远程控制男朋友电脑(内附python教程分享)