安装Tensorflow并提供量化支持

时间:2016-07-18 04:45:17

标签: python tensorflow quantization tensorboard

这是我对另一个问题的跟进:Error with 8-bit Quantization in Tensorflow

基本上,我想安装具有8位量化支持的Tensorflow。目前,我在CentOS 7机器上安装了Tensorflow 0.9和pip安装方法(没有GPU支持)。

我可以编译并运行Pete Warden博客文章中给出的代码。但是,我无法导入Pete Warden回复中给出的功能。我想添加量化支持。我在Tensorflow文档中也找不到有关量化部分的任何细节。

有人可以分享有关如何操作的详细信息吗?

2 个答案:

答案 0 :(得分:3)

暂时,我可以找到一种方法来做到这一点。但仍在等待任何TensorFlow开发人员的官方方法。

  1. 首先安装tensorflow(我尝试了源安装以及PIP安装,两者都没问题)
  2. 从Github仓库获取tensorflow源并转到tensorflow根目录(我称之为tensorflow_root
  3. 现在编译Pete Warden's blog
  4. 中给出的量化脚本

    bazel build tensorflow/contrib/quantization/tools:quantize_graph

    这将为量化版本创建ops库。转到tensorflow_root / bazel-bin / tensorflow / contrib / quantization,您应该看到两个库文件:_quantized_ops.sokernels/_quantized_kernels.so

    1. 现在在您的脚本中,连同tensorflow,您还应该使用专用的tensorflow函数导入这两个库文件
    2. 您可以使用 tf.load_op_library()功能

      进行此操作
      import tensorflow as tf
      qops = tf.load_op_library('[tensorflow_root]/bazel-bin/tensorflow/contrib/quantization/_quantized_ops.so')
      qkernelops = tf.load_op_library('[tensorflow_root]/bazel-bin/tensorflow/contrib/quantization/kernels/_quantized_kernels.so')
      

答案 1 :(得分:0)

您使用的是GPU还是CPU版本的tensorflow。

例如它不适用于CPU,但是Abid提到从本地工作目录加载ops库。

但是当最新版本集成了这些操作并且导入时没有错误时,使用bazel构建有什么意义。

$ khemant@saturn:~/DeepLearning/TF$ python -c "import tensorflow as tf; print(tf.__version__)"

0.12.0-RC0

$ khemant@saturn:~/DeepLearning/TF$ python

Python 2.7.6(默认,2016年10月26日,20:30:19) linux2上的[GCC 4.8.4] 输入“帮助”,“版权”,“信用”或“许可”以获取更多信息。

>>> from tensorflow.contrib.quantization import load_quantized_ops_so

追踪(最近一次通话):   文件“”,第1行,in ImportError:无法导入名称load_quantized_ops_so

>>> import tensorflow as tf

>>> from tensorflow.contrib.quantization import load_quantized_ops_so

追踪(最近一次通话):   文件“”,第1行,in ImportError:无法导入名称load_quantized_ops_so `