-
Notifications
You must be signed in to change notification settings - Fork 65
Description
当我正常安装依赖后,运行pipeline中的dp_robomimic.py,出现了几个问题:
1.yaml文件中的dataset_path:的路径使用相对路径会出现该问题OSError: Unable to synchronously open file,改为绝对路径后可以加载路径(有更好的解决办法吗?)
2.再次运行后出现以下错误
Error executing job with overrides: []
Traceback (most recent call last):
File "/home/pxw/QDU/Neo/Project/CleanDiffuser-main/CleanDiffuser-main/pipelines/dp_robomimic.py", line 272, in pipeline
metrics.update(inference(args, envs, dataset, agent, logger))
File "/home/pxw/QDU/Neo/Project/CleanDiffuser-main/CleanDiffuser-main/pipelines/dp_robomimic.py", line 134, in inference
obs, reward, done, info = envs.step(action)
File "/home/pxw/anaconda3/envs/cdiff_v3/lib/python3.9/site-packages/gym/vector/vector_env.py", line 112, in step
return self.step_wait()
File "/home/pxw/anaconda3/envs/cdiff_v3/lib/python3.9/site-packages/gym/vector/sync_vector_env.py", line 138, in step_wait
observation, self._rewards[i], self._dones[i], info = env.step(action)
File "/home/pxw/QDU/Neo/Project/CleanDiffuser-main/CleanDiffuser-main/cleandiffuser/env/wrapper.py", line 110, in step
observation, reward, done, info = super().step(act)
File "/home/pxw/anaconda3/envs/cdiff_v3/lib/python3.9/site-packages/gym/core.py", line 280, in step
return self.env.step(action)
File "/home/pxw/QDU/Neo/Project/CleanDiffuser-main/CleanDiffuser-main/cleandiffuser/env/wrapper.py", line 248, in step
frame = self.env.render(
File "/home/pxw/QDU/Neo/Project/CleanDiffuser-main/CleanDiffuser-main/cleandiffuser/env/robomimic/robomimic_lowdim_wrapper.py", line 93, in render
return self.env.render(mode=mode,
File "/home/pxw/QDU/Neo/Project/CleanDiffuser-main/robomimic-master/robomimic/envs/env_robosuite.py", line 196, in render
im = self.env.sim.render(height=height, width=width, camera_name=camera_name)
File "/home/pxw/QDU/Neo/Project/CleanDiffuser-main/robosuite/robosuite/utils/binding_utils.py", line 1126, in render
assert self._render_context_offscreen is not None
AssertionError
我找到该文件binding_utils.py,debug发现self._render_context_offscreen为None,并且没有发现能给self._render_context_offscreen赋值的地方,请问该如何修改才能正常运行?
……
if camera_name is None:
camera_id = None
else:
camera_id = self.model.camera_name2id(camera_name)
assert mode == "offscreen", "only offscreen supported for now"
assert **self._render_context_offscreen is not None**
with _MjSim_render_lock:
self._render_context_offscreen.render(
width=width, height=height, camera_id=camera_id, segmentation=segmentation
)
return self._render_context_offscreen.read_pixels(width, height, depth=depth, segmentation=segmentation)
……