第 5 章 实现管道
5.1. 使用数据科学项目管道自动化工作流 复制链接链接已复制到粘贴板!
之前,您使用笔记本来培训并保存您的模型。另外,您可以使用 Red Hat OpenShift AI 管道自动化这些任务。管道提供了一种方式,可以自动执行许多笔记本和 Python 代码。通过使用管道,您可以运行较长的培训作业,或按计划重新遍历模型,而无需在笔记本中手动运行它们。
要探索管道编辑器,请完成以下步骤以创建自己的管道。
或者,您可以跳过以下步骤,并运行 6 Train Save.pipeline 文件。
5.1.1. 创建管道 复制链接链接已复制到粘贴板!
您可以使用 GUI 管道编辑器创建简单的管道。管道使用您之前用于培训模型的笔记本,然后将其保存到 S3 存储。
先决条件
- 已配置了一个管道服务器,如 启用数据科学管道 中所述。
- 如果您在创建工作台后配置了管道服务器,则停止并启动工作台。
流程
打开工作台的 JupyterLab 环境。如果启动程序不可见,点 + 打开它。
点 Pipeline Editor。
您已创建了空白管道。
在运行笔记本或 Python 代码时,设置默认的运行时镜像。
在管道编辑器中,点 Open Panel。
选择 Pipeline Properties 选项卡。
在 Pipeline Properties 面板中,向下滚动到 Generic Node Defaults 和 Runtime Image。
使用 Cuda 和 Python 3.11 (UBI 9)将值设置为 Tensorflow。
-
选择 File
Save Pipeline。
验证
- 在 file-browser 窗口中,您可以看到您创建的管道文件。
后续步骤
5.1.2. 在管道中添加节点 复制链接链接已复制到粘贴板!
在管道中为 1_experiment_train.ipynb 和 2_save_model.ipynb 笔记本添加一些步骤或节点。
先决条件
- 您创建了管道文件,如 标题中所述
流程
在 JupyterLab file-browser 面板中,将
1_experiment_train.ipynb和2_save_model.ipynb笔记本拖到管道 canvas。
单击
1_experiment_train.ipynb的输出端口,并将连接行拖到2_save_model.ipynb的输入端口。
- 保存管道。
验证
- 您的管道有两个节点。
后续步骤
5.1.3. 将培训文件指定为依赖项 复制链接链接已复制到粘贴板!
在管道中设置节点属性,将培训文件指定为依赖项。
如果没有设置此文件依赖项,则在运行该文件时,该文件不会包含在节点中,培训任务会失败。
先决条件
- 在管道中添加了两个节点,如 将节点添加到管道 中所述。
流程
单击
1_experiment_train.ipynb节点。
- 在 Properties 面板中,点 Node Properties 选项卡。
向下滚动到 File Dependencies 部分,然后单击 Add。
-
将值设为
data configured.csv,其数据可为您的模型进行培训。 选择 Include Subdirectories 选项。
- 保存 管道。
验证
- 培训文件是管道中第一个节点的依赖项。
后续步骤
5.1.4. 创建并存储 ONNX 格式的输出文件 复制链接链接已复制到粘贴板!
您必须将 models/fraud/1/model.onnx 文件设置为管道中两个节点的输出文件。
先决条件
- 您已将培训文件作为依赖项添加到管道中的第一个节点,如 将培训文件指定为依赖项 中所述。
流程
- 选择节点 1。
- 选择 Node Properties 选项卡。
- 向下滚动到 Output Files 部分,然后单击 Add。
将值设为
models/fraud/1/model.onnx。
- 为节点 2 重复步骤 2-4。
- 点 Save Pipeline。
验证
-
在节点 1 中,笔记本会创建
models/fraud/1/model.onnx文件。 -
在节点 2 中,笔记本将
models/fraud/1/model.onnx文件上传到 S3 存储桶。
后续步骤
5.1.5. 配置与存储的连接 复制链接链接已复制到粘贴板!
在节点 2 中,笔记本将模型上传到 S3 存储桶。您必须使用由 My Storage 连接创建的 secret 设置 S3 存储桶密钥,该 secret 在存储数据中使用连接。
您可以在管道节点中使用此 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 名称和密钥。
先决条件
-
您创建了
My Storage连接,如使用 连接存储数据 中所述。 -
您可以将
models/fraud/1/model.onnx文件设置为管道中两个节点的输出文件,如 创建和存储 ONNX 格式的输出文件 中所述。
流程
删除任何预先填充的环境变量。
选择节点 2,然后选择 Node Properties 选项卡。
在 Additional Properties 下,请注意预填充了一些环境变量。管道编辑器从笔记本代码中推断出您需要它们。
由于您不想将值保存到管道中,因此请删除所有这些环境变量。
为每个预先填充的环境变量点 Remove。
使用 Kubernetes secret 添加 S3 存储桶和密钥。
在 Kubernetes Secrets 下,单击 Add。
输入以下值,然后单击 Add。
环境变量 :
AWS_ACCESS_KEY_ID-
Secret Name:
aws-connection-my-storage Secret Key:
AWS_ACCESS_KEY_ID
-
Secret Name:
对以下每个 Kubernetes secret 重复步骤 2:
环境变量 :
AWS_SECRET_ACCESS_KEY-
Secret Name:
aws-connection-my-storage -
Secret Key:
AWS_SECRET_ACCESS_KEY
-
Secret Name:
环境变量 :
AWS_S3_ENDPOINT-
Secret Name:
aws-connection-my-storage -
Secret Key:
AWS_S3_ENDPOINT
-
Secret Name:
环境变量 :
AWS_DEFAULT_REGION-
Secret Name:
aws-connection-my-storage -
Secret Key:
AWS_DEFAULT_REGION
-
Secret Name:
环境变量 :
AWS_S3_BUCKET-
Secret Name:
aws-connection-my-storage -
Secret Key:
AWS_S3_BUCKET
-
Secret Name:
-
选择 File
Save Pipeline As 来保存和重命名管道。例如,将它重命名为 My Train Save.pipeline。
验证
-
您可以使用
My Storage连接创建的 secret 设置 S3 存储桶密钥。
后续步骤
5.1.6. 运行管道 复制链接链接已复制到粘贴板!
在集群中上传管道并运行它。您可以直接从管道编辑器完成此操作。您可以使用您自己的新创建的管道或提供的 6 Train Save.pipeline 文件中的管道。
先决条件
- 您可以设置 S3 存储桶密钥,如 配置与存储的连接 中所述。
流程
单击管道编辑器工具栏中的 play 按钮。
- 为管道输入一个名称。
-
验证 Runtime Configuration: 已设置为
Data Science Pipeline。 点击 确定。
注意如果您看到一条错误消息,表示"没有定义 Data Science Pipeline 的运行时配置",您可能已在管道服务器可用前创建了工作台。
要解决这个问题,您必须验证配置了管道服务器,然后重启工作台。
- 在 OpenShift AI 仪表板中按照以下步骤操作:
检查管道服务器的状态:
在 Fraud Detection 项目中,点 Pipelines 选项卡。
- 如果您看到 Configure pipeline server 选项,请按照 启用数据科学管道 的步骤进行操作。
- 如果您看到 Import a pipeline 选项,管道服务器会被配置。继续下一步。
重启 Fraud 检测工作台:
- 单击 Workbenches 选项卡。
- 点 Stop,然后点 Stop workbench。
- 工作台状态变为 Stopped 后,单击 Start。
- 等待工作台状态变为 Running。
- 返回到工作台的 JupyterLab 环境,再运行管道。
在 OpenShift AI 仪表板中,打开您的数据科学项目并扩展新创建的管道。
单击 View run。
点运行,然后查看管道运行正在进行中。
验证
models/fraud/1/model.onnx 文件位于 S3 存储桶中。您可以为模型提供服务,如 为部署准备模型 中所述。
后续步骤