У меня есть метка размером [32,2,10], и я хочу разделить эту метку на label1 и label2, с помощью которых мне нужно вычислить потери по входным данным для каждой метки1 и label2.
Модель VGG16 + дополнительный классификатор.
выходные классы = 10
class cust_vgg():
def forward(self, images,model):
out = model.features(images)
out1 = model.avgpool(out)
out1 = out1.reshape(out1.size(0), -1)
return model.classifier(out1), model.classifier1(out1)
out = cust_vgg.forward(images,model)
out_classifier,out_classifier1 = out
labels1,labels2 = labels[0]
loss_classifier = nn.NLLLoss(out_classifier, labels1)
loss_classifier1 = nn.NLLLoss(out_classifier1,labels2)
loss = loss_classifier + loss_classifier1
loss.backward()
opt.step()
Входной batch_size должен совпадать с целевым batch_size для nn.NLLLoss ()
Ошибка: Ожидаемый ввод batch_size (32) для соответствия целевому batch_size (10).