【问题标题】:Gym wrapper videorecorder is not working properly on Hopper-v2 environment. Gives segmentation faultGym wrapper videorecorder 在 Hopper-v2 环境中无法正常工作。给出分段错误
【发布时间】: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


【解决方案1】:

安装以下依赖项;

pip install ffmpeg
pip install imageio-ffmpeg

解决了我的问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-04-17
    • 1970-01-01
    • 1970-01-01
    • 2011-12-21
    • 2020-01-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多