22
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

Organization

AIエッジコンテスト(実装コンテスト)のチュートリアル【2: Google Colab上での学習の実行】

Google Colaboratoryを使ってブラウザ上で学習を行います。学習済みモデルをUlta96V2上のPYNQ上で実行することで、測定が可能となります。なお、環境入門なのでまだハードウェアアクセラレータは使用しておりません。このチュートリアルでは、環境構築も行うので、一度実行することをお勧めします。

無料の学習環境 Google Colaboratory

Google Colaboratoryとはブラウザ上のJupyterNotebookからクラウドでPythonプログラミングできる環境で、無料です!GPUやTPUも無料です!ただし12時間の利用制限があって、リセットされてしまいます。まぁ、ちょっとしたテクニックで事実上使い放題なんですけどね。。今回はColaboratoryを使ってコンテストで使う物体検出用モデルを学習しましょう。

Google Colaboratory の準備

1.1 Googleアカウントを作成してください。(Googleアカウントを持っている場合はスキップ)
1.2 以下からノートブック(AIcontest_trial_ver1.ipynb)をダウンロードしてホストPCに保存してください。
https://drive.google.com/file/d/1wNM3zhJuh1NghsZR18ZdtRsujOZnnO3F/view?usp=sharing

※このままブラウザで実行も可能ですが、利用数制限があるため多人数で同時に実行することはできません。必ず自分のPCにダウンロード→自身のGoogle Drive上にアップしてから実行してください!

ipynbとはノードブックの拡張子で、Pythonで書かれたコードを含むノートブック一式です。Pythonスクリプト言語の利点を生かし、インタラクティブに結果を可視化しながら開発ができる工夫が盛り込まれています。Colaboratoryには機械学習用のライブラリ(TensorFlow, PyTorch, Chainer, Scikit-Learn)が予めインストールされていて、学習時間を短縮するためのハードウェアアクセラレータ(GPU, TPU)が利用可能です。

1.3 Googleをブラウザ(Google Chromeのみ対応)で開いて、Google ドライブを選択。
image.png

1.4 Google Colaboratory を起動
新規→その他→Google Colaboratory を選択。
image.png

1.5 ノートブックの読み込み

ファイル→ノートブックをアップロード、そうするとノートブックをアップロードできるので、「ファイルを選択」をクリックして手順1.2 でホストPCに保存したノートブック(AIcontest_trial_ver1.ipynb)を読み込んでください。
image.png

1.6 GPUの指定
このまま学習を実行するととーっっても遅く、下手をすると学習だけでコンテストの〆切を過ぎてしまいます。。そこで学習を高速化するためのハードウェアアクセラレータとしてGPUランタイムを指定します。

Colabの「ランタイム」→「ランタイムのタイプを変更」で下の画像のようなメニューが出るので、使いたいアクセラレータを指定します。TPUも使えます!

スクリーンショット 2020-02-23 2.54.26.png

1.7 学習の実行
ノートブックにコメントと手順を書いていますので、その通りに実行すると学習が行われて学習済みモデルをダウンロードできるようになります。

image.png

実行する時間や場所によって割り当てられるGPUがかわるようです。これを書いている場所は米国西海岸ですが、Teslaが割り当てられました!なお、学習時間が長いので、チュートリアルでは敢えて学習(エポック)回数を短めに設定しています。モデルも簡易に、学習データ数も減らし、サイズも小さくしております。つまり‥

チュートリアル通りに実行するとyolov2_epoch_(エポック回数).pthがGoogleドライブ上に生成されるので、自分のPCにダウンロードしておきましょう。次回以降に使います。次回はいよいよUltra96ボードを使ってCPU推論を実行してみましょう。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
22
Help us understand the problem. What are the problem?