pytoch总结—TENSOR 和NUMPY相互转换

ⅰ亾dé卋堺 提交于 2020-01-25 00:39:23

我们很容易用 numpy() 和 from_numpy() 将 Tensor 和NumPy中的数组相互转换。但是需要注意的⼀一
点是: 这两个函数所产⽣生的的 Tensor 和NumPy中的数组共享相同的内存(所以他们之间的转换很
快),改变其中一个时另⼀个也会改变!!!

还有一个常用的将NumPy中的array转换成 Tensor 的方法就是 torch.tensor() , 需要注意的
是,此方法总是会进行行数据拷贝(就会消耗更多的时间和空间),所以返回的 Tensor 和原来的数
据不再共享内存。

Tensor 转NumPy

a = torch.ones(5)
b = a.numpy()
print(a, b)

 

NumPy数组转 Tensor

import numpy as np
a = np.ones(5)
b = torch.from_numpy(a)
print(a, b)

所有在CPU上的 Tensor (除了 CharTensor )都⽀持与NumPy数组相互转换。
此外上面提到还有一个常⽤的方法就是直接用 torch.tensor() 将NumPy数组转换成 Tensor ,需要
注意的是该方法总是会进行行数据拷贝,返回的 Tensor 和原来的数据不再共享内存。

 

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!