Я пишу два типа линейного классификатора в PyTorch:
torch.manual_seed(0)
fc = []
for i in range(n):
fc.append(nn.Linear(feature_size, 1))
Другой:
torch.manual_seed(0)
fc = nn.Linear(feature_size, n)
И разные результаты были получены с использованием этих двух типов фк в мультиМодель классификации меток.
На самом деле, эти fc инициализируются по-разному и приводят к разным результатам.Какой из них правильный и что мне делать, если я хочу получить аналогичные результаты, используя два типа фк.
Дополнительная информация:
Я выясняю причину, приводящую к плохому результату:1014 * Первый тип FC не обновляется в процессе обучения!
Но я не знаю, почему не происходит обновление, мой код выглядит следующим образом:
x = self.features(input)
res = []
for i in range(self.num_classes):
res.append(self.fc[i](x.cpu()))
res = torch.cat(res, 1)
return res.cuda()
Есть идеи по этому поводу?