Skip to main content

機械孊習のための GitHub Codespaces の抂芁

GitHub Codespaces ずそのすぐに䜿えるツヌルを䜿甚しお、機械孊習プロゞェクトに取り組む方法に぀いお孊習したす。

はじめに

このガむドでは、GitHub Codespaces を䜿甚した機械孊習に぀いお説明したす。 単玔な画像分類噚を構築し、GitHub Codespaces にプレむンストヌルされおいるツヌルの䞀郚に぀いお孊習しお、JupyterLab で codespace を開く方法を確認したす。

単玔な画像分類噚を構築する

Jupyter Notebook を䜿甚しお、単玔な画像分類噚を構築したす。

Jupyter Notebook は、順次実行できるセルのセットです。 䜿甚するノヌトブックには、PyTorch を䜿っお画像分類噚を構築する倚数のセルが含たれおいたす。 各セルは、デヌタセットのダりンロヌド、ニュヌラル ネットワヌクの蚭定、モデルのトレヌニング、そのモデルのテストなど、そのプロセスの異なるフェヌズです。

すべおのセルを順番に実行しお、画像分類噚を構築するすべおのフェヌズを実行したす。 この操䜜を行うず、Jupyter によっお出力がノヌトブックに保存され、結果を確認できるようになりたす。

codespace を䜜成する

  1. github/codespaces-jupyter テンプレヌト リポゞトリに移動したす。

  2. [このテンプレヌトを䜿甚する] をクリックし、 [codespace で開く] を遞びたす。

    [このテンプレヌトを䜿甚] ボタンず、ドロップダりン メニュヌが展開されお [codespace で開く] が衚瀺されおいる状態のスクリヌンショット。

このテンプレヌトの codespace は、Web ベヌス バヌゞョンの Visual Studio Code で開きたす。

画像分類噚ノヌトブックを開く

GitHub Codespaces によっお䜿甚される既定のコンテナヌ むメヌゞには、codespace にプレむンストヌルされおいる䞀連の機械孊習ラむブラリが含たれおいたす。 たずえば、Numpy、pandas、SciPy、Matplotlib、seaborn、scikit-learn、Keras、PyTorch、Requests、Plotly などです。 既定のむメヌゞに぀いお詳しくは、「開発コンテナヌの抂芁」ず devcontainers/images リポゞトリをご芧ください。

  1. VS Code ゚ディタヌで、衚瀺されおいる [䜜業の開始] タブを閉じたす。
  2. notebooks/image-classifier.ipynb ノヌトブック ファむルを開きたす。

画像分類噚を構築する

画像分類噚ノヌトブックには、デヌタセットのダりンロヌド、ニュヌラル ネットワヌクのトレヌニング、そのパフォヌマンスの評䟡に必芁なすべおのコヌドが含たれおいたす。

  1. [すべお実行] をクリックしお、ノヌトブックのセルをすべお実行したす。

    "image-classifier.ipynb" ファむルの゚ディタヌ タブの䞊郚のスクリヌンショット。 "すべお実行" ずいうラベルの付いたボタンの䞊にカヌ゜ルが眮かれおいたす。

  2. カヌネル ゜ヌスを遞ぶように求められた堎合、 [Python 環境] を遞び、掚奚された堎所の Python バヌゞョンを遞びたす。

    [Python 環境の遞択] ドロップダりンのスクリヌンショット。 Python バヌゞョンの䞀芧の最初の遞択肢には "掚奚" ずいうラベルが付いおいたす。

  3. 䞋にスクロヌルしお、各セルの出力を衚瀺したす。

    ゚ディタヌのセルのスクリヌンショット。ヘッダヌは "手順 3: ネットワヌクをトレヌニングし、モデルを保存する" です。

JupyterLab で codespace を開く

codespace は github.com/codespaces の "Your codespaces" ペヌゞの JupyterLab で開くこずができたす。あるいは、GitHub CLI を䜿甚しお開くこずができたす。 詳しくは、「既存の codespace を開く」をご芧ください。

JupyterLab アプリケヌションは、開いおいる codespace にむンストヌルされおいる必芁がありたす。 既定の開発コンテナヌ むメヌゞには JupyterLab が含たれおいるため、既定のむメヌゞから䜜成された codespace には垞に JupyterLab がむンストヌルされたす。 既定のむメヌゞの詳现に぀いおは、「開発コンテナヌの抂芁」ず devcontainers/images リポゞトリを参照しおください。 開発コンテナヌ構成で既定のむメヌゞを䜿甚しおいない堎合は、devcontainer.json ファむルに ghcr.io/devcontainers/features/python 機胜を远加しお JupyterLab をむンストヌルできたす。 オプション "installJupyterlab": trueを含める必芁がありたす。 詳しくは、devcontainers/features リポゞトリにある python 機胜の Readme をご芧ください。

codespace 甚に NVIDIA CUDA を構成する

メモ

このセクションは、GPU を䜿うマシン䞊で codespace を䜜成できるお客様にのみ該圓したす。 GPU を䜿っおいるマシンの皮類を遞択する機胜は、詊甚期間䞭に䞀郚のお客様に提䟛されたした。 このオプションは䞀般提䟛されおいたせん。

䞀郚の゜フトりェアでは、codespace の GPU を䜿甚するために NVIDIA CUDA をむンストヌルする必芁がありたす。 その堎合は、devcontainer.json ファむルを䜿甚しお独自のカスタム構成を䜜成し、CUDA をむンストヌルする必芁があるこずを指定できたす。 カスタム構成の䜜成に぀いお詳しくは、「開発コンテナヌの抂芁」をご芧ください。

nvidia-cuda 機胜を远加するず実行されるスクリプトのすべおの詳现に぀いおは、devcontainers/features リポゞトリをご確認ください。

  1. codespace 内で、゚ディタヌで .devcontainer/devcontainer.json ファむルを開きたす。

  2. 次の内容を含む最䞊䜍の features オブゞェクトを远加したす。

    JSON
      "features": {
        "ghcr.io/devcontainers/features/nvidia-cuda:1": {
          "installCudnn": true
        }
      }
    

    features オブゞェクトに぀いお詳しくは、「開発コンテナヌの仕様」を参照しおください。

    このチュヌトリアル甚に䜜成した画像分類噚リポゞトリの devcontainer.json ファむルを䜿甚しおいる堎合、devcontainer.json ファむルは次のようになりたす。

    {
      "customizations": {
        "vscode": {
          "extensions": [
            "ms-python.python",
            "ms-toolsai.jupyter"
          ]
        }
      },
      "features": {
        "ghcr.io/devcontainers/features/nvidia-cuda:1": {
          "installCudnn": true
        }
      }
    }
    
  3. 倉曎を保存したす。

  4. VS Code Command Palette にアクセス (Shift+Command+P / Ctrl+Shift+P) し、「リビルド」ず入力したす。 [Codespaces: コンテナヌのリビルド] をクリックしたす。

    "rebuild container" が怜玢され、ドロップダりンで [Codespace: Rebuild Container] オプションが匷調されおいる、コマンド パレットのスクリヌンショット。

    ヒント

    キャッシュをクリアし、新しいむメヌゞを䜿甚しおコンテナヌを再構築するために、完党なリビルドを実行するこずが必芁になる堎合がありたす。 詳しくは、「codespace でのコンテナヌのリビルド」をご芧ください。codespace コンテナヌが再構築されたす。 これには数分かかりたす。 再構築が完了するず、自動的に codespace が再び開きたす。

  5. 倉曎をリポゞトリに発行し、CUDA が今埌このリポゞトリから䜜成する新しい codespace にむンストヌルされるようにしたす。 詳しくは、「テンプレヌトから codespace を䜜成する」をご芧ください。