その他プログラム

Google ColabのGPUでStable Baselinesをクラウド学習する

  • LINEで送る

1,237 views

     

GPUを利用してStableBaselinesを実行させたいが、ローカルPCにはGPUがない場合に、クラウド上のGPUを利用することができます。

ただし、クラウドではゲーム画面を表示したテストができないので、クラウドが利用できるのは学習のみで、以下のながれでテストすることになります。

  1. クラウドで学習させ学習済みモデルをクラウド上に生成する
  2. 学習済みモデルをローカルPCにダウンロードする
  3. ローカルPCで学習済みモデルを使用してゲーム画面を表示して動作確認する

ここでは、無償でGPUが利用可能なGoogleColabを利用して学習させる方法について記載しようと思います。

また、Google Colabには以下の制限がありますので、長時間の学習を行う場合はご注意ください。

90分ルール

  • 何も操作せずに90分経つとインスタンス内に保存したデータがリセットされてしまいます
  • リセット前にノートブックを更新することで継続可能になります

12時間ルール

  • インスタンスが起動してから12時間経つとインスタンス内に保存したデータがリセットされてしまいます
  • リセット前にGoogleドライブにデータを退避し、リセット後に退避したデータを利用して学習を再開させることで継続可能になります

1.Googleアカウントを準備する

  1. GoogleColabを使うために、Googleドライブを利用するので、Googleアカウントを準備してください。
  2. Googleアカウントを持っていない場合は、Googleアカウントを新規作成してください。

2.Google DriveでGoogle Colab利用環境を準備する

2-1.Google Driveにアクセスする

  1. 1で準備したGoogleアカウントでGoogleドライブにアクセスしてください

2-2.Google Colabで利用する作業フォルダを作成する

  1. Googleドライブにフォルダを新規作成してください
  2. 作成したドライブを右クリックしてください
  3. 「アプリで開く」⇒「アプリを追加」を選択してください
  4. ドライブにアプリを追加で「colaboratory」で検索してください
  5. 「接続」ボタンを押し、フォルダと「Google Colab」を連携してください

2-3.Google Colab作業用ノートブックを作成する

  1. 2-2で作成したフォルダ内で「右クリック」してください
  2. 「その他」⇒「Colaboratory」を選択し、新規ノートブック(ipynb)を作成してください

2-4.Google Colab環境を起動する

  1. 2-3で作成したノートブックをダブルクリックしてGoogle Colabを起動してください

2-5.Google ColabでGPUの利用設定する

  1. Google Colab環境起動後、「編集」⇒「ノートブックの設定」を選択し設定画面を開いてください
  2. ハードウェアアクセラレータで「GPU」を選択し「保存」を押してください、GPUが利用されるようになります

3.実行ファイル(python)をGoogle Colab環境にマウントする

3-1.Googleドライブに実行ファイルを格納する

  1. 作業フォルダ(2-2で作成)に実行ファイルを格納してください

3-2.Googleドライブをマウントする

  1. ノートブック上で下記のコマンドを実行して、Googleドライブをマウントしてください

3-3.GoogleドライブからGoogle Colab環境に実行ファイルをコピーする

  1. ノードブック上で下記のコマンドを実行して、実行ファイル(3-1で格納)をGoogle Colab環境にコピーしてください

〇〇〇.py:実行ファイル名
◇◇◇:Googleドライブ上の作業ディレクトリ名(2-2で作成)

4.Google Colab環境にStable Baselines実行環境を構築する

4-1.Stable Baselinesをインストールする

  1. ノートブック上で下記のコマンドを実行してください

※ノートブック上ではlinuxコマンドを実行するためには「!」を先頭につける必要があります

4-2.OpenAI Baselinesをインストールする

  1. ノートブック上で下記のコマンドを実行してください

※「Atariラッパー」「Retroラッパー」「Commonラッパー」などを利用する場合は、「OpenAI Baselines」をインストールが必要になります

5.学習を実行する

  1. ノートブック上で下記のコマンドを実行し、マウントした実行ファイル(python)を実行して学習済みモデルを生成してください

〇〇〇.py:実行ファイル名

※「あなたはGPUランタイムに接続していますが、GPUを利用していません」っとノートブック上に表示された

※「ImportError:cannot import name ‘export_saved_modrl’ from ‘tensorflow.python.keras.saving.saved_model」っと表示された

※「Registering two gradient with name ‘BlockLSTM’!」っと表示された

5.1.解決策

下記のコマンドを実行することで解決しました。

6.学習済みモデルをGoogleドライブに保存する

  1. ノートブック上で下記のコマンドを実行し、学習済みモデルをGoogleドライブへコピーしてください

◆◆◆.zip:学習済みモデルファイル名
◇◇◇:Googleドライブ上の作業ディレクトリ名(2-2で作成)

7.ローカルPCで動作確認する

  1. Googleドライブから学習済みモデルをダウンロードして、ローカルPC上で動作確認してください

  • LINEで送る