Pytorch TypeError:重塑():参数';输入';(位置1)必须是张量,而不是numpy.ndarray

Pytorch TypeError:重塑():参数';输入';(位置1)必须是张量,而不是numpy.ndarray,pytorch,lime,Pytorch,Lime,我是一名高中生,在使用火把和石灰方面没有太多经验。我的图像形状有很多问题。最初我的图像形状是(3224224),但是石灰算法仅适用于此形状的图像(…,…,3)。因此,我早些时候尝试了转置图像。看起来我通过这样做取得了一些进步,但是,现在我得到了一个不同的错误。下面是我的一些代码,以了解在出现错误之前我一直在做什么 def get_preprocess_transform(): transf = transforms.Compose([ # transforms.ToPILImage

我是一名高中生,在使用火把和石灰方面没有太多经验。我的图像形状有很多问题。最初我的图像形状是(3224224),但是石灰算法仅适用于此形状的图像(…,…,3)。因此,我早些时候尝试了转置图像。看起来我通过这样做取得了一些进步,但是,现在我得到了一个不同的错误。下面是我的一些代码,以了解在出现错误之前我一直在做什么

def get_preprocess_transform():    
transf = transforms.Compose([
  #  transforms.ToPILImage(), #had to convert image to PIL as error was showing up two cells below about needing it in pil
    transforms.Resize(input_size),
    transforms.CenterCrop(input_size),
    transforms.ToTensor(),
    transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225]),
    
])    

return transf    

preprocess_transform = get_preprocess_transform() ## use your data_transform but in a method version

使用此命令将numpy.ndarray转换为张量


img=torch.from_numpy(img).float()#使用适当的变量名称

使用此命令将numpy.ndarray转换为张量


img=torch.from_numpy(img).float()#使用适当的变量名称
您传递的是numpy数组,而不是方法中的
torch.tensor
。因此最好在开始时将输入转换为
torch.tensor

因此,
img\u t
应该是
torch.tensor
这里有一些方法

首先,改用numpy
np.ones

img_t = torch.ones((3,224,224))
或者稍后使用从
numpy.ndarray

img_t = np.ones((3, 224, 224))
img_t = torch.from_numpy(img_t)

您传递的是NumPy数组,而不是方法中的
torch.tensor
。因此最好在开始时将输入转换为
torch.tensor

因此,
img\u t
应该是
torch.tensor
这里有一些方法

首先,改用numpy
np.ones

img_t = torch.ones((3,224,224))
或者稍后使用从
numpy.ndarray

img_t = np.ones((3, 224, 224))
img_t = torch.from_numpy(img_t)

发生了什么?我怎样才能修好它?谢谢你的帮助怎么了?我怎样才能修好它?谢谢你的帮助
from lime import lime_image
explainer = lime_image.LimeImageExplainer()
explanation = explainer.explain_instance(img_x, ## pass your image, do not transform
                                        batch_predict, # classification function
                                        top_labels=5, 
                                        hide_color=0, 
                                        num_samples=1000)
img_t = torch.ones((3,224,224))
img_t = np.ones((3, 224, 224))
img_t = torch.from_numpy(img_t)