总体思路:
2.0以下的tensorflow是静态的计算图,做剪枝是非常不方便的,tf2.0以上应该不存在这个问题,但工业上目前应用不多,主要原因应该是生态做起来需要一段时间。
因此我们使用pytorch做通道剪枝(层剪枝等这些网上很多),通过pytorch做完剪枝后把pt文件转成weights(一般项目中有),pytorch剪枝后的模型结构会生成一个cfg文件,根据cfg文件,可以在tensorflow上复现出模型结构。再把weights喂进去就可以了。
为什么不用onnx进行转换?
1. 不灵活
2. 支持的算子受限
亲侧可行,难度不大易于实现!
感兴趣的可以留言,一起讨论一下。