dyson-ai / hdp

[CVPR 2024] Hierarchical Diffusion Policy for Multi-Task Robotic Manipulation
MIT License
117 stars 8 forks source link

RuntimeError when getting task demos #4

Closed zbzhu99 closed 4 months ago

zbzhu99 commented 4 months ago

Hello, and thank you for providing the source code. I encountered a RuntimeError when attempting to run the training script for the rk_diffuser. Here is the traceback:

Getting demos for task open_box
Process Process-2:
Traceback (most recent call last):
  File "anaconda3/envs/hdp/lib/python3.10/multiprocessing/process.py", line 314, in _bootstrap
    self.run()
  File "anaconda3/envs/hdp/lib/python3.10/multiprocessing/process.py", line 108, in run
    self._target(*self._args, **self._kwargs)
  File "hdp/rk_diffuser/dataset/rl_bench_dataset.py", line 307, in _get_demos
    demos = _get_demos_fn()
  File "hdp/rk_diffuser/dataset/rl_bench_dataset.py", line 296, in _get_demos_fn
    demos = env._task.get_demos(amount=self._num_episodes, live_demos=False)
  File "hdp/lib/python3.10/site-packages/rlbench/task_environment.py", line 122, in get_demos
    raise RuntimeError(
RuntimeError: Can't ask for a stored demo when no dataset root provided.

I tried to examine the problem, and found that it might be related to the forked yarr repo. In yarr/envs/rlbench_env.py, the dataset_root is modified to not being passed to the inner RLbench environment.

https://github.com/Yusufma03/YARR/blob/a431536a0a863d13be7ceb5efd4a465ebf431623/yarr/envs/rlbench_env.py#L161-L166

Thank you for your attention to this matter.

Yusufma03 commented 4 months ago

Hi, thanks for finding this! Yes, I've reproduced the bug and just pushed a fix to it.