跳至主要内容

针对机器学习入门 GitHub Codespaces

了解如何使用 GitHub Codespaces 及其开箱即用的工具处理机器学习项目。

简介

本指南将向你介绍使用 GitHub Codespaces 进行机器学习。你将构建一个简单的图像分类器,了解 GitHub Codespaces 中预先安装的一些工具,并了解如何在 JupyterLab 中打开你的 Codespace。

构建简单的图像分类器

我们将使用 Jupyter 笔记本构建一个简单的图像分类器。

Jupyter 笔记本是一组可以一个接一个执行的单元格。我们将使用的笔记本包含许多使用 PyTorch 构建图像分类器的单元格。每个单元格都是该过程的不同阶段:下载数据集,设置神经网络,训练模型,然后测试该模型。

我们将按顺序运行所有单元格,以执行构建图像分类器的所有阶段。当我们执行此操作时,Jupyter 会将输出保存回笔记本,以便你可以检查结果。

创建 Codespace

  1. 转到 github/codespaces-jupyter 模板存储库。

  2. 单击使用此模板,然后单击在 Codespace 中打开

    Screenshot of the "Use this template" button and the dropdown menu expanded to show the "Open in a codespace" option.

此模板的 Codespace 将在 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. 单击全部运行以执行笔记本的所有单元格。

    Screenshot of the top of the editor tab for the "image-classifier.ipynb" file. A cursor hovers over a button labeled "Run All."

  2. 如果系统提示你选择内核源,请选择Python 环境,然后选择推荐位置的 Python 版本。

    Screenshot of the "Select a Python Environment" dropdown. The first option in the list of Python versions is labeled "Recommended."

  3. 向下滚动以查看每个单元格的输出。

    Screenshot of the cell in the editor, with the header "Step 3: Train the network and save model."

在 JupyterLab 中打开代码空间

你可以从 github.com/codespaces 上的“你的代码空间”页面或使用 GitHub CLI 在 JupyterLab 中打开你的代码空间。有关更多信息,请参阅“打开现有代码空间”。

必须在你要打开的代码空间中安装 JupyterLab 应用程序。默认开发容器映像包含 JupyterLab,因此从默认映像创建的代码空间将始终安装 JupyterLab。有关默认映像的更多信息,请参阅“开发容器简介”和devcontainers/images 存储库。如果你在开发容器配置中未使用默认映像,则可以通过将ghcr.io/devcontainers/features/python功能添加到devcontainer.json文件来安装 JupyterLab。你应该包含选项"installJupyterlab": true。有关更多信息,请参阅devcontainers/features存储库中python功能的自述文件

为你的代码空间配置 NVIDIA CUDA

注意:本部分仅适用于可以在使用 GPU 的机器上创建代码空间的客户。在试用期内,向选定的客户提供了选择使用 GPU 的机器类型的功能。此选项通常不可用。

某些软件要求你安装 NVIDIA CUDA 才能使用代码空间的 GPU。在这种情况下,你可以使用devcontainer.json文件创建自己的自定义配置,并指定应安装 CUDA。有关创建自定义配置的更多信息,请参阅“开发容器简介”。

有关添加 nvidia-cuda 功能时运行的脚本的完整详细信息,请参阅 devcontainers/features 存储库。

  1. 在代码空间中,在编辑器中打开 .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 命令面板 (Shift+Command+P / Ctrl+Shift+P),然后开始输入“重建”。单击代码空间:重建容器

    Screenshot of the Command Palette with "rebuild" entered in the text box and the "Codespace: Rebuild Container" option highlighted in the dropdown.

    提示:您可能偶尔需要执行完全重建以清除缓存并使用新映像重建容器。有关更多信息,请参阅“在代码空间中重建容器”。

    将重建代码空间容器。这将需要几分钟时间。重建完成后,代码空间将自动重新打开。
  5. 将您的更改发布到存储库,以便将来您从此存储库创建的任何新代码空间都将安装 CUDA。有关更多信息,请参阅“从模板创建代码空间”。