第 5 章 实现管道


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

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

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

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

要探索管道编辑器,请完成以下流程中的步骤来创建您自己的管道。或者,您可以跳过以下步骤,并运行 6 Train Save.pipeline 文件。

5.1.1. 先决条件

  • 您配置了管道服务器,如 启用数据科学管道 中所述。
  • 如果您在创建工作台后配置了管道服务器,则停止并启动工作台。

5.1.2. 创建管道

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

  2. Pipeline Editor

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

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

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

    2. 选择 Pipeline Properties 选项卡。

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

  4. 选择 File Save Pipeline

5.1.3. 在管道中添加节点

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

  1. 在文件浏览器面板中,将 1_experiment_train.ipynb2_save_model.ipynb 笔记本拖到管道 canvas。

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

  3. 保存管道。

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

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

注意

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

  1. 1_experiment_train.ipynb 节点。

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

  4. 将值设为 data configured.csv,其中包含要为您的模型进行培训的数据。
  5. 选择 Include Subdirectories 选项。

  6. 保存 管道。

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

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

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

  5. 为节点 2 重复步骤 2-4。
  6. 保存 管道。

5.1.6. 配置与 S3 存储桶的连接

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

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

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

该 secret 命名为 aws-connection-my-storage

注意

如果您命名了 My Storage 以外的连接,可以通过将鼠标悬停在 Connections 选项卡中的帮助(?)图标获取 OpenShift AI 仪表板中的机密名称。

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 选项卡。

      附加属性 下,请注意一些环境变量已预先填充。管道编辑器从笔记本代码中推断出它们。

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

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

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

    1. Kubernetes Secrets 下,单击 Add

    2. 输入以下值,然后单击 Add

      • 环境变量:AWS_ACCESS_KEY_ID

  3. 对以下每个 Kubernetes secret 重复步骤 2:

    • 环境变量: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
  4. 选择 File Save Pipeline As 来保存和重命名管道。例如,将它重命名为 My Train Save.pipeline

5.1.7. 运行 Pipeline

在集群中上传管道并运行它。您可以直接从管道编辑器进行此操作。您可以使用您自己的新创建的管道或提供的 6 Train Save.pipeline 文件中的管道。

流程

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

  2. 输入管道的名称。
  3. 验证 Runtime Configuration: 已设置为 Data Science Pipeline
  4. 点击 OK

    注意

    如果您看到一条错误消息,表示"没有定义 Data Science Pipeline 的运行时配置",您可能已在管道服务器可用前创建了工作台。

    要解决这个问题,您必须验证配置了管道服务器,然后重启工作台。

    在 OpenShift AI 仪表板中按照以下步骤操作:

    1. 检查管道服务器的状态:

      1. 在 Fraud Detection 项目中,点 Pipelines 选项卡。

        • 如果您看到 Configure pipeline server 选项,请按照 启用数据科学管道 的步骤进行操作。
        • 如果您看到 Import a pipeline 选项,管道服务器会被配置。继续下一步。
    2. 重启 Fraud 检测工作台:

      1. 单击 Workbenches 选项卡。
      2. Stop,然后点 Stop workbench
      3. 工作台状态变为 Stopped 后,单击 Start
      4. 等待工作台状态变为 Running
    3. 返回到工作台的 JupyterLab 环境,再运行管道。
  5. 在 OpenShift AI 仪表板中,打开您的数据科学项目并扩展新创建的管道。

  6. 单击 View run

  7. 点运行,然后查看管道运行正在进行中。

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

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat