【pocketflow系列三】教程

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通道剪枝算法进行训练。

其他可选的算法为:

 

【pocketflow系列三】教程_第1张图片

消耗:本地模式1GPU需要训练20-30小时。可以通过多GPU加速。

另外,DisChnPrunedLearner还有一些参数可以设置。

 

压缩后的模型为checkpoint文件,在models_dcp_eval文件夹中。

 

5、导出tensorflow lite

部署到移动端时,转为*tflite文件。通道剪枝有转换脚本可以直接转换,结果仍保存在models_dcp_eval文件夹中。

 

6、部署到移动端

根据demo走即可。

你可能感兴趣的:(模型压缩移植)