Deep learning 获取inceptionV3的输入维度不匹配的运行时错误
我改变了很多方面。但对我来说,一点变化都不起作用。这是我的密码Deep learning 获取inceptionV3的输入维度不匹配的运行时错误,deep-learning,pytorch,pre-trained-model,Deep Learning,Pytorch,Pre Trained Model,我改变了很多方面。但对我来说,一点变化都不起作用。这是我的密码 #transform for inceptionV3 train_transform = transforms.Compose([ transforms.Resize((299, 299)), transforms.RandomHorizontalFlip(), transforms.ToTensor(),
#transform for inceptionV3
train_transform = transforms.Compose([
transforms.Resize((299, 299)),
transforms.RandomHorizontalFlip(),
transforms.ToTensor(),
transforms.Normalize(mean=[0.485, 0.456, 0.406],
std=[0.229, 0.224, 0.225])])
val_transform = transforms.Compose([
transforms.Resize((299, 299)),
transforms.ToTensor(),
transforms.Normalize(mean=[0.485, 0.456, 0.406],
std=[0.229, 0.224, 0.225])])
vocab = dataloader.get_vocab(dataset=args.dataset)()
# Data loader and validation split
#num_workers will be 4, I have used 0 for chittron
data_loader = dataloader.get_data_loader(dataset=args.dataset)(mode="train",
transform=train_transform,
vocab=vocab,
batch_size=args.batch_size,
shuffle=True,
num_workers=4,
data_dir=args.data_dir)
valid_data_loader = dataloader.get_data_loader(dataset=args.dataset)(mode="val",
transform=val_transform,
vocab=vocab,
batch_size=args.batch_size,
shuffle=False,
num_workers=4,
data_dir=args.data_dir)
主要代码是:
inception_v3 = getattr(models, dictionary['cnn_model'])(pretrained=True)
# remove the last fc layer
self.inception_v3 = nn.Sequential(*list(inception_v3.children())[:-1])
for param in self.inception_v3.parameters():
param.requires_grad = False
self.encoder_linear = nn.Linear(inception_v3.fc.in_features, dictionary['embed_size'])
self.bn = nn.BatchNorm1d(dictionary['embed_size'])
self.embedding = nn.Embedding(dictionary['vocab_size'], dictionary['embed_size'])
self.rnn = getattr(nn, dictionary['rnn_model'])(dictionary['embed_size'], dictionary['hidden_size'], dictionary['num_layers'], batch_first=True)
self.dropout = nn.Dropout(dictionary['dropout'])
self.decoder_linear = nn.Linear(dictionary['hidden_size'], dictionary['vocab_size'])
self.init_weights()
我得到了这个错误
self.padding、self.dilation、self.groups)运行时错误:应为
四维输入为四维权重192 768 1 1,但得到
而是尺寸为[8,1000]的二维输入
不知道该怎么办。我的代码可以吗?错误是由于模型的输入层和数据形状不匹配。您使用的是什么数据?我假设图像是因为您使用的是Inception模型,但您的错误表明它是秩2的张量。@yuRa是的,我使用的是flickr8k数据集。我已经在使用ResNet和Vgg16,它们工作得非常好。但是《盗梦空间》对我不起作用。