fafafafafafafa
fafafafafafafa
why i put optimizer_centloss into optimizer, raise ValueError("optimizer got an empty parameter list"? anyone can help me?
``` SoftmaxLoss = torch.nn.CrossEntropyLoss() centerLoss = center_losses.CenterLoss(classes=train_class, feature_dims=1024) optimizer_centerloss = torch.optim.SGD(list(centerLoss.parameters()), lr=0.5) ``` ``` class CenterLoss(nn.Module): def __init__(self, classes, feature_dims, use_gpu=True): super(CenterLoss, self).__init__() self.classes = classes self.feature_dims = feature_dims self.use_gpu...
I have removed list, but it also has the error above.
I find where is wrong, edit ` self.centers = nn.Parameter(torch.randn(self.num_classes, self.feat_dim)).cuda()` to be ` self.centers = nn.Parameter(torch.randn(self.num_classes, self.feat_dim).cuda())` but I don't know the difference between them.