3

我正在尝试使用 tensorflow 插件进行图像仿射转换,但我遇到了奇怪的错误。

我使用 anaconda 安装了 tensorflow 2.1,然后在 conda 上尚不可用的相同环境中安装 tensorflow 插件。错误可能来自那个事实......

这是代码,任何人都可以尝试吗?

some_image_path = '/path/to/an/image'
with open(some_image_path, 'rb') as f:
    image = tf.io.decode_image(f.read())

ops = tfa.image.transform_ops.angles_to_projective_transforms(90, image.shape[0], image.shape[1])
image = tfa.image.transform(image, ops)

这里的日志跟踪:

Traceback (most recent call last):
  File "/home/nicolas/.anaconda3/envs/posenet/lib/python3.7/site-packages/IPython/core/interactiveshell.py", line 3331, in run_code
    exec(code_obj, self.user_global_ns, self.user_ns)
  File "<ipython-input-24-2e958d55097f>", line 1, in <module>
    tfa.image.transform(image, ops)
  File "/home/nicolas/.anaconda3/envs/posenet/lib/python3.7/site-packages/tensorflow_core/python/eager/def_function.py", line 568, in __call__
    result = self._call(*args, **kwds)
  File "/home/nicolas/.anaconda3/envs/posenet/lib/python3.7/site-packages/tensorflow_core/python/eager/def_function.py", line 615, in _call
    self._initialize(args, kwds, add_initializers_to=initializers)
  File "/home/nicolas/.anaconda3/envs/posenet/lib/python3.7/site-packages/tensorflow_core/python/eager/def_function.py", line 497, in _initialize
    *args, **kwds))
  File "/home/nicolas/.anaconda3/envs/posenet/lib/python3.7/site-packages/tensorflow_core/python/eager/function.py", line 2389, in _get_concrete_function_internal_garbage_collected
    graph_function, _, _ = self._maybe_define_function(args, kwargs)
  File "/home/nicolas/.anaconda3/envs/posenet/lib/python3.7/site-packages/tensorflow_core/python/eager/function.py", line 2703, in _maybe_define_function
    graph_function = self._create_graph_function(args, kwargs)
  File "/home/nicolas/.anaconda3/envs/posenet/lib/python3.7/site-packages/tensorflow_core/python/eager/function.py", line 2593, in _create_graph_function
    capture_by_value=self._capture_by_value),
  File "/home/nicolas/.anaconda3/envs/posenet/lib/python3.7/site-packages/tensorflow_core/python/framework/func_graph.py", line 978, in func_graph_from_py_func
    func_outputs = python_func(*func_args, **func_kwargs)
  File "/home/nicolas/.anaconda3/envs/posenet/lib/python3.7/site-packages/tensorflow_core/python/eager/def_function.py", line 439, in wrapped_fn
    return weak_wrapped_fn().__wrapped__(*args, **kwds)
  File "/home/nicolas/.anaconda3/envs/posenet/lib/python3.7/site-packages/tensorflow_core/python/framework/func_graph.py", line 968, in wrapper
    raise e.ag_error_metadata.to_exception(e)
tensorflow.python.framework.errors_impl.NotFoundError: in converted code:
    /home/nicolas/.anaconda3/envs/posenet/lib/python3.7/site-packages/tensorflow_addons/image/transform_ops.py:110 transform  *
        output = _image_so.ops.addons_image_projective_transform_v2(
    /home/nicolas/.anaconda3/envs/posenet/lib/python3.7/site-packages/tensorflow_addons/utils/resource_loader.py:49 ops
        self._ops = tf.load_op_library(get_path_to_datafile(self.relative_path))
    /home/nicolas/.anaconda3/envs/posenet/lib/python3.7/site-packages/tensorflow_core/python/framework/load_library.py:57 load_op_library
        lib_handle = py_tf.TF_LoadLibrary(library_filename)
    NotFoundError: /home/nicolas/.anaconda3/envs/posenet/lib/python3.7/site-packages/tensorflow_addons/custom_ops/image/_image_ops.so: undefined symbol: _ZNK10tensorflow15shape_inference16InferenceContext11DebugStringEv
4

1 回答 1

3

好的,抱歉,实际上是将 pip 包与 conda 混合使用的错误。

所以解决方案是使用 pip 而不是 conda,直到 tensorflow 插件在 conda 上发布!

于 2020-02-22T15:12:12.847 回答