Closed SISTMrL closed 3 years ago
我在执行蒸馏时使用的是如下指令:--data cfg/xray.data --batch_size 2 --KDstr 1 --weights weights/yolov3-mobilenet.weights --cfg cfg/yolov3-mobilenet/yolov3-mobilenet-coco.cfg --img_size 608 --epochs 80 --quantized 1 --qlayers 72 --t_cfg cfg/yolov3/yolov3.cfg --t_weights weights/best.pt
其中best.pt是我训练yolov3得到的最好的权重文件,为何会出现assertionerror, 该条错误出现在models.py 第544行的assert ptr==len(weights)这条语句。
我在跑yolov3的时候却没有出现错误,跑yolov3的指令如下:--data data/xray.data --batch_size 2 --accumulate 1 -pt --weights weights/yolov3-608.weights --cfg cfg/yolov3/yolov3.cfg --img_size 608 --epochs 60
诚盼回复,谢谢!
我将assert那条语句给注释了,最后进行蒸馏时发现mobilenet的map也能到0.84(相当于我单独跑yolov3时所达到的map),不进行蒸馏时,单纯跑mobilenet map大概到0.79,是不是提升不大是由于受限于教师网络?
你的data文件应该不是80分类,你在使用预训练模型的时候需要加入-pt指令。
我在执行蒸馏时使用的是如下指令:--data cfg/xray.data --batch_size 2 --KDstr 1 --weights weights/yolov3-mobilenet.weights --cfg cfg/yolov3-mobilenet/yolov3-mobilenet-coco.cfg --img_size 608 --epochs 80 --quantized 1 --qlayers 72 --t_cfg cfg/yolov3/yolov3.cfg --t_weights weights/best.pt
其中best.pt是我训练yolov3得到的最好的权重文件,为何会出现assertionerror, 该条错误出现在models.py 第544行的assert ptr==len(weights)这条语句。
我在跑yolov3的时候却没有出现错误,跑yolov3的指令如下:--data data/xray.data --batch_size 2 --accumulate 1 -pt --weights weights/yolov3-608.weights --cfg cfg/yolov3/yolov3.cfg --img_size 608 --epochs 60
诚盼回复,谢谢!