我已经建立了一个模型,并且可以使用tf.contrib的模型修剪模块成功修剪它,默认参数和稀疏度为90%,但是问题是当我运行模型时,它仍然需要花费相同的执行时间从原始模型开始,我的猜测是,tensorflow不会运行仅修剪版本,而是使用蒙版的weghts运行整个图形,这就是为什么修剪后也没有改善的原因。
那么如何导出带有子图和各自权重的修剪模型并使用它呢?
答案 0 :(得分:1)
strip_pruning_vars实用程序可能就是您想要的。
从read.me文件中:https://github.com/tensorflow/tensorflow/tree/master/tensorflow/contrib/model_pruning#adding-pruning-ops
从训练有素的图表中删除修剪操作
模型经过训练后,有必要删除上述步骤中添加到图形的辅助变量(掩码,阈值)和修剪操作。这可以使用strip_pruning_vars实用工具来完成。
您介意共享您的代码吗?