torchvision.transforms.ToTensor() 替代

原因:.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)

你可能感兴趣的:(Pytorch框架,python,numpy,深度学习)