NotFoundError при попытке импортировать tensorflow-quantumm

#python #tensorflow #undefined-symbol

Вопрос:

Когда я пытаюсь запустить import tensorflow_quantum , я получаю следующую ошибку:

 2021-08-19 11:03:01.024791: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libcudart.so.11.0'; dlerror: libcudart.so.11.0: cannot open shared object file: No such file or directory
2021-08-19 11:03:01.024808: I tensorflow/stream_executor/cuda/cudart_stub.cc:29] Ignore above cudart dlerror if you do not have a GPU set up on your machine.
Traceback (most recent call last):
  File "/home/sam/.local/lib/python3.9/site-packages/tensorflow_quantum/core/ops/load_module.py", line 42, in load_module
    return load_library.load_op_library(path)
  File "/home/sam/.local/lib/python3.9/site-packages/tensorflow/python/framework/load_library.py", line 58, in load_op_library
    lib_handle = py_tf.TF_LoadLibrary(library_filename)
tensorflow.python.framework.errors_impl.NotFoundError: /home/sam/.local/lib/python3.9/site-packages/tensorflow_quantum/core/ops/_tfq_simulate_ops.so: undefined symbol: _ZN10tensorflow6StatusC1ENS_5error4CodeEN4absl14lts_2020_09_2311string_viewEOSt6vectorINS_10StackFrameESaIS7_EE

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/sam/.local/lib/python3.9/site-packages/tensorflow_quantum/__init__.py", line 18, in <module>
    from tensorflow_quantum.core import (append_circuit, get_expectation_op,
  File "/home/sam/.local/lib/python3.9/site-packages/tensorflow_quantum/core/__init__.py", line 17, in <module>
    from tensorflow_quantum.core.ops import (get_expectation_op,
  File "/home/sam/.local/lib/python3.9/site-packages/tensorflow_quantum/core/ops/__init__.py", line 18, in <module>
    from tensorflow_quantum.core.ops.circuit_execution_ops import (
  File "/home/sam/.local/lib/python3.9/site-packages/tensorflow_quantum/core/ops/circuit_execution_ops.py", line 20, in <module>
    from tensorflow_quantum.core.ops import (cirq_ops, tfq_simulate_ops,
  File "/home/sam/.local/lib/python3.9/site-packages/tensorflow_quantum/core/ops/tfq_simulate_ops.py", line 19, in <module>
    SIM_OP_MODULE = load_module("_tfq_simulate_ops.so")
  File "/home/sam/.local/lib/python3.9/site-packages/tensorflow_quantum/core/ops/load_module.py", line 46, in load_module
    return load_library.load_op_library(path)
  File "/home/sam/.local/lib/python3.9/site-packages/tensorflow/python/framework/load_library.py", line 58, in load_op_library
    lib_handle = py_tf.TF_LoadLibrary(library_filename)
tensorflow.python.framework.errors_impl.NotFoundError: /home/sam/anaconda3/envs/quantum-env/lib/python3.9/site-packages/tensorflow_quantum/core/ops/_tfq_simulate_ops.so: undefined symbol: _ZN10tensorflow6StatusC1ENS_5error4CodeEN4absl14lts_2020_09_2311string_viewEOSt6vectorINS_10StackFrameESaIS7_EE
 

Так что, похоже, есть какой-то неопределенный символ

 ZN10tensorflow6StatusC1ENS_5error4CodeEN4absl14lts_2020_09_2311string_viewEOSt6vectorINS_10StackFrameESaIS7_EE
 

но я действительно не знаю, что это значит.

Я использую Pop!_OS 21.04, Tensorflow 2.6.0, Tensorflow Quantum 0.6.0 и python 3.9.5. Я устанавливаю Tensorflow Quantum в соответствии с инструкциями на этой странице, но я все еще не смог импортировать его в python. Я получаю ту же ошибку, когда пытаюсь запустить python через командную строку, или в Spyder, или в записной книжке Jupyter.

Я действительно понятия не имею, что здесь происходит. Мне удалось найти здесь несколько похожих вопросов/ответов, но наиболее многообещающие из них просто связаны со страницей инструкций, которая в настоящее время выдает ошибку 404. Любая помощь будет очень признательна.

Ответ №1:

Проблема повторяется в TF 2.5 ,2.6 . Попробовал в 2.4.1 , Отредактированный код : (пожалуйста, попробуйте в python 3.7/3.8 )

     pip install -q tensorflow==2.4.1
    pip install -q tensorflow-quantum
    import tensorflow as tf
    import tensorflow_quantum as tfq 
 

предоставление сути для справки