RuntimeError:仅浮点dtype的张量可以要求渐变
input =变量(preprocessed_img,requiresgrad = True)
img=train_loader.dataset.data[0]
print(type(img))
img_tensor = torch.tensor(img)
preprocess_image(img)
> def preprocess_image(img): means=[0.485, 0.456, 0.406] stds=[0.229,
> 0.224, 0.225]
>
> preprocessed_img = img.copy()[: , :, ::-1] for i in range(3):
> preprocessed_img[:, :, i] = preprocessed_img[:, :, i] - means[i]
> preprocessed_img[:, :, i] = preprocessed_img[:, :, i] / stds[i]
> preprocessed_img = \
> np.ascontiguousarray(np.transpose(preprocessed_img, (2, 0, 1)))
> preprocessed_img = torch.from_numpy(preprocessed_img)
> preprocessed_img.unsqueeze_(0) input = Variable(preprocessed_img,
> requires_grad = True) return input
答案 0 :(得分:1)
使用torch.Tensor(img)
代替torch.tensor(img)
。这可能应该可以解决您的问题。