np.ndarray与torch.Tensor之间的转化 (图像的区别)

Posted Real&Love

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了np.ndarray与torch.Tensor之间的转化 (图像的区别)相关的知识,希望对你有一定的参考价值。

np.ndarray转为torch.Tensor

在深度学习中,原始图像需要转换为深度学习框架自定义的数据格式,在pytorch中,需要转为torch.Tensor
pytorch提供了torch.Tensornumpy.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之间的转化 (图像的区别)的主要内容,如果未能解决你的问题,请参考以下文章

Pytorch CIFAR10图像分类 数据加载与可视化篇

LuaJIT ffi cdata 和 Torch Tensor 之间的最佳转换

PyTorch 内存模型:“torch.from_numpy()”与“torch.Tensor()”

pytorch中tensor张量的创建

Pytorch:copy.deepcopy 与 torch.tensor.contiguous()?

服务器系列(23):tensor、numpy.array、list三者之间互相转换