量化和剪枝的模型大小问题
目前我训练的是yolov5_darknet网络,model.pdopt文件是234.9M,剪枝后是90.3M,量化后是90.5M。 我使用paddlex --export_inference生成部署文件,大小没什么变化。 根据paddlex的文档,我得知使用PaddleLite导出后,nb文件的权重会体现量化后的模型大小。 我使用以下代码导出: import paddlelite.lite as lite opt = lite.Opt() opt.set_quant_type('QUANT_INT8') quant_model_filename = 'output/yolov3_darknet53/inference_model/inference_model/model.pdmodel' quant_params_filename = 'output/yolov3_darknet53/inference_model/inference_model/model.pdiparams' quant_export_filename = 'yolov3'
将量化模型导出为Lite模型
opt.run_optimize("", quant_model_filename, quant_params_filename, 'naive_buffer', 'arm', quant_export_filename) 导出后nb模型大小如下: yolov5:234.9M;剪枝后:90.4M;剪枝量化后:77.2M.
我有以下两个问题: 1.如果你们的量化是在opt中进行的,将模型参数转为int8,那么这三个模型的大小都应该变为1/4左右才对。 2.剪枝后量化模型的不应该是剪枝后模型的1/4吗,从数据上来看好像是原始yolov5的1/4.
剪枝后量化模型大小是原始yolov5的1/4。但是按理来说不应该是剪枝后模型的1/4吗