簡體   English   中英

Pytorch預訓練模型無法識別我的圖像

[英]Pytorch pretrained model not recognizing my image

我有一個圖像是Torch.Tensor格式。 我想將其直接輸入到經過訓練的分類器中,例如Inception v3。

但是,它的預測不正確(沒有錯誤消息,只是輸出錯誤)。 我猜這是因為我沒有對它進行規范化(按照: https : //pytorch.org/docs/stable/torchvision/models.html ),所以這就是我想要做的。

問題是,規范化需要numpy輸入。 但是,要獲取numpy,我這樣做了,這給了我一個錯誤:

----> 9 image = data.numpy()[0].transpose((1, 2, 0))  # [image_size, image_size, RGB]

RuntimeError: Can't call numpy() on Variable that requires grad. Use var.detach().numpy() instead.

我無法調用detach,因為我需要漸變流過圖像(由其他函數生成)。 有沒有一種方法可以繞過將其轉換為numpy。 如果沒有,如何保持梯度流?

一種選擇是在將均值和標准差向量用作張量之前,將圖像縮放到間隔[0,1]。

import torch

data = (data - data.min()) / (data.max() - data.min())  # rescale to [0, 1]
mean = torch.tensor([[[0.485, 0.456, 0.406]]])
std = torch.tensor([[[0.229, 0.224, 0.225]]])
data = (data - mean) / std  # normalise with tensors

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM