google-deepmind / google-deepmind/deepmind-research
BYOL setup error: undefined symbol: _ZNK6google8protobuf7Message11GetTypeNameEv
- Dominant language
- Jupyter Notebook
- Stars
- 15.2k
- Forks
- 2.9k
- PR merge metrics
- No merged PRs in 30d
Description
Help! I followed the setup steps of [byol](https://github.com/deepmind/deepmind-research/tree/master/byol) [README](https://github.com/deepmind/deepmind-research/blob/master/byol/README.md) exactly, but as soon as I run `python -m byol.main_loop \
--experiment_mode='pretrain' \
--worker_mode='train' \
--checkpoint_root='/tmp/byol_checkpoints' \
--pretrain_epochs=40` or `python -m byol.main_loop_test` I got the following error:
```
Traceback (most recent call last):
File "/usr/lib/python3.7/runpy.py", line 193, in _run_module_as_main
"__main__", mod_spec)
File "/usr/lib/python3.7/runpy.py", line 85, in _run_code
exec(code, run_globals)
File "/content/byol/main_loop_test.py", line 21, in
from byol import byol_experiment
File "/content/byol/byol_experiment.py", line 25, in
from acme.jax import utils as acme_utils
File "/usr/local/lib/python3.7/dist-packages/acme/__init__.py", line 35, in
from acme.environment_loop import EnvironmentLoop
File "/usr/local/lib/python3.7/dist-packages/acme/environment_loop.py", line 26, in
from acme.utils import signals
File "/usr/local/lib/python3.7/dist-packages/acme/utils/signals.py", line 22, in
import launchpad
File "/usr/local/lib/python3.7/dist-packages/launchpad/__init__.py", line 36, in
from launchpad.nodes.courier.node import CourierHandle
File "/usr/local/lib/python3.7/dist-packages/launchpad/nodes/courier/node.py", line 21, in
import courier
File "/usr/local/lib/python3.7/dist-packages/courier/__init__.py", line 26, in
from courier.python.client import Client # pytype: disable=import-error
File "/usr/local/lib/python3.7/dist-packages/courier/python/client.py", line 30, in
from courier.python import py_client
ImportError: /usr/local/lib/python3.7/dist-packages/courier/python/libserialization_cc_proto.so: undefined symbol: _ZNK6google8protobuf7Message11GetTypeNameEv
```
I have tried many different python version and OS:
* **Python 3.9, 3.8, 3.7, 3.6**
* **Linux Ubuntu 20.04 LTS, Ubuntu 18.04.6 LTS (Google Colab), windows10, Jetson Nano Image jp461 (linux OS nvidia cuda embedded)**
There is no any error with the installation process, but as long as the execution of that step (`python -m byol.main_loop --...`) is to report an error (`...undefined symbol: _ZNK6google8protobuf7Message11GetTypeNameEv`).
I searched the internet and it seems to be related to **protobuf**. I tried to update the version or reinstall another version, but because of the dependency of the package, I ended up installing only **protobuf version == 3.19.6 (default), protobuf version == 3.19.5**
I also tried to compile jax, jaxlib, protobuf by myself (download the source code from their github), but it still didn't work.
I have also tried the following GPU hardware:
* Nvidia RTX 3090
* Nvidia GTX 1080Ti
* Nvidia GTX 1070
* Nvidia Jetson Nano 4GB
But all of them are not working. Can anyone **please provide me with the software and hardware environment settings** that I can be sure will work?
Contributor guide
Assessment
This issue has not been assessed yet.