tag:crieit.net,2005:https://crieit.net/tags/Kaggle/feed 「Kaggle」の記事 - Crieit Crieitでタグ「Kaggle」に投稿された最近の記事 2021-10-12T12:42:08+09:00 https://crieit.net/tags/Kaggle/feed tag:crieit.net,2005:PublicArticle/17704 2021-10-12T12:42:08+09:00 2021-10-12T12:42:08+09:00 https://crieit.net/posts/Docker-VSCode-Kaggle ローカルでDocker+VSCodeを使ったKaggleの環境構築メモ <p>以前「<a href="https://crieit.net/posts/Docker-Kaggle">Dockerを使ってKaggleの環境を構築する</a>」の手順で構築した環境にて<br /> VSCodeを使う方法がわからなかったので、新たに環境を作ってみた。<br /> 手っ取り早く環境を構築したい場合は、上記記事の手順の方が手軽に試せるかも?</p> <p>この記事の内容に沿って環境構築した:<br /> <a target="_blank" rel="nofollow noopener" href="https://qiita.com/Artela_0000/items/4b0f3c02b1e9e1b2695b">公式Dockerとvscodeを使ったKaggleの環境構築</a></p> <h3 id="詰まった箇所"><a href="#%E8%A9%B0%E3%81%BE%E3%81%A3%E3%81%9F%E7%AE%87%E6%89%80">詰まった箇所</a></h3> <ul> <li>dockerのビルド時 <ul> <li><code>--gpu</code> でエラー <ul> <li>macでは無理みたい</li> </ul></li> <li>ストレージ不足?でエラー <ul> <li><code>docker system prune</code> をしたら解決</li> </ul></li> <li>メモリ不足でエラー <ul> <li>dockerの設定でメモリを2GBから4GBにしたら解決</li> <li>最低4GBは必要らしい (<a target="_blank" rel="nofollow noopener" href="https://github.com/facebook/prophet/issues/991">参考</a>)</li> </ul></li> </ul></li> </ul> <h3 id="備考"><a href="#%E5%82%99%E8%80%83">備考</a></h3> <ul> <li>mac OS(10.15.7)にて構築した</li> <li><code>docker-python</code>フォルダ内に<code>.code-workspace</code>ファイルを作成しておくと便利かも</li> </ul> marshmallow444 tag:crieit.net,2005:PublicArticle/17611 2021-08-21T19:16:44+09:00 2021-10-12T12:44:36+09:00 https://crieit.net/posts/Docker-Kaggle Dockerを使ってKaggleの環境を構築する <p>10/12追記:<br /> VSCodeを使いたい場合は「<a href="https://crieit.net/posts/Docker-VSCode-Kaggle">ローカルでDocker+VSCodeを使ったKaggleの環境構築メモ</a>」の方法がおすすめ。<br /> 本記事の方法は、上記記事より手軽に試したい場合におすすめ。</p> <hr /> <p>「<a target="_blank" rel="nofollow noopener" href="https://qiita.com/bam6o0/items/354faa9394755a984661">爆速でKaggle環境を構築する</a>」の手順に従って、Docker初心者がmac OS上にKaggleのNotebookの実行環境を構築してみたメモ。</p> <h2 id="環境構築手順"><a href="#%E7%92%B0%E5%A2%83%E6%A7%8B%E7%AF%89%E6%89%8B%E9%A0%86">環境構築手順</a></h2> <ol> <li>Dockerをインストールする</li> <li>terminalにて、以下のコマンドを実行する<br /> <code>$ docker run --rm -it kaggle/python</code><br /> →これにより、Kaggle Python docker imageがPullされる</li> </ol> <h4 id="つまづいたところ"><a href="#%E3%81%A4%E3%81%BE%E3%81%A5%E3%81%84%E3%81%9F%E3%81%A8%E3%81%93%E3%82%8D">つまづいたところ</a></h4> <ul> <li>コマンド実行時に、以下のようなエラーが出て失敗した<br /> <code>Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?</code><br /> Dockerを起動してから実行することで、うまくいった<br /> <code>open /Applications/Docker.app</code></li> </ul> <h2 id="Notebookの実行方法"><a href="#Notebook%E3%81%AE%E5%AE%9F%E8%A1%8C%E6%96%B9%E6%B3%95">Notebookの実行方法</a></h2> <ol> <li>以下のコマンドを実行する<br /> <code>docker run -v $PWD:/tmp/working -w=/tmp/working -p 8888:8888 --rm -it kaggle/python jupyter notebook --no-browser --ip="0.0.0.0" --notebook-dir=/tmp/working --allow-root</code></li> <li>いくつかURLが出力されるので、ブラウザでそのいずれかのURLへアクセスする</li> <li><code>.ipynb</code>ファイルを開くと編集・実行できる</li> </ol> <h4 id="1.のコマンドを短くする方法"><a href="#1.%E3%81%AE%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%82%92%E7%9F%AD%E3%81%8F%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95">1.のコマンドを短くする方法</a></h4> <p><code>.bash_profile</code>へ、以下を追記する</p> <pre><code>kaggle_jupyter() { docker run -v $PWD:/tmp/working -w=/tmp/working -p 8888:8888 --rm -it kaggle/python jupyter notebook --no-browser --ip="0.0.0.0" --notebook-dir=/tmp/working --allow-root } </code></pre> <p>これにより、terminalで以下を実行するだけでよくなる</p> <pre><code>$ kaggle_jupyter </code></pre> <h2 id="メモ"><a href="#%E3%83%A1%E3%83%A2">メモ</a></h2> <ul> <li>実行にかかった時間は、<a href="https://crieit.net/posts/Kaggle-Notebook">Dockerを使わずVSCodeで実行した時</a>に比べると1.25倍ほどかかった。それでもKaggleのKernel上で実行するより早い</li> <li>いちいちローカルにライブラリをインストールする必要がないので、一度この方法で環境構築しておくと後が楽になりそう</li> <li>コマンド内の<code>--rm</code>の意味:クリーンアップ <ul> <li>コンテナの終了時に、自動的にコンテナをクリーンアップし、ファイルシステムを削除する</li> </ul></li> <li>コマンド内の<code>-it</code>の意味:オプション<code>-i</code>と<code>-t</code>の指定 <ul> <li><code>-i</code>(=<code>--interactive</code>):標準入力</li> <li><code>-t</code>(=<code>--tty</code>):擬似端末</li> </ul></li> <li>Dockerのコンテナの中にログインするには、以下のコマンドを実行する<br /> <code>docker run -it (コンテナ名) bash</code></li> <li>この方法はかなり多くの容量を要するので、クラウド上にこの環境を構築する手もある。もしmacの容量が足りなくなったら試してみるのもいいかも</li> </ul> <h2 id="参考"><a href="#%E5%8F%82%E8%80%83">参考</a></h2> <ul> <li><a target="_blank" rel="nofollow noopener" href="https://qiita.com/bam6o0/items/354faa9394755a984661">爆速でKaggle環境を構築する</a></li> <li><a target="_blank" rel="nofollow noopener" href="https://docs.docker.jp/engine/reference/run.html#clean-up-rm">Docker run リファレンス</a></li> <li><a target="_blank" rel="nofollow noopener" href="https://qiita.com/k_uchida_____/items/8ca31226bd6d10850791">docker run -it の「-it」とはなにか</a></li> <li><a target="_blank" rel="nofollow noopener" href="https://www.task-notes.com/entry/20191013/1570961482">MacでDockerのインストールとチュートリアルまで</a></li> <li><a target="_blank" rel="nofollow noopener" href="https://scitaku.hatenablog.com/entry/2019/06/09/005657">kaggleやろおぜ(環境構築編)</a></li> </ul> marshmallow444 tag:crieit.net,2005:PublicArticle/17610 2021-08-19T19:34:46+09:00 2021-08-19T19:34:46+09:00 https://crieit.net/posts/Kaggle-Notebook KaggleのNotebookをローカルで編集する <p>KaggleのKernel上でコードを動かしてみたら実行に時間がかかったので、ローカルで実行してみた。<br /> 手順を忘れないようメモしておく。<br /> 一旦ソースをダウンロードしてローカルで編集し、完成したらアップロードしてSave&Submitする、という流れ。</p> <h2 id="環境構築"><a href="#%E7%92%B0%E5%A2%83%E6%A7%8B%E7%AF%89">環境構築</a></h2> <p>mac OS(10.15.7) + VSCodeを使用している</p> <ul> <li><a target="_blank" rel="nofollow noopener" href="https://azure.microsoft.com/ja-jp/products/visual-studio-code/">VSCode</a>と<a target="_blank" rel="nofollow noopener" href="https://marketplace.visualstudio.com/items?itemName=ms-toolsai.jupyter">jupyterのExtension</a>をインストールしておく</li> <li>必要なライブラリをインストールしておく<br /> (参考:<a target="_blank" rel="nofollow noopener" href="https://qiita.com/m__k/items/5f905cf5d20e875961b5">LightGBMをインストール</a>)</li> </ul> <h2 id="ローカルでの実行手順"><a href="#%E3%83%AD%E3%83%BC%E3%82%AB%E3%83%AB%E3%81%A7%E3%81%AE%E5%AE%9F%E8%A1%8C%E6%89%8B%E9%A0%86">ローカルでの実行手順</a></h2> <ul> <li>Kaggleから、編集したいNotebookをダウンロードする <ul> <li>Notebookの左上<code>File</code>メニュー→<code>Download notebook</code>を選択</li> </ul></li> <li>(Competitionページの<code>Data</code>タブから、必要なデータもダウンロードしておく)</li> <li>ダウンロードした<code>.ipynb</code>ファイルをVSCodeで開き、編集・実行する</li> </ul> <h2 id="ソースのアップロード手順"><a href="#%E3%82%BD%E3%83%BC%E3%82%B9%E3%81%AE%E3%82%A2%E3%83%83%E3%83%97%E3%83%AD%E3%83%BC%E3%83%89%E6%89%8B%E9%A0%86">ソースのアップロード手順</a></h2> <ul> <li>新規Notebookを作成する <ul> <li>既存のNotebookへ上書きする場合は、そのNotebookを開く</li> </ul></li> <li>左上<code>File</code>メニュー→<code>Upload Notebook</code>を選択 <ul> <li>Uploadすると、Notebookの内容は全て上書きされてしまうので要注意</li> </ul></li> </ul> <p>アップロード後は、通常通りSaveとSubmitを行う。</p> <h2 id="備考"><a href="#%E5%82%99%E8%80%83">備考</a></h2> <ul> <li><a target="_blank" rel="nofollow noopener" href="https://www.currypurin.com/entry/2019/06/10/120225">ローカルのjupyterかkaggleのKernelかを判定する方法</a>を使うと、環境によって処理を変えられる</li> <li>ローカルで動かすのにかかった時間は、Kaggle Kernel上で動かした時の半分程度になった <ul> <li>まだ一つのソースしか動かしていないので、他のソースでも同様の速度になるのかは不明</li> </ul></li> </ul> marshmallow444