在 google colab 中运行健身房 atari?

时间:2021-06-02 16:09:02

标签: python google-colaboratory reinforcement-learning

所以我希望使用 GPU/TPU 在 colab 上训练模型,因为我的本地机器没有。我不介意将训练可视化,我只想让 colab 完成大部分工作。

将我的 .ipynb 导入 colab 并在我尝试使用任何 atari 游戏制作 env 时立即运行时出现错误:

---------------------------------------------------------------------------
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 时,我遇到了同样的问题,所以我有点不知所措。

提前致谢

1 个答案:

答案 0 :(得分:0)

所以我找到了解决方案。您首先需要从 http://www.atarimania.com/rom_collection_archive_atari_2600_roms.html

下载 rom

解压 .rar 文件,然后解压 HC Roms 和 Roms 文件夹。

接下来将文件夹上传到 colab 或您的 Google Drive,然后将其链接到您的 colab。

从这里运行:

<div class="cart-items">
///... Item 1 code ...

    <div class="qty-box">
       <div class="qty-ctl">
          <a class="incr-btn decrease" data-action="decrease" href="#"></a> 
       </div> 
       <input id="qnt" class="qty currQty input-text" type="text" value="{$poz->count}"/> 
       <div class="qty-ctl"> 
          <a class="incr-btn increase" data-action="increase" href="#"></a> 
       </div>
    </div>
///... Item 2 code ...

    <div class="qty-box">
       <div class="qty-ctl">
          <a class="incr-btn decrease" data-action="decrease" href="#"></a> 
       </div> 
       <input id="qnt" class="qty currQty input-text" type="text" value="{$poz->count}"/> 
       <div class="qty-ctl"> 
          <a class="incr-btn increase" data-action="increase" href="#"></a> 
       </div>
    </div>
</div>

我只需要导入 ROMS 文件夹,但根据您想要的环境,您可能还必须为 HC ROMS 运行它。

让 colab 做它的事情,然后再次尝试制作 env,它应该可以工作,让它运行 DQN 大约 6 个小时没有问题。

希望这对人们有所帮助。