np.ndarray与torch.Tensor之间的转化 (图像的区别)
Posted Real&Love
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了np.ndarray与torch.Tensor之间的转化 (图像的区别)相关的知识,希望对你有一定的参考价值。
np.ndarray转为torch.Tensor
在深度学习中,原始图像需要转换为深度学习框架自定义的数据格式,在pytorch中,需要转为torch.Tensor
。
pytorch提供了torch.Tensor
与numpy.ndarray
转换为接口:
方法名 | 作用 |
---|---|
torch.from_numpy(xxx) | numpy.ndarray 转为torch.Tensor |
tensor1.numpy() | 获取tensor1对象的numpy格式数据 |
torch.Tensor
高维矩阵的表示: N x C x H x W
numpy.ndarray
高维矩阵的表示:N x H x W x C
因此在两者转换的时候需要使用numpy.transpose( )
方法 。
def imshow(img):
img = img / 2 + 0.5
img = np.transpose(img.numpy(),(1,2,0))
plt.imshow(img)
以上是关于np.ndarray与torch.Tensor之间的转化 (图像的区别)的主要内容,如果未能解决你的问题,请参考以下文章
LuaJIT ffi cdata 和 Torch Tensor 之间的最佳转换
PyTorch 内存模型:“torch.from_numpy()”与“torch.Tensor()”