有人能帮我解决这个问题吗:我试着用ML模型来评估预训练图像,我在这篇文章的底部发现了错误状态。
根据我的理解,pytorch模型希望数据采用以下格式:batch_channel,channel,Height,Lenght。我修改Tensor使其成为这个形状,但仍然出现错误。
有人能给我解释一下为什么会出现这个错误吗?
我对编码和ML很陌生,所以如果这个问题不是很具体,我很抱歉。
from monai.transforms import AddChannel
from skimage.io import imread
import numpy as np
import cv2
from torch.utils.data import DataLoader
from torchvision import models
img_array = imread(train_imageinfo_list[0][0])
resized_img = cv2.resize(img_array, (224, 224))
img_tensor = torch.from_numpy(resized_img)
channel_adder = AddChannel()
channel_image = channel_adder(img_tensor)
batch_image = channel_adder(channel_image)
img_tensor = batch_image
model= models.vgg16()
model(img_tensor)
eval(model)
错误:运行时错误:给定组=1,权重大小为[64,3,3,3],预期输入[1,1,224,224]具有3个通道,但得到1个通道
1条答案
按热度按时间tuwxkamq1#
您的模型需要3通道输入,这就是为什么您会得到一个错误。一个简单而直接的方法是通过重复通道维度三次将灰度图像转换为rgb: