ImportError: Attempted to load a reverb dynamic library, but it could not find the required symbols inside of TensorFlow.
not sure why this comment exists, I cannot delete it
expected outcome: script completes
actual output: I get the following error output
error output:
2024-08-01 09:20:23.497544: I tensorflow/core/util/port.cc:153] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable TF_ENABLE_ONEDNN_OPTS=0`.
2024-08-01 09:20:23.497972: I external/local_xla/xla/tsl/cuda/cudart_stub.cc:32] Could not find cuda drivers on your machine, GPU will not be used.
2024-08-01 09:20:23.500704: I external/local_xla/xla/tsl/cuda/cudart_stub.cc:32] Could not find cuda drivers on your machine, GPU will not be used.
2024-08-01 09:20:23.509208: E external/local_xla/xla/stream_executor/cuda/cuda_fft.cc:485] Unable to register cuFFT factory: Attempting to register factory for plugin cuFFT when one has already been registered
2024-08-01 09:20:23.522218: E external/local_xla/xla/stream_executor/cuda/cuda_dnn.cc:8454] Unable to register cuDNN factory: Attempting to register factory for plugin cuDNN when one has already been registered
2024-08-01 09:20:23.526436: E external/local_xla/xla/stream_executor/cuda/cuda_blas.cc:1452] Unable to register cuBLAS factory: Attempting to register factory for plugin cuBLAS when one has already been registered
2024-08-01 09:20:23.535967: I tensorflow/core/platform/cpu_feature_guard.cc:210] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations.
To enable the following instructions: AVX2 AVX_VNNI FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags.
2024-08-01 09:20:24.183294: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT
Traceback (most recent call last):
File "/home/ianclark/.pyenv/versions/3.11.9/lib/python3.11/site-packages/reverb/pybind.py", line 4, in
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/ianclark/Github/tf_agent/main.py", line 14, in
Orignal error: /home/ianclark/.pyenv/versions/3.11.9/lib/python3.11/site-packages/reverb/libpybind.so: undefined symbol: _ZN4absl12lts_2023012513hash_internal15MixingHashState5kSeedE`
package version info:
python --version Python 3.11.9
`pip list tf-agents Package Version
absl-py 2.1.0 asttokens 2.4.1 astunparse 1.6.3 cachetools 5.4.0 certifi 2024.7.4 charset-normalizer 3.3.2 cloudpickle 3.0.0 contourpy 1.2.1 cycler 0.12.1 decorator 5.1.1 dm-reverb 0.14.0 dm-tree 0.1.8 executing 2.0.1 flatbuffers 24.3.25 fonttools 4.53.1 gast 0.6.0 gin-config 0.5.0 google-auth 2.32.0 google-auth-oauthlib 1.2.1 google-pasta 0.2.0 grpcio 1.65.2 gym 0.23.0 gym-notices 0.0.8 h5py 3.11.0 idna 3.7 imageio 2.4.0 ipython 8.26.0 jedi 0.19.1 keras 3.4.1 kiwisolver 1.4.5 libclang 18.1.1 Markdown 3.6 markdown-it-py 3.0.0 MarkupSafe 2.1.5 matplotlib 3.9.1 matplotlib-inline 0.1.7 mdurl 0.1.2 ml-dtypes 0.3.2 namex 0.0.8 numpy 1.26.4 oauthlib 3.2.2 opt-einsum 3.3.0 optree 0.12.1 packaging 24.1 parso 0.8.4 pexpect 4.9.0 pillow 10.4.0 pip 24.2 portpicker 1.6.0 prompt_toolkit 3.0.47 protobuf 4.25.4 psutil 6.0.0 ptyprocess 0.7.0 pure_eval 0.2.3 pyasn1 0.6.0 pyasn1_modules 0.4.0 pygame 2.6.0 Pygments 2.18.0 pyparsing 3.1.2 python-dateutil 2.9.0.post0 PyVirtualDisplay 3.0 requests 2.32.3 requests-oauthlib 2.0.0 rich 13.7.1 rlds 0.1.8 rsa 4.9 setuptools 65.5.0 six 1.16.0 stack-data 0.6.3 tensorboard 2.17.0 tensorboard-data-server 0.7.2 tensorflow 2.17.0 tensorflow-estimator 2.15.0 tensorflow-io-gcs-filesystem 0.37.1 tensorflow-probability 0.22.1 termcolor 2.4.0 tf-agents 0.7.1 tf_keras 2.17.0 traitlets 5.14.3 typing_extensions 4.6.0 urllib3 2.2.2 wcwidth 0.2.13 Werkzeug 3.0.3 wheel 0.43.0 wrapt 1.14.1`
I have the same issue, did you find a solution?
The issue comes from the Tensorflow version you have installed. At the time of this post, the highest version of Reverb is 0.14.0, and the latest version of Tensorflow it works with is 2.15.1. Your version of Tensorflow is higher than that so it won't work. The core issue is that pip will not detect the version problem and will install the latest available. If you install reverb in a clean environment following the official website, then it should install the right versions, but if later you make another installation that involves tensorflow (for example tf-agents or tf-keras) pip will automatically upgrade tensorflow version and Reverb will fail. If you really have to, use pip install tf-keras==2.15.1 to force a compatible version.