解决使用Monitor出现gym.error.DependencyNotInstalled: Found neither the ffmpeg nor avconv executables的问题(代码
Posted 夏小悠
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决使用Monitor出现gym.error.DependencyNotInstalled: Found neither the ffmpeg nor avconv executables的问题(代码相关的知识,希望对你有一定的参考价值。
前言
本篇博客主要解决在win10
上使用gym
的Monitor
监控器保存训练游戏的视频时出现的错误:gym.error.DependencyNotInstalled: Found neither the ffmpeg nor avconv executables.
# 部分代码
env = gym.make("CartPole-v0")
# save
env = gym.wrappers.Monitor(env, directory="monitor-mp4", force=True)
obs_size = env.observation_space.shape[0]
n_actions = env.action_space.n
...
1. 问题描述
在win10
上使用gym
的Monitor
监控器保存训练游戏的视频时出现了错误:gym.error.DependencyNotInstalled: Found neither the ffmpeg nor avconv executables. On OS X, you can install ffmpeg via 'brew install ffmpeg'. On most Ubuntu variants, 'sudo apt-get install ffmpeg' should do it. On Ubuntu 14.04, however, you'll need to install avconv with 'sudo apt-get install libav-tools'.
2. 问题原因
问题出现的原因显而易见,缺少依赖库ffmpeg
,然后上来就是pip
大法:pip install ffmpeg
,当然,这是一个明智的做法,然而安装完之后一运行,还是这个错误。可能有的小伙伴就卖萌了,然后百度搜索一番,找到一个方法:更改参数。
env = gym.wrappers.Monitor(env, directory="monitor-mp4", force=True)
# 更改参数
env = gym.wrappers.Monitor(env, directory="monitor-mp4", video_callable=False, force=True)
# video_callable: False disables video recording
好家伙,上来把我录制视频的操作给我禁用了,这下子异常信息确实“完美”
解决了。解决问题嘛,还是要看问题出现的原因,再对症下药。在回过头来仔细看看异常信息提示:Found neither the ffmpeg nor avconv executables
意思是没有找到ffmpeg
可执行文件,所以还得安装一下ffmpeg
。
4. 解决方法
安装ffmpeg
可执行文件,注意,我们通过pip
安装的ffmpeg
并不是一个可执行文件,而是一个ffmpeg
的python
的API
。
对于OS X
或者Ubuntu
系统,在异常信息中就给出了如何安装ffmpeg的方法,但是没有给出win10上的安装方法,所以需要去官网自行下载。在FFmpeg的官网我们找到了win10
系统的安装包。
下载到的安装包是一个编译好的可执行文件,解压后需要将其添加到环境变量PATH
中:
然后重启电脑或PyCharm
使其生效,再次运行即可生成训练过程中的视频文件及相关模型的信息文件:
OpenAI-gym-video
结束语
继续搬砖…
以上是关于解决使用Monitor出现gym.error.DependencyNotInstalled: Found neither the ffmpeg nor avconv executables的问题(代码的主要内容,如果未能解决你的问题,请参考以下文章
解决使用Monitor出现gym.error.DependencyNotInstalled: Found neither the ffmpeg nor avconv executables的问题(代码
为什么async/await方法不能有lock或Monitor
MongoDB atlas 连接失败并出现错误 MongoServerSelectionError: connection <monitor> to 52.64.0.234:27017 c