我的损失函数出现了错误:
self.loss_fn = nn.MSELoss()#### -- Snip ####loss = self.loss_fn(predictions, targets) # 错误在这里:'list' object has no attribute 'size'loss.backward()
我的预测结果是一个如下所示的张量数组:
predictions = []for _ in range(100): prediction = MyNeuralNet(inputs) predictions.append(prediction)
如何将张量数组传递给我的损失函数而不出现上述错误?
回答:
通过使用 torch.stack
我解决了这个问题:
predictions = torch.stack(predictions)loss = self.loss_fn(predictions, targets)