GPUを利用してStableBaselinesを実行させたいが、ローカルPCにはGPUがない場合に、クラウド上のGPUを利用することができます。
ただし、クラウドではゲーム画面を表示したテストができないので、クラウドが利用できるのは学習のみで、以下のながれでテストすることになります。
- クラウドで学習させ学習済みモデルをクラウド上に生成する
- 学習済みモデルをローカルPCにダウンロードする
- ローカルPCで学習済みモデルを使用してゲーム画面を表示して動作確認する
ここでは、無償でGPUが利用可能なGoogleColabを利用して学習させる方法について記載しようと思います。
また、Google Colabには以下の制限がありますので、長時間の学習を行う場合はご注意ください。
90分ルール
- 何も操作せずに90分経つとインスタンス内に保存したデータがリセットされてしまいます
- リセット前にノートブックを更新することで継続可能になります
12時間ルール
- インスタンスが起動してから12時間経つとインスタンス内に保存したデータがリセットされてしまいます
- リセット前にGoogleドライブにデータを退避し、リセット後に退避したデータを利用して学習を再開させることで継続可能になります
1.Googleアカウントを準備する
- GoogleColabを使うために、Googleドライブを利用するので、Googleアカウントを準備してください。
- Googleアカウントを持っていない場合は、Googleアカウントを新規作成してください。
2.Google DriveでGoogle Colab利用環境を準備する
2-1.Google Driveにアクセスする
- 1で準備したGoogleアカウントでGoogleドライブにアクセスしてください
2-2.Google Colabで利用する作業フォルダを作成する
- Googleドライブにフォルダを新規作成してください
- 作成したドライブを右クリックしてください
- 「アプリで開く」⇒「アプリを追加」を選択してください
- ドライブにアプリを追加で「colaboratory」で検索してください
- 「接続」ボタンを押し、フォルダと「Google Colab」を連携してください
2-3.Google Colab作業用ノートブックを作成する
- 2-2で作成したフォルダ内で「右クリック」してください
- 「その他」⇒「Colaboratory」を選択し、新規ノートブック(ipynb)を作成してください
2-4.Google Colab環境を起動する
- 2-3で作成したノートブックをダブルクリックしてGoogle Colabを起動してください
2-5.Google ColabでGPUの利用設定する
- Google Colab環境起動後、「編集」⇒「ノートブックの設定」を選択し設定画面を開いてください
- ハードウェアアクセラレータで「GPU」を選択し「保存」を押してください、GPUが利用されるようになります
3.実行ファイル(python)をGoogle Colab環境にマウントする
3-1.Googleドライブに実行ファイルを格納する
- 作業フォルダ(2-2で作成)に実行ファイルを格納してください
3-2.Googleドライブをマウントする
- ノートブック上で下記のコマンドを実行して、Googleドライブをマウントしてください
1 2 |
from google.colab import drive drive.mount('/content/drive') |
3-3.GoogleドライブからGoogle Colab環境に実行ファイルをコピーする
- ノードブック上で下記のコマンドを実行して、実行ファイル(3-1で格納)をGoogle Colab環境にコピーしてください
1 |
!cp /content/drive/My\ Drive/◇◇◇/〇〇〇.py . |
〇〇〇.py:実行ファイル名
◇◇◇:Googleドライブ上の作業ディレクトリ名(2-2で作成)
4.Google Colab環境にStable Baselines実行環境を構築する
4-1.Stable Baselinesをインストールする
- ノートブック上で下記のコマンドを実行してください
1 |
!pip install stable-baselines==2.8 |
※ノートブック上ではlinuxコマンドを実行するためには「!」を先頭につける必要があります
4-2.OpenAI Baselinesをインストールする
- ノートブック上で下記のコマンドを実行してください
1 2 3 4 |
!git clone https://github.com/openai/baselines.git %cd baselines !pip install -e . %cd .. |
※「Atariラッパー」「Retroラッパー」「Commonラッパー」などを利用する場合は、「OpenAI Baselines」をインストールが必要になります
5.学習を実行する
- ノートブック上で下記のコマンドを実行し、マウントした実行ファイル(python)を実行して学習済みモデルを生成してください
1 |
!python 〇〇〇.py |
〇〇〇.py:実行ファイル名
※「あなたはGPUランタイムに接続していますが、GPUを利用していません」っとノートブック上に表示された
MY FAVORITE
MY FAVORITE
お気に入りのもの、興味があるものをいろいろ集めてみました。プログラム/PPバンド/LEGO/写真/イラストなどなど
※「ImportError:cannot import name ‘export_saved_modrl’ from ‘tensorflow.python.keras.saving.saved_model」っと表示された
MY FAVORITE
MY FAVORITE
お気に入りのもの、興味があるものをいろいろ集めてみました。プログラム/PPバンド/LEGO/写真/イラストなどなど
※「Registering two gradient with name ‘BlockLSTM’!」っと表示された
MY FAVORITE
MY FAVORITE
お気に入りのもの、興味があるものをいろいろ集めてみました。プログラム/PPバンド/LEGO/写真/イラストなどなど
5.1.解決策
下記のコマンドを実行することで解決しました。
1 2 3 |
!pip uninstall tensorflow !pip uninstall tensorflow-gpu !pip install tensorflow-gpu==1.14 |
6.学習済みモデルをGoogleドライブに保存する
- ノートブック上で下記のコマンドを実行し、学習済みモデルをGoogleドライブへコピーしてください
1 2 3 |
!cp ◆◆◆.zip /content/drive/My\ Drive/◇◇◇/◆◆◆.zip !zip -r logs.zip logs !cp logs.zip /content/drive/My\ Drive/◇◇◇/logs.zip |
◆◆◆.zip:学習済みモデルファイル名
◇◇◇:Googleドライブ上の作業ディレクトリ名(2-2で作成)
7.ローカルPCで動作確認する
- Googleドライブから学習済みモデルをダウンロードして、ローカルPC上で動作確認してください