这篇文章跟着我另一篇关于op未注册的帖子::NotFoundError:Op类型未注册'Dequantize'
现在,当我尝试像本文中那样手动加载时:安装带有量化支持的Tensorflow
和:
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团队!
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句