搜索

第 5 章 实现管道

download PDF

5.1. 使用数据科学项目管道自动化工作流

在本教程的前面部分中,您使用笔记本来培训和保存您的模型。另外,您可以使用 Red Hat OpenShift AI 管道自动化这些任务。管道提供了一种方式来自动执行多个笔记本和 Python 代码。通过使用管道,您可以按时间表执行长期培训作业或重新排列模型,而无需在笔记本中手动运行它们。

在本节中,您可以使用 GUI 管道编辑器创建一个简单的管道。管道使用您在前面的小节中使用的笔记本来培训模型,然后将其保存到 S3 存储中。

您完成的管道应当类似于 6 Train Save.pipeline 文件中的值。

注: 您可以运行并使用 6 Train Save.pipeline。要探索管道编辑器,请完成以下步骤以创建自己的管道。

5.1.1. 创建管道

  1. 打开工作台的 JupyterLab 环境。如果启动程序不可见,点 + 打开它。

    Pipeline 按钮
  2. Pipeline Editor

    Pipeline Editor 按钮

    您已创建了一个空白管道!

  3. 在运行笔记本或 Python 代码时,设置默认的运行时镜像。

    1. 在管道编辑器中,点 Open Panel

      Open Panel
    2. 选择 Pipeline Properties 选项卡。

      Pipeline Properties 选项卡
    3. Pipeline Properties 面板中,向下滚动到 Generic Node DefaultsRuntime Image使用 Cuda 和 Python 3.9 (UBI 9)将值设为 Tensorflow

      Pipeline 运行时镜像0
  4. 保存管道。

5.1.2. 在管道中添加节点

在管道中添加一些步骤或节点。您的两个节点将使用 1_experiment_train.ipynb2_save_model.ipynb 笔记本。

  1. 在 file-browser 面板中,将 1_experiment_train.ipynb2_save_model.ipynb 笔记本拖到管道 canvas。

    拖放笔记本
  2. 单击 1_experiment_train.ipynb 的输出端口,并将连接行拖到 2_save_model.ipynb 的输入端口。

    连接节点
  3. 保存管道。

5.1.3. 将培训文件指定为依赖项

设置节点属性,将培训文件指定为依赖项。

注:如果您没有设置此文件依赖项,则该文件在运行时不会包含在节点中,并且培训作业失败时不会包含该文件。

  1. 单击 1_experiment_train.ipynb 节点。

    选择 Node 1
  2. Properties 面板中,点 Node Properties 选项卡。
  3. 向下滚动到 File Dependencies 部分,然后单击 Add

    添加文件依赖
  4. 将值设为 data/card_transdata.csv,其中包含要为您的模型进行培训的数据。
  5. 选择 Include Subdirectories 选项,然后单击 Add

    设置文件依赖值
  6. 保存管道。

5.1.4. 创建并存储 ONNX 格式的输出文件

在节点 1 中,笔记本会创建 models/fraud/1/model.onnx 文件。在节点 2 中,笔记本将该文件上传到 S3 存储桶。您必须将 model /fraud/1/model.onnx 文件设置为两个节点的输出文件。

  1. 选择节点 1,然后选择 Node Properties 选项卡。
  2. 向下滚动到 Output Files 部分,然后单击 Add
  3. 将值设为 models/fraud/1/model.onnx,然后单击 Add

    设置文件依赖项值
  4. 对节点 2 重复步骤 1-3。
  5. 保存管道。

5.1.5. 配置到 S3 存储桶的数据连接

在节点 2 中,笔记本将模型上传到 S3 存储桶。

您必须使用您通过本教程 的数据连接 部分设置的 My Storage 数据连接创建的 secret 设置 S3 存储桶密钥。

您可以在管道节点中使用此 secret,而无需在管道代码中保存信息。这很重要,例如,如果要将管道保存到没有 secret 密钥 - 到源控制中。

secret 名为 aws-connection-my-storage

注意

如果您命名了 My Storage 以外的数据连接内容,您可以通过在 Data Connections 选项卡中将鼠标悬停在资源信息图标上来获取 OpenShift AI 仪表板中的 secret 名称。

我的存储 Secret 名称

aws-connection-my-storage secret 包括以下字段:

  • AWS_ACCESS_KEY_ID
  • AWS_DEFAULT_REGION
  • AWS_S3_BUCKET
  • AWS_S3_ENDPOINT
  • AWS_SECRET_ACCESS_KEY

您必须为每个这些字段设置 secret 名称和密钥。

流程

  1. 删除任何预先填充的环境变量。

    1. 选择节点 2,然后选择 Node Properties 选项卡。

      Additional Properties 下,请注意预填充了一些环境变量。管道编辑器从笔记本代码中推断出您需要它们。

      由于您不想在管道中保存值,因此请删除所有这些环境变量。

    2. 为每个预先填充的环境变量点 Remove

      删除 Env Var
  2. 使用 Kubernetes secret 添加 S3 存储桶和密钥。

    1. Kubernetes Secrets 下,单击 Add

      添加 Kube Secret
    2. 输入以下值,然后单击 Add

      • 环境变量 : AWS_ACCESS_KEY_ID
      • Secret Name:aws-connection-my-storage
      • Secret Key:AWS_ACCESS_KEY_ID

        Secret Form
    3. 对这些 Kubernetes secret 的每个组重复步骤 2a 和 2b :

      • 环境变量 : AWS_SECRET_ACCESS_KEY

        • Secret Name:aws-connection-my-storage
        • Secret Key:AWS_SECRET_ACCESS_KEY
      • 环境变量 : AWS_S3_ENDPOINT

        • Secret Name:aws-connection-my-storage
        • Secret Key:AWS_S3_ENDPOINT
      • 环境变量 : AWS_DEFAULT_REGION

        • Secret Name:aws-connection-my-storage
        • Secret Key:AWS_DEFAULT_REGION
      • 环境变量 : AWS_S3_BUCKET

        • Secret Name:aws-connection-my-storage
        • Secret Key:AWS_S3_BUCKET
  3. 保存并 重命名 .pipeline 文件。

5.1.6. 运行 Pipeline

在集群中上传管道并运行它。您可以直接从管道编辑器完成此操作。您可以将自己的新创建的管道用于此或 6 个 Train Save.pipeline

流程

  1. 单击管道编辑器工具栏中的 play 按钮。

    Pipeline Run Button
  2. 为管道输入一个名称。
  3. 验证 Runtime Configuration: 是否已设置为 Data Science Pipeline
  4. 点击 确定

    注意

    如果 Data Science Pipeline 没有作为运行时配置提供,则可能会在管道服务器可用前创建笔记本。您可以在数据科学项目中创建管道服务器后重启笔记本。

  5. 返回您的数据科学项目并扩展新创建的管道。

    DSP 管道完成
  6. View run,然后查看管道运行正在进行中。

    Pipeline 运行完成

结果应该是 S3 存储桶中的 models/fraud/1/model.onnx 文件,就像 为部署准备模型 部分一样。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.