LoginSignup
4
2

More than 3 years have passed since last update.

Kaggle初心者が、AWS(EC2サーバー)を使って画像コンペに挑戦

Posted at

本記事で、伝えたいこと:
 ・AWSで、Jupiter notebookを使ってみる
 ・AWSで、GPUを利用して、モデルをトレーニングする
 
本記事が、参考にならない方:
 ・AWSのインスタンスを詳しく知りたい方
 ・Kaggleのcodeを利用する方

今回、投稿した記事の目的は、画像分類コンペに参加するにあたって、
kaggleのGPU利用制限枠に限界を感じた初心者が、好きなだけGPUを使って、
トレーニングを出来るようになったので、自身のメモ兼、同じように悩んでいる方の参考に
なればと思い、共有させてもらいます。

■ 手順
AWSの日本語チュートリアル通りに行いました。
https://docs.aws.amazon.com/ja_jp/dlami/latest/devguide/what-is-dlami.html

  1. GPUの制限緩和   まずは、GPUを利用するために、利用制限の緩和を依頼します。

 注意点は、こんなところでした。
  * リージョンごとに、申請する必要があるため、利用するリージョンで申請する。
  * 利用目的は、機械学習を行うため。で問題ありませんでした。
  * 平日の昼間に行わないと、対応が翌日以降になるかもしれません。
  * スポットインスタンスとインスタンスで、別々の利用制限になっている。
   インスタンスの方が、早く対応してもらえる。

  1. インスタンスの作成
      AMIや、コンピュータユニットを設定します。
     
     注意点は、
      * AMIは、Deep Learning AMIを選ぶと、既に機械学習に必要なライブラリーが
       インストール済みで便利。(この時点では、Ubuntu18.04が最新のはずです)
       似た名前のDeep Learning Base AMIは、最低限しか入っていないです。
      * インスタンスタイプは、メモリーや、gpu、ドライブ容量で選択します。
       今回は、g4dn.xlargeを利用しました。

  2. キーペアの作成、SSH接続
      キーペアを作成し、ローカルからSSH接続を行います。

 注意点は、
  * Macならbashから、接続できます。
  ~ % ssh -I 'xxxxxx.pem' user@ec*----**.region.compute.amazonaws.com

  1. SSLを証明書発行して、Jupyter notebook起動
     Jupyterの起動は、以下を参考にしました。
     https://docs.aws.amazon.com/ja_jp/dlami/latest/devguide/setup-jupyter.html

  2. kaggle APIで、データセットダウンロード
     Kaggle.jsonファイルを利用して、コンペデータをダウンロードします。

  3. トレーニング済みのweightをサーバーからダウンロード
     モデルのトレーニングデータをサーバーから、ローカルにダウンロードします。
     ローカルのbashで以下を、実行します。(キーペア名、ユーザー名などは適宜修正)
    scp my.pem user_name download_file_path save_path (@local bash)

参考リンク:
・AWSのチュートリアル
 https://docs.aws.amazon.com/ja_jp/dlami/latest/devguide/what-is-dlami.html

・Kaggle
 https://www.kaggle.com

・AWS
 https://aws.amazon.com/jp/

4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2