无法在 Anaconda 上从 OpenAI Gymnasium 捕获视频

问题描述 投票:0回答:1

我正在尝试从 OpenAI Gymnasium 捕获并保存视频。

在 Google Collab 中,此代码有效:

!pip install gymnasium
!pip install moviepy

import gymnasium as gym
env = gym.make("CartPole-v1", render_mode='rgb_array')
env = gym.wrappers.RecordVideo(env, 'vidcap')

observation, info = env.reset(seed=42)
for step in range(100):
    action = env.action_space.sample()
    observation, reward, terminated, truncated, info = env.step(action)

    if terminated or truncated:
        observation, info = env.reset()
env.close()
env.reset

(尽管出于某种原因我收到了两个视频)

然而,在 Anaconda (2.1.4) 中,完全相同的代码失败了;它似乎开始写入视频,但随后抛出错误。错误很长,但显示了这一行 ---> 88 '-r', '%.02f' % fps, 并以以下内容结尾: TypeError:必须是实数,而不是 NoneType。

在这里阅读之前的答案:使用 VecVideoRecorder 录制视频时无法设置帧速率

...我怀疑它想要(但没有获得)视频的帧速率。然而,我尝试过的任何方法都无法让我设置帧速率。我已经尝试过每一行代码:

#env.metadata["video.frames_per_second"] = 4         #works in Colab
#env.metadata["render_fps"] = 4                      #works in Colab
#env.metadata['video.fps'] = 4
#env.metadata.get("render_fps", 4)
#env.metadata['video.frames_per_second']

...但是虽然其中一些在 Colab 中工作,但没有一个在 Anaconda 中工作。

如果有人知道如何进行这项工作,我将非常感激。

video anaconda google-colaboratory reinforcement-learning openai-gym
1个回答
0
投票

你有没有弄清楚这一点?我将类似代码从协作转移到 GitHub 代码空间时遇到类似的错误。

© www.soinside.com 2019 - 2024. All rights reserved.