首页 > 解决方案 > pytorch int32 到 int64 的转换

问题描述

我正在尝试将一个简单的图像蒙版转换为int64

image = np.array([[1, 2], [3, 4]], dtype='int32')

transform = Compose([
    torch.from_numpy, 
    ConvertImageDtype(torch.int64)
])

然而,transform(image)产量

tensor([[ 4294967296,  8589934592],
        [12884901888, 17179869184]])

有什么问题,还是我从根本上误解了转换应该如何工作?

标签: pythonpytorch

解决方案


如果您跳过火炬的转换,则图像将正确转换。

image = np.array([[1, 2], [3, 4]], dtype='int64')

transform = Compose([
    torch.from_numpy
])
transform(image)
# tensor([[1, 2],
#        [3, 4]])

推荐阅读