深度强化学习加载Atari游戏运行库:Could not find module "XXXX\lib\site-packages\atari_py\ale_interface\ale_c.dll"与train.py: error: the following arguments are required: --rom

最近在调试DQN代码,在导入Atari游戏库进行强化学习训练的时候出现几个问题,在此总结为以下几点:

第一点:安装Atari-py与gym[atari]需要匹配版本,最好是atari-py版本0.2.6和gym 版本0.19.0   

     

第二点:遇到 报错 Could not find module "XXXX\lib\site-packages\atari_py\ale_interface\ale_c.dll"

对于此问题,网上有很多种做法,但是要根据每个人具体的情况具体分析,首先,需要查看安装下来的atari-py程序包中是否有ale_c.dll这个文件,例如我的环境网络包存储位置如下:H:\Software_install\anaconda\envs\Ezekiel\Lib\site-packages\atari_py

此刻需注意,查看自身此文件夹,假如有这个ale_c.dll文件,还是会报错Could not find module "XXXX\lib\site-packages\atari_py\ale_interface\ale_c.dll",那就应该是系统配置的问题,需要下载visual studio来安装必须的框架包。如下

 1、如果已安装gym and atari-py,先全部卸载掉:

pip uninstall atari-pypip uninstall gym[atari]

2、下载VS build tools: Thank you for downloading Visual Studio - Visual Studio

3、安装 VS:下图为英文版,右边多选框那边是自动标上的,然后点击安装就行

4、安装完毕之后,重启电脑

5、再安装Atari与gym库:最好是atari-py版本0.2.6和gym 版本0.19.0   

pip install cmakepip install atari_py==0.2.6pip install gym[atari]==0.19.0

6、在终端窗口输入运行训练文件即可

 第三点:遇到 报错train.py: error: the following arguments are required: --rom

 此处,在终端terminal窗口输入运行训练文件即可。

python train.py --rom ./rom_files/pong.bin

假如,需要点run或者运行的话要把

parser.add_argument('--rom', help='path of the rom of the atari game', required=True)

中的rom环境赋值,例如我跑的是pong,需要在run configuration里面把pong.bin的路径输上,再点运行即可。