我从Tensorflow-pruning得到了一个稀疏权重矩阵来减少SqueezeNet
. 之后strip_pruning_vars
,我检查了权重矩阵中大部分元素成功修剪为 0。但是,模型的性能并没有达到我的预期。似乎需要支持稀疏矩阵运算的附加软件库或硬件。有人告诉我使用Intel-MKL
库会有所帮助,但我不知道如何将它与 Tensorflow 集成。现在,我.pb
修剪了 SqueezeNet 的文件。任何类型的帮助都将受到高度赞赏。
2 回答
您可以尝试英特尔® TensorFlow* Wheel 优化。
建议使用 Intel 环境。
请按照以下步骤操作。
使用以下命令创建 conda 环境:
conda create -n my_intel_env -c intel python=3.6
激活环境。
source activate my_intel_env
安装轮子
pip install https://storage.googleapis.com/intel-optimized-tensorflow/tensorflow-1.11.0-cp36-cp36m-linux_x86_64.whl
有关更多详细信息,您可以参考https://software.intel.com/en-us/articles/intel-optimization-for-tensorflow-installation-guide
安装后,您可以在 python 提示符下按照以下命令检查是否启用了 mkl。
from tensorflow.python.framework import test_util
test_util.IsMklEnabled()
如果启用了 mkl,这应该返回“True”。
希望这可以帮助。
我和你遇到了同样的问题。我使用 tensorflow 对模型进行剪枝,但实际上剪枝后的模型并没有得到更快的预测速度。在 tensorflow 的路线图中(https://www.tensorflow.org/model_optimization/guide/roadmap)他们说他们将来会支持稀疏模型执行。所以我猜原因是tensorflow目前还不支持,所以我们只能得到一个稀疏的模型而没有速度提升。