Mobilenet-yolov4代码调试
train.py调试
问题一
KeyError: 'make_five_conv1.0.conv.weight’
Debug运行一下,发现发生错误的语句如下(train.py的第210行),该问题的错误原因是因为,下载的模型pretrained_dict_net文件中没有make_five_conv1.0.conv.weight这个权重内容。
pretrained_dict = {k: v for k, v in pretrained_dict_net.items() if np.shape(model_dict[k]) == np.shape(v)}
解决方法:首先确定所有函数中的主干和和权重等都选择的是同一个模型,比如都是mobilenetV1或都是V2;如果全都一致了,还是出现这个错误,那么就将上述指令修改成下面这样。
pretrained_dict = {k: v for k, v in pretrained_dict_net.items() if k in model_dict}
问题二
FileNotFoundError: [Errno 2] No such file or directory: '2007_train.txt’
问题代码是train.py第229行的
annotation_path = '2007_train.txt'
No such file or directory这种错误意思是没有这样的文件或路径,要么是路径错