nanodet网址:https://github.com/RangiLyu/nanodet
训练保存的pth模型比预想大:issues/50
训练保存的pth模型(7MB出头)比作者提供的pth模型(3MB)更大,原因是训练过程中保存的模型是附带优化器的check point。可以在save model时不保存优化器来获得3MB的模型。(作者原话)
保存模型的函数在项目工程的nanodet/util/check_point.py def save_model。调用地点有两处line133 & line151,在nanodet/trainer/trainer.py def run,分别是保存last和保存best。要另外保存不包含优化器的模型只需要在保存语句下面再添加
save_model(self.rank, self.model, os.path.join(self.cfg.save_dir, 'model_last.pth'), epoch, self._iter)
其实就是直接去除函数最后的优化器信息输入即,因为函数优化器的default是None。
调整demo.py,将infer得到的图片结果保存在指定文件夹:
推理使用的是一个Predictor类,推理使用的是类里面的inference方法,将结果呈现到图片上用的是visualize方法。
visualize方法:使用self.model.head.show_result进行结果呈现。self.model是Predictor类的model属性