https://pocketflow.github.io/tutorial/
1、教程介绍
压缩CNN,并导出为移动端设备可以部署的*.tflite文件。以在imagenet训练的ResNet18模型为例,使用DisChnPrunedLearner通道剪枝2018算法减少卷积通道数量,从而实现加速。
2、数据准备
将数据集转换成tensorflow的文件格式。
参照:https://github.com/tensorflow/models/tree/master/research/inception#getting-started
3、预训练模型准备
可以使用自己训练的,也可以使用官方提供的(地址打不开)。
4、训练压缩模型
DisChnPrunedLearner通道剪枝算法进行训练。
其他可选的算法为:
消耗:本地模式1GPU需要训练20-30小时。可以通过多GPU加速。
另外,DisChnPrunedLearner还有一些参数可以设置。
压缩后的模型为checkpoint文件,在models_dcp_eval文件夹中。
5、导出tensorflow lite
部署到移动端时,转为*tflite文件。通道剪枝有转换脚本可以直接转换,结果仍保存在models_dcp_eval文件夹中。
6、部署到移动端
根据demo走即可。