原因:.transforms.ToTensor() 有些开发板不支持,尝试自己写。未验证
原:
# 缩放、格式、归一化
transform = torchvision.transforms.Compose([
torchvision.transforms.Resize((224, 224)),
torchvision.transforms.ToTensor(),
torchvision.transforms.Normalize([0.5, 0.5, 0.5], [0.5, 0.5, 0.5])
])
现: 可运行,实际效果有待验证(d2.transpose((2, 0, 1))是否正确
# 缩放
img1 = img.resize((224, 224))
# 转格式
d1 = np.array(img1, dtype=np.float32)
d2 = np.transpose(d1, (0, 1, 2)) # 转置为类似图像的shape,(H,W,C),作为transform的输入
# 手动归一化,下面的两个步骤可以在源码里面找到
d_t_temp = torch.from_numpy(d2.transpose((2, 0, 1)))
d_t = d_t_temp.float().div(255)
# 归一化
image = d_t.sub_(0.5).div_(0.5)