オレオレKaggle開発環境
by
K.T.
×
Copy
Open
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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を変更してください。