3

我从Tensorflow-pruning得到了一个稀疏权重矩阵来减少SqueezeNet. 之后strip_pruning_vars,我检查了权重矩阵中大部分元素成功修剪为 0。但是,模型的性能并没有达到我的预期。似乎需要支持稀疏矩阵运算的附加软件库或硬件。有人告诉我使用Intel-MKL库会有所帮助,但我不知道如何将它与 Tensorflow 集成。现在,我.pb修剪了 SqueezeNet 的文件。任何类型的帮助都将受到高度赞赏。

4

2 回答 2

1

您可以尝试英特尔® TensorFlow* Wheel 优化。

建议使用 Intel 环境。

请按照以下步骤操作。

  1. 使用以下命令创建 conda 环境:

    conda create -n my_intel_env -c intel python=3.6

  2. 激活环境。

    source activate my_intel_env

  3. 安装轮子

    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”。

希望这可以帮助。

于 2019-05-16T14:01:24.077 回答
0

我和你遇到了同样的问题。我使用 tensorflow 对模型进行剪枝,但实际上剪枝后的模型并没有得到更快的预测速度。在 tensorflow 的路线图中(https://www.tensorflow.org/model_optimization/guide/roadmap)他们说他们将来会支持稀疏模型执行。所以我猜原因是tensorflow目前还不支持,所以我们只能得到一个稀疏的模型而没有速度提升。

于 2019-09-25T03:01:21.880 回答