Pytorch RuntimeError:只有浮点数据类型的张量可以要求渐变

Pytorch RuntimeError:只有浮点数据类型的张量可以要求渐变,pytorch,Pytorch,RuntimeError:只有浮点数据类型的张量可以要求渐变 从中获取以下错误 输入=变量(预处理的\u img,需要\u grad=True) 使用torch.Tensor(img)代替torch.Tensor(img)。这可能会解决你的问题 img=train_loader.dataset.data[0] print(type(img)) img_tensor = torch.tensor(img) preprocess_image(img) > def preprocess_im

RuntimeError:只有浮点数据类型的张量可以要求渐变
从中获取以下错误

输入=变量(预处理的\u img,需要\u grad=True)

使用
torch.Tensor(img)
代替
torch.Tensor(img)
。这可能会解决你的问题

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