运行 google Colab 中的 gym atari?
Running gym atari in google colab?
所以我希望使用 GPU/TPU 在 colab 上训练模型,因为我的本地机器没有。我不介意将训练可视化,我只想让 colab 完成大部分工作。
将我的 .ipynb 导入 colab 并 运行ning 时,只要我尝试使用任何 atari 游戏制作环境,我就会收到错误消息:
---------------------------------------------------------------------------
Exception Traceback (most recent call last)
<ipython-input-21-8d6f8581e7f9> in <module>()
----> 1 env = gym.make('SpaceInvaders-v0')
2 height, width, channels = env.observation_space.shape
3 actions = env.action_space.n
4
5 model = build_model(height,width, channels,actions)
4 frames
/usr/local/lib/python3.7/dist-packages/atari_py/games.py in get_game_path(game_name)
18 path = os.path.join(_games_dir, game_name) + ".bin"
19 if not os.path.exists(path):
---> 20 raise Exception('ROM is missing for %s, see https://github.com/openai/atari-py#roms for instructions' % (game_name,))
21 return path
22
Exception: ROM is missing for space_invaders, see https://github.com/openai/atari-py#roms for instructions
我在本地遇到了这个问题,并通过 github 上的步骤修复了它,但我似乎无法让 colab 做类似的事情。我在网上找到了大量的教程,它们都可以正常工作,当我 运行 他们的 colab 时,我遇到了同样的问题,所以我有点不知所措。
提前致谢
所以我找到了解决办法。您首先需要从 http://www.atarimania.com/rom_collection_archive_atari_2600_roms.html
下载 rom
解压缩 .rar 文件,然后解压缩 HC Roms 和 Roms 文件夹。
接下来将文件夹上传到 colab 或您的 Google 驱动器,然后 link 将其上传到您的 colab。
从这里开始 运行:
!python -m atari_py.import_roms <path to Rom folder>
我只需要导入 ROM 文件夹,但取决于您想要的环境,对于 HC ROM,您可能还需要 运行 它。
让 colab 做它的事情,然后尝试再次制作环境,它应该可以工作,运行使用 DQN 大约 6 个小时,没有任何问题。
希望这对人们有所帮助。
有一个方便的 AutoROM 包,您可以使用它来自动安装 ROM。在任何 Jupyter 笔记本、Colab 笔记本或 Kaggle 内核中只需 运行 以下命令:
%pip install -U gym>=0.21.0
%pip install -U gym[atari,accept-rom-license]
详情:
使用 %pip
而不是 !pip
可确保将软件包安装到与笔记本 运行ning 相同的 Python 环境中英寸
accept-rom-license
选项安装包含 AutoROM
命令的 autorom
软件包。它还 运行 自动使用 --accept-license
选项执行此命令。如果你 运行 它没有这个选项,你会收到以下消息,所以要小心。我的感觉是,将它们用于研究和教育目的是可以的,但我不是律师:
AutoROM will download the Atari 2600 ROMs.
They will be installed to:
[...]/site-packages/AutoROM/roms
Existing ROMs will be overwritten.
I own a license to these Atari 2600 ROMs.
I agree to not distribute these ROMs and wish to proceed: [Y/n]:
运行 AutoROM --help
更多选项。
所以我希望使用 GPU/TPU 在 colab 上训练模型,因为我的本地机器没有。我不介意将训练可视化,我只想让 colab 完成大部分工作。
将我的 .ipynb 导入 colab 并 运行ning 时,只要我尝试使用任何 atari 游戏制作环境,我就会收到错误消息:
---------------------------------------------------------------------------
Exception Traceback (most recent call last)
<ipython-input-21-8d6f8581e7f9> in <module>()
----> 1 env = gym.make('SpaceInvaders-v0')
2 height, width, channels = env.observation_space.shape
3 actions = env.action_space.n
4
5 model = build_model(height,width, channels,actions)
4 frames
/usr/local/lib/python3.7/dist-packages/atari_py/games.py in get_game_path(game_name)
18 path = os.path.join(_games_dir, game_name) + ".bin"
19 if not os.path.exists(path):
---> 20 raise Exception('ROM is missing for %s, see https://github.com/openai/atari-py#roms for instructions' % (game_name,))
21 return path
22
Exception: ROM is missing for space_invaders, see https://github.com/openai/atari-py#roms for instructions
我在本地遇到了这个问题,并通过 github 上的步骤修复了它,但我似乎无法让 colab 做类似的事情。我在网上找到了大量的教程,它们都可以正常工作,当我 运行 他们的 colab 时,我遇到了同样的问题,所以我有点不知所措。
提前致谢
所以我找到了解决办法。您首先需要从 http://www.atarimania.com/rom_collection_archive_atari_2600_roms.html
下载 rom解压缩 .rar 文件,然后解压缩 HC Roms 和 Roms 文件夹。
接下来将文件夹上传到 colab 或您的 Google 驱动器,然后 link 将其上传到您的 colab。
从这里开始 运行:
!python -m atari_py.import_roms <path to Rom folder>
我只需要导入 ROM 文件夹,但取决于您想要的环境,对于 HC ROM,您可能还需要 运行 它。
让 colab 做它的事情,然后尝试再次制作环境,它应该可以工作,运行使用 DQN 大约 6 个小时,没有任何问题。
希望这对人们有所帮助。
有一个方便的 AutoROM 包,您可以使用它来自动安装 ROM。在任何 Jupyter 笔记本、Colab 笔记本或 Kaggle 内核中只需 运行 以下命令:
%pip install -U gym>=0.21.0
%pip install -U gym[atari,accept-rom-license]
详情:
使用
%pip
而不是!pip
可确保将软件包安装到与笔记本 运行ning 相同的 Python 环境中英寸accept-rom-license
选项安装包含AutoROM
命令的autorom
软件包。它还 运行 自动使用--accept-license
选项执行此命令。如果你 运行 它没有这个选项,你会收到以下消息,所以要小心。我的感觉是,将它们用于研究和教育目的是可以的,但我不是律师:AutoROM will download the Atari 2600 ROMs. They will be installed to: [...]/site-packages/AutoROM/roms Existing ROMs will be overwritten. I own a license to these Atari 2600 ROMs. I agree to not distribute these ROMs and wish to proceed: [Y/n]:
运行
AutoROM --help
更多选项。