【发布时间】:2021-12-05 08:00:48
【问题描述】:
我正在尝试保存我的 Hopper-v2 环境的渲染视频,但是它给出了分段错误错误。我制作了一个简短的代码示例来重现该问题。
import os
from gym.wrappers.monitoring.video_recorder import VideoRecorder
path_project = os.path.abspath(os.path.join(__file__, ".."))
path_of_video_with_name = os.path.join(path_project, "videotest.mp4")
env = gym.make('Hopper-v2') # for making environment
state = env.reset()
video_recorder = None
video_recorder = VideoRecorder(env, path_of_video_with_name, enabled=True)
for _ in range(1000):
env.render()
video_recorder.capture_frame()
env.step(env.action_space.sample()) # take a random action
print("Saved video.")
video_recorder.close()
video_recorder.enabled = False
env.close()
这给出了错误: 进程以退出代码 139 结束(被信号 11:SIGSEGV 中断)
但它确实会创建一个只有 14 帧长的视频,然后会被中断。通过注释掉“video_recorder.capture_frame()”行,它将呈现完整的剧集。使用 cartpole 环境而不是 hopper,确实有效并保存了整个剧集。
我正在使用 Linux 20.0.4 (Ubuntu),Gym 版本 0.21.0 使用 pip install gym,python 版本 3.7.6。
如果有人知道,请告诉我
【问题讨论】:
-
好的,使用
env = gym.wrappers.Monitor(env, path_of_video_with_name)确实有效。另一个解决方案给出错误仍然很奇怪
标签: python-3.x linux segmentation-fault ubuntu-20.04 openai-gym