这篇文章是在我的另一篇关于 op 未注册的文章之后发布的:: NotFoundError: Op type not registered 'Dequantize'
现在,当我尝试像这篇文章中那样手动加载时: Install Tensorflow with Quantization Support
与:
qops = tf.load_op_library('/home/artem/projects/tensorflow/bazel-bin/tensorflow/contrib/quantization/_quantized_ops.so')
qkernelops = tf.load_op_library('/home/artem/projects/tensorflow/bazel-bin/tensorflow/contrib/quantization/kernels/_quantized_kernels.so')
我收到以下错误:
---------------------------------------------------------------------------
NotFoundError Traceback (most recent call last)
<ipython-input-4-799f99708cda> in <module>()
1
----> 2 qops = tf.load_op_library('/home/artem/projects/tensorflow/bazel-bin/tensorflow/contrib/quantization/_quantized_ops.so')
3 qkernelops = tf.load_op_library('/home/artem/projects/tensorflow/bazel-bin/tensorflow/contrib/quantization/kernels/_quantized_kernels.so')
/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/load_library.pyc in load_op_library(library_filename)
69 return _OP_LIBRARY_MAP[library_filename]
70 # pylint: disable=protected-access
---> 71 raise errors._make_specific_exception(None, None, error_msg, error_code)
72 # pylint: enable=protected-access
73 finally:
NotFoundError: /home/artem/projects/tensorflow/bazel-bin/tensorflow/contrib/quantization/_quantized_ops.so: undefined symbol: _ZN10tensorflow8internal21CheckOpMessageBuilder9NewStringB5cxx11Ev
看起来这是 C++ 编译器的问题,也许我应该添加 -D_GLIBCXX_USE_CXX11_ABI=0
,如本文中所示:
https://github.com/tensorflow/tensorflow/pull/1584
但实际上我做了bazel-build
,但我不知道如何管理它。
有人可以帮助我吗?测试示例来自https://www.tensorflow.org/versions/master/how_tos/quantization/index.html也不行。 如果有人能写出有关量化的详细手册,那就太好了。
最佳答案
Tensorflow 0.10 发布了!我更新后解决了这个问题! 在您的脚本中添加这些代码:
from tensorflow.contrib.quantization import load_quantized_ops_so
from tensorflow.contrib.quantization.kernels import load_quantized_kernels_so
和
load_quantized_ops_so.Load()
load_quantized_kernels_so.Load()
感谢 TF 团队!
关于c++ - tensorflow 教程中有关量化的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38615558/