ã¯ããã«
ãã®ã¬ã€ãã§ã¯ãGitHub Codespaces ã䜿çšããæ©æ¢°åŠç¿ã«ã€ããŠèª¬æããŸãã åçŽãªç»ååé¡åšãæ§ç¯ããGitHub Codespaces ã«ãã¬ã€ã³ã¹ããŒã«ãããŠããããŒã«ã®äžéšã«ã€ããŠåŠç¿ããŠãJupyterLab ã§ codespace ãéãæ¹æ³ã確èªããŸãã
åçŽãªç»ååé¡åšãæ§ç¯ãã
Jupyter Notebook ã䜿çšããŠãåçŽãªç»ååé¡åšãæ§ç¯ããŸãã
Jupyter Notebook ã¯ãé æ¬¡å®è¡ã§ããã»ã«ã®ã»ããã§ãã 䜿çšããããŒãããã¯ã«ã¯ãPyTorch ã䜿ã£ãŠç»ååé¡åšãæ§ç¯ãã倿°ã®ã»ã«ãå«ãŸããŠããŸãã åã»ã«ã¯ãããŒã¿ã»ããã®ããŠã³ããŒãããã¥ãŒã©ã« ãããã¯ãŒã¯ã®èšå®ãã¢ãã«ã®ãã¬ãŒãã³ã°ããã®ã¢ãã«ã®ãã¹ããªã©ããã®ããã»ã¹ã®ç°ãªããã§ãŒãºã§ãã
ãã¹ãŠã®ã»ã«ãé çªã«å®è¡ããŠãç»ååé¡åšãæ§ç¯ãããã¹ãŠã®ãã§ãŒãºãå®è¡ããŸãã ãã®æäœãè¡ããšãJupyter ã«ãã£ãŠåºåãããŒãããã¯ã«ä¿åãããçµæã確èªã§ããããã«ãªããŸãã
codespace ãäœæãã
-
github/codespaces-jupyter ãã³ãã¬ãŒã ãªããžããªã«ç§»åããŸãã
-
[ãã®ãã³ãã¬ãŒãã䜿çšãã] ãã¯ãªãã¯ãã [codespace ã§éã] ãéžã³ãŸãã
ãã®ãã³ãã¬ãŒãã® codespace ã¯ãWeb ããŒã¹ ããŒãžã§ã³ã® Visual Studio Code ã§éããŸãã
ç»ååé¡åšããŒãããã¯ãéã
GitHub Codespaces ã«ãã£ãŠäœ¿çšãããæ¢å®ã®ã³ã³ãã㌠ã€ã¡ãŒãžã«ã¯ãcodespace ã«ãã¬ã€ã³ã¹ããŒã«ãããŠããäžé£ã®æ©æ¢°åŠç¿ã©ã€ãã©ãªãå«ãŸããŠããŸãã ããšãã°ãNumpyãpandasãSciPyãMatplotlibãseabornãscikit-learnãKerasãPyTorchãRequestsãPlotly ãªã©ã§ãã æ¢å®ã®ã€ã¡ãŒãžã«ã€ããŠè©³ããã¯ããéçºã³ã³ãããŒã®æŠèŠããš devcontainers/images ãªããžããªãã芧ãã ããã
- VS Code ãšãã£ã¿ãŒã§ã衚瀺ãããŠãã [äœæ¥ã®éå§] ã¿ããéããŸãã
notebooks/image-classifier.ipynb
ããŒããã㯠ãã¡ã€ã«ãéããŸãã
ç»ååé¡åšãæ§ç¯ãã
ç»ååé¡åšããŒãããã¯ã«ã¯ãããŒã¿ã»ããã®ããŠã³ããŒãããã¥ãŒã©ã« ãããã¯ãŒã¯ã®ãã¬ãŒãã³ã°ããã®ããã©ãŒãã³ã¹ã®è©äŸ¡ã«å¿ èŠãªãã¹ãŠã®ã³ãŒããå«ãŸããŠããŸãã
-
[ãã¹ãŠå®è¡] ãã¯ãªãã¯ããŠãããŒãããã¯ã®ã»ã«ããã¹ãŠå®è¡ããŸãã
-
ã«ãŒãã« ãœãŒã¹ãéžã¶ããã«æ±ããããå Žåã [Python ç°å¢] ãéžã³ãæšå¥šãããå Žæã® Python ããŒãžã§ã³ãéžã³ãŸãã
-
äžã«ã¹ã¯ããŒã«ããŠãåã»ã«ã®åºåã衚瀺ããŸãã
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 ãªããžããªãã確èªãã ããã
-
codespace å ã§ããšãã£ã¿ãŒã§
.devcontainer/devcontainer.json
ãã¡ã€ã«ãéããŸãã -
次ã®å 容ãå«ãæäžäœã®
features
ãªããžã§ã¯ãã远å ããŸããJSON "features": { "ghcr.io/devcontainers/features/nvidia-cuda:1": { "installCudnn": true } }
"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 } } }
-
倿Žãä¿åããŸãã
-
VS Code Command Palette ã«ã¢ã¯ã»ã¹ (Shift+Command+P / Ctrl+Shift+P) ããããªãã«ãããšå ¥åããŸãã [Codespaces: ã³ã³ãããŒã®ãªãã«ã] ãã¯ãªãã¯ããŸãã
ãã³ã
ãã£ãã·ã¥ãã¯ãªã¢ããæ°ããã€ã¡ãŒãžã䜿çšããŠã³ã³ãããŒãåæ§ç¯ããããã«ãå®å šãªãªãã«ããå®è¡ããããšãå¿ èŠã«ãªãå ŽåããããŸãã 詳ããã¯ããcodespace ã§ã®ã³ã³ãããŒã®ãªãã«ãããã芧ãã ãããcodespace ã³ã³ãããŒãåæ§ç¯ãããŸãã ããã«ã¯æ°åããããŸãã åæ§ç¯ãå®äºãããšãèªåçã« codespace ãåã³éããŸãã
-
倿Žããªããžããªã«çºè¡ããCUDA ãä»åŸãã®ãªããžããªããäœæããæ°ãã codespace ã«ã€ã³ã¹ããŒã«ãããããã«ããŸãã 詳ããã¯ãããã³ãã¬ãŒããã codespace ãäœæããããã芧ãã ããã