erwincoumans / motion_imitation

Code accompanying the paper "Learning Agile Robotic Locomotion Skills by Imitating Animals"
Apache License 2.0
1.13k stars 284 forks source link

Update readme #78

Open Berk-Tosun opened 2 years ago

Berk-Tosun commented 2 years ago

Remove misleading Python 3.8 statement from installation instructions. Python3.8 pip cannot install tensorflow1.x.

And it will stay that way: https://github.com/tensorflow/tensorflow/issues/39768#issuecomment-632799481

Berk-Tosun commented 2 years ago

Regarding requirements update, protobuf version must be specified, otherwise I get the following error while running:

python3 -m motion_imitation.examples.test_env_gui --robot_type=A1 --motor_control_mode=Position --on_rack=True

error: pybullet build time: May 20 2022 19:43:01 Traceback (most recent call last): File "/home/berk/miniconda3/envs/py37/lib/python3.7/runpy.py", line 193, in _run_module_as_main "main", mod_spec) File "/home/berk/miniconda3/envs/py37/lib/python3.7/runpy.py", line 85, in _run_code exec(code, run_globals) File "/home/berk/Documents/msc_thesis/ws2/motion_imitation/motion_imitation/examples/test_env_gui.py", line 15, in from motion_imitation.envs import env_builder File "/home/berk/Documents/msc_thesis/ws2/motion_imitation/motion_imitation/envs/env_builder.py", line 37, in from motion_imitation.envs.utilities import controllable_env_randomizer_from_config File "/home/berk/Documents/msc_thesis/ws2/motion_imitation/motion_imitation/envs/utilities/controllable_env_randomizer_from_config.py", line 32, in import tensorflow as tf File "/home/berk/miniconda3/envs/py37/lib/python3.7/site-packages/tensorflow/init.py", line 102, in from tensorflow_core import File "/home/berk/miniconda3/envs/py37/lib/python3.7/site-packages/tensorflow_core/init.py", line 28, in from tensorflow.python import pywrap_tensorflow # pylint: disable=unused-import File "", line 1019, in _handle_fromlist File "/home/berk/miniconda3/envs/py37/lib/python3.7/site-packages/tensorflow/init.py", line 50, in getattr module = self._load() File "/home/berk/miniconda3/envs/py37/lib/python3.7/site-packages/tensorflow/init.py", line 44, in _load module = _importlib.import_module(self.name) File "/home/berk/miniconda3/envs/py37/lib/python3.7/importlib/init.py", line 127, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "/home/berk/miniconda3/envs/py37/lib/python3.7/site-packages/tensorflow_core/python/init.py", line 52, in from tensorflow.core.framework.graph_pb2 import File "/home/berk/miniconda3/envs/py37/lib/python3.7/site-packages/tensorflow_core/core/framework/graph_pb2.py", line 16, in from tensorflow.core.framework import node_def_pb2 as tensorflow_dot_core_dot_framework_dot_nodedefpb2 File "/home/berk/miniconda3/envs/py37/lib/python3.7/site-packages/tensorflow_core/core/framework/node_def_pb2.py", line 16, in from tensorflow.core.framework import attr_value_pb2 as tensorflow_dot_core_dot_framework_dot_attrvaluepb2 File "/home/berk/miniconda3/envs/py37/lib/python3.7/site-packages/tensorflow_core/core/framework/attr_value_pb2.py", line 16, in from tensorflow.core.framework import tensor_pb2 as tensorflow_dot_core_dot_framework_dot_tensorpb2 File "/home/berk/miniconda3/envs/py37/lib/python3.7/site-packages/tensorflow_core/core/framework/tensor_pb2.py", line 16, in from tensorflow.core.framework import resource_handle_pb2 as tensorflow_dot_core_dot_framework_dot_resourcehandle__pb2 File "/home/berk/miniconda3/envs/py37/lib/python3.7/site-packages/tensorflow_core/core/framework/resource_handle_pb2.py", line 16, in from tensorflow.core.framework import tensor_shape_pb2 as tensorflow_dot_core_dot_framework_dot_tensorshapepb2 File "/home/berk/miniconda3/envs/py37/lib/python3.7/site-packages/tensorflow_core/core/framework/tensor_shape_pb2.py", line 42, in serialized_options=None, file=DESCRIPTOR), File "/home/berk/miniconda3/envs/py37/lib/python3.7/site-packages/google/protobuf/descriptor.py", line 560, in new _message.Message._CheckCalledFromGeneratedFile() TypeError: Descriptors cannot not be created directly. If this call came from a _pb2.py file, your generated code is out of date and must be regenerated with protoc >= 3.19.0. If you cannot immediately regenerate your protos, some other possible workarounds are:

  1. Downgrade the protobuf package to 3.20.x or lower.
  2. Set PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python (but this will use pure-Python parsing and will be much slower).

More information: https://developers.google.com/protocol-buffers/docs/news/2022-05-06#python-updates