Open linhh29 opened 1 year ago
您好,感谢关注。我们当时的代码只为了读取SOLIDER训练的初始化模型,没有适配SOLIDER-REID训练的模型作为初始化。如果你希望用SOLIDER-REID训练的模型(比如swin_small_market.pth)作为初始化,可以把下面代码进行下替换:https://github.com/tinyvision/SOLIDER-REID/blob/c35c07671ceb16f72bb7c8fd94929ef436b9406b/model/make_model.py#L193
替换成下面类似代码:
param_dict = torch.load(model_path)
for i in param_dict:
self.state_dict()[i].copy_(param_dict[i])
您好!按您所说替换之后,还是报错了
这是因为你训练的数据类别和market不一致,导致classifier参数无法载入。你可以改成如下代码:
param_dict = torch.load(model_path)
for i in param_dict:
if 'classifier' in i:
continue
self.state_dict()[i].copy_(param_dict[i])
好的,感谢您!非常棒的工作
您好! 请问怎么样用您的在market上预训练好的模型(swin_small_market.pth)来进行微调呢? 我根据readme的步骤可以用swin_small.pth来微调,但是将MODEL.PRETRAIN_PATH设为swin_small_market.pth会报错![image](https://user-images.githubusercontent.com/80023614/234883158-0008cf29-e993-4cda-aef7-28dc32a60dce.png)