オレオレKaggle開発環境
by
K.T.
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
オレオレKaggle開発環境 関西Kaggler会 交流会 in Osaka 2023#3 2023. 10. 20
Slide 2
Slide 2 text
自己紹介
Slide 3
Slide 3 text
みなさん いつも流用して使っているような Kaggle環境ってありますか?
Slide 4
Slide 4 text
Kaggleするときの開発環境作成時に困ること
Slide 5
Slide 5 text
公開notebookを手元で動かそうとしたら あれもこれもライブラリが入ってない コードコンペティションで推論コード作ってたら ライブラリバージョンが合ってなくて困った そんな悩みを解消するような環境を作りたい!
Slide 6
Slide 6 text
コードコンペティションとは 問題:Kaggle環境だとGPU/TPUの利用時間制限があるため、 たくさんの実験が回せない。推論するための時間を確保できない 学習 推論 参加者がKaggleのCode環境上でソースコードを実行し 推論結果を提出するコンペ形式 学習したモデルをKaggleに保存/アップロードし、推論させる
Slide 7
Slide 7 text
学習をKaggle以外、推論をKaggleへ 学習 ローカルPC 推論 学習したモデルをKaggleにアップロードし、Kaggle上で推論させる 問題:学習環境と推論環境が異なると推論が動かなかったりする 自作環境だとライブラリが足りなく、手動で入れる必要がある Amazon EC2
Slide 8
Slide 8 text
理想に近づけた環境 学習 推論 と似た環境 これを作ります!
Slide 9
Slide 9 text
オレオレKaggle開発目標 学習 推論 Kaggleと似た環境で 快適な開発環境を整える
Slide 10
Slide 10 text
オレオレKaggle環境 オレオレKaggle開発全体像 アクセス Jupyter Notebook・ VSCode(Remote Development) 両方使える環境を目指す
Slide 11
Slide 11 text
Host OS 自分のオレオレKaggle開発の使い方 オレオレKaggle環境 port:8888 ssh port:22 アクセス 手元のノートPCから ローカルPCへアクセスして使っ てます
Slide 12
Slide 12 text
環境作るための前準備 - 以下のインストールがされており、 - 正しく設定されていることを確認してください。 - docker (version 24.0.6) - NVIDIA Driver - NVIDIA Container Toolkit - VSCode - VScode Extention - Remote Development - Docker Extension ※WSL2でも動作しますが、今回は割愛し Linuxでの方法をお伝えします。基本的に は同じで大丈夫です
Slide 13
Slide 13 text
オレオレKaggle開発環境GitHub https://github.com/ktakita1011/my_kaggle_docker
Slide 14
Slide 14 text
使い方概要 - Docker ImageのDockerをダウンロード&ビルド - Docker Image はkaggle-gpu-images/python v137(2023/10/20時点最新)を使 います - Jupyter Notebookへのアクセス - VSCodeのRemoteDevelopment(DevContainer)を使ったアクセス kaggle-gpu-images/python
Slide 15
Slide 15 text
ダウンロードとビルド $ git clone https://github.com/ktakita1011/my_kaggle_docker $ cd my_kaggle_docker $ docker compose up -d
Slide 16
Slide 16 text
ダウンロードとビルド 無事起動するとdocker拡張にて起動しているのがわかります
Slide 17
Slide 17 text
Jupyter notebookへアクセスする 方法1:http://127.0.0.1:8888へアクセスする 方法2:VSCodeのDocker拡張からアクセスする 2 1
Slide 18
Slide 18 text
VSCodeで使う VSCodeのDevContainer機能を使ってコンテナへアクセスする 2 1 3
Slide 19
Slide 19 text
VSCodeで使う コンテナに入ったあと、 kaggleディレクトリで開く 2 1 3 4
Slide 20
Slide 20 text
VSCodeで使う すると以下の画面になります。 いつものVScodeの環境でKaggle環境が使えるようになりました! MNISTテストコードがあるので、動 作確認チェックもできます。
Slide 21
Slide 21 text
まとめ - Kaggleとローカル環境の差異をなるべく減らした開発環境を作成した - 開発方法は、VSCodeのDevContainer機能を利用した開発と Jupyter Notebookで同時に開発できる環境ができた
Slide 22
Slide 22 text
最後に my_kaggle_dockerに☆Starよろしくお願いします!
Slide 23
Slide 23 text
Thanks !
Slide 24
Slide 24 text
Appendix このKaggle Dockerを作った経緯としては、 Kaggle始めたいのに環境構築で躓く時 間をなるべく減らしたいといったお気持ちで作りました。 個人的なおすすめは、最初はこのまま使ってみていただいて、 どんどん自分でこうしたらいいな~と思うところを変更していくのが良いと思ってま す。
Slide 25
Slide 25 text
Appendix 利用するGPUによってはinstallするpytorchが違いますので、そちらは確認してくだ さい。現状は3090,A4000,A6000にて動作確認済みです。 コマンドはpytorchの公式HPから確認できます。
Slide 26
Slide 26 text
Appendix 本環境はjupyter notebookのversion6から7にしております。 7で動くように色々設定してあります。 version 7系にすることで、以下のメリットがあります。 jupyter labでしか使えなかったextentionがnotebookでも使えるようになります。 デフォルトでdark themeに対応してます。 その他新機能は以下を参照 https://jupyter-notebook.readthedocs.io/en/stable/notebook_7_features.html
Slide 27
Slide 27 text
Appendix その他 - 追加でライブラリを入れたい場合は requirements.txtを編集してください。 - jupyterのpasswordを変更したい場合は run.shの中身を変更してください。 - multi gpuで利用する場合はcompose.yamlのgpuのcountを変更してください。