facebookresearch / r3m

Pre-training Reusable Representations for Robotic Manipulation Using Diverse Human Video Data
https://sites.google.com/view/robot-r3m/
MIT License
292 stars 45 forks source link

TypeError: can only concatenate str (not "ListConfig") to str #10

Closed jasonseu closed 2 years ago

jasonseu commented 2 years ago

Hi, thanks for your awesome work. The commands for kitchen environment run well and training results are also reasonable. However, the command of Adroit pen task fails to run in my case.

>>> python hydra_launcher.py --multirun hydra/launcher=local hydra/output=local env=pen-v0 camera=["view_1","top","view_4"] pixel_based=true embedding=resnet50 num_demos=25 env_kwargs.load_path=r3m bc_kwargs.finetune=false proprio=24 job_name=try_r3m
/root/miniconda3/envs/r3m/lib/python3.7/site-packages/gym/spaces/box.py:84: UserWarning: WARN: Box bound precision lowered by casting to float32
  logger.warn(f"Box bound precision lowered by casting to {self.dtype}")
RS:> Registering Arms Envs
/root/miniconda3/envs/r3m/lib/python3.7/site-packages/transforms3d/quaternions.py:26: DeprecationWarning: `np.float` is a deprecated alias for the builtin `float`. To silence this warning, use `float` by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, use `np.float64` here.
Deprecated in NumPy 1.20; for more details and guidance: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations
  _MAX_FLOAT = np.maximum_sctype(np.float)
RS:> Registering Biomechanics Envs
RS:> Registering Hand Envs
RS:> Registering Kitchen Envs
/root/miniconda3/envs/r3m/lib/python3.7/site-packages/torch/utils/tensorboard/__init__.py:3: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead.
  if not hasattr(tensorboard, '__version__') or LooseVersion(tensorboard.__version__) < LooseVersion('1.15'):
Error executing job with overrides: ['env=pen-v0', 'camera=[view_1,top,view_4]', 'pixel_based=True', 'embedding=resnet50', 'num_demos=25', 'env_kwargs.load_path=r3m', 'bc_kwargs.finetune=False', 'proprio=24', 'job_name=try_r3m']
Traceback (most recent call last):
  File "/root/miniconda3/envs/r3m/lib/python3.7/site-packages/hydra/_internal/utils.py", line 211, in run_and_report
    return func()
  File "/root/miniconda3/envs/r3m/lib/python3.7/site-packages/hydra/_internal/utils.py", line 389, in <lambda>
    overrides=args.overrides,
  File "/root/miniconda3/envs/r3m/lib/python3.7/site-packages/hydra/_internal/hydra.py", line 140, in multirun
    ret = sweeper.sweep(arguments=task_overrides)
  File "/root/miniconda3/envs/r3m/lib/python3.7/site-packages/hydra/_internal/core_plugins/basic_sweeper.py", line 161, in sweep
    _ = r.return_value
  File "/root/miniconda3/envs/r3m/lib/python3.7/site-packages/hydra/core/utils.py", line 233, in return_value
    raise self._return_value
TypeError: can only concatenate str (not "ListConfig") to str

The versions of the relevant packages are as follows:

hydra-core==1.1.1
hydra-submitit-launcher==1.1.5
omegaconf==2.1.1

They are the same as in your r3m_base.yaml. I also have tried other versions, but the bug is always there. Do you have any suggestions?

suraj-nair-1 commented 2 years ago

The error looks to be because you are passing in a list of cameras [view_1,top,view_4] when you should just pass in one.