OpenShift AI - 运行欺诈检测模型和流程

news/2024/12/29 13:21:58/

《OpenShift / RHEL / DevSecOps 汇总目录》
说明:本文已经在 OpenShift 4.14 + RHODS 2.50 的环境中验证

文章目录

  • 准备运行环境
    • 安装 OpenShift AI 环境
    • 安装 Minio 对象存储软件
    • 创建 Data Science Project
    • 创建 Data connection
    • 创建 Workbench
    • 配置 Model server
    • 创建 Pipeline server
  • 运行应用
    • 运行欺诈检测应用
    • 配置和运行 Pipeline
      • 运行 Workbench Pipeline
      • 运行 Python Pipeline
  • 参考

准备运行环境

安装 OpenShift AI 环境

先根据《OpenShift AI - 部署 OpenShift AI 环境,运行 AI/ML 应用(视频)》一文完成 OpenShift AI 环境的安装。
注意:本应用无需 GPU 即可运行。

安装 Minio 对象存储软件

根据《OpenShift 4 - 管理和使用 OpenShift AI 运行环境》一文安装 MinIO。

创建 Data Science Project

在 OpenShift 控制台的菜单中选择 Red Hat OpenShift AI,然后在 OpenShift AI 控制台中创建名为 Fraud Detection 的 Data Science Project。

创建 Data connection

在项目中按以下配置创建两个 Data connection。

NameMy StoragePipeline Artifacts
Access keyminiominio
Secret keyminio123minio123
Endpointhttp://minio-service.minio.svc.cluster.local:9000http://minio-service.minio.svc.cluster.local:9000
Regionnono
Bucketmy-storagepipeline-artifacts

创建 Workbench

在项目中按以下配置创建一个 Workbench。

NameFraud Detection
Image selectionTensorFlow
Version selection2023.2
Container sizeSmall
Create new persistent storage -> NameFraud Detection
Use existing data connection -> Data connectionMy Storage

配置 Model server

  1. 在项目中按以下配置创建一个 Model server。
    在这里插入图片描述
  2. 点击创建好的 Model Server 的 Deploy model 按钮,然后按以下配置部署模型。
    在这里插入图片描述
  3. 最后可以查看部署的模型对应的内部服务地址。
    在这里插入图片描述

创建 Pipeline server

  1. 确认已经在 OpenShift 上安装了 OpenShift Pipelines Operator。
  2. 在项目中按以下配置创建一个 Pipeline server。
    在这里插入图片描述

运行应用

运行欺诈检测应用

  1. 从 Workbench 打开 Jupyter 的控制台。
  2. 将 https://github.com/rh-aiservices-bu/fraud-detection.git 克隆到本地。
  3. 运行编号为 1-5 的 ipynb 文件。其中在运行 2_save_model.ipynb 后,可以在对象存储中看到生成的模型。
    在这里插入图片描述

配置和运行 Pipeline

运行 Workbench Pipeline

  1. 打开 6 Train Save.pipeline 文件,其中包含 2 个节点。
  2. 在 Pipeline Properties 中将 Generic Node Defaults 的 Runtime Image 设为 Tensorflow with Cuda and Python 3.9 (UBI 9)。
  3. 选中 1_experiment_train 节点,然后将 Node Properties 中的 File Dependencies 设为 data/card_transdata.csv 和 Include Subdirectories。
  4. 分别选中 2 个节点,然后将 Node Properties 中的 Output Files 设为 models/fraud/model.onnx。
  5. 选中 2_save_model 节点,然后按下表添加 5 个 Kubernetes secrets。
    | Environment Variable | Secret Name | Secret Key |
    |–|–|–|
    | AWS_ACCESS_KEY_ID | aws-connection-my-storage | AWS_ACCESS_KEY_ID |
    | AWS_SECRET_ACCESS_KEY | aws-connection-my-storage | AWS_SECRET_ACCESS_KEY |
    | AWS_S3_ENDPOINT | aws-connection-my-storage | AWS_S3_ENDPOINT |
    | AWS_DEFAULT_REGION | aws-connection-my-storage | AWS_DEFAULT_REGION |
    | AWS_S3_BUCKET | aws-connection-my-storage | AWS_S3_BUCKET |
  6. 运行 6 Train Save.pipeline,然后在弹出窗口点击 OK。
    在这里插入图片描述
  7. 可以在 Data Science Pipelines 的 Runs 中查看到 Pipeline 实例的执行情况。
    在这里插入图片描述

运行 Python Pipeline

  1. 将 7_get_data_train_upload.yaml 文件下载到本地。
    在这里插入图片描述
  2. 在 OpenShift AI 控制台的 Fraud Detection 项目中通过 Import pipeline 功能按下图导入 7_get_data_train_upload.yaml 文件。
    在这里插入图片描述
  3. 在 OpenShift AI 控制台的 Data Science Pipelines - > Pipelines 中的 Python pipeline 点击 Create run,然后按下图创建一个运行实例。
    在这里插入图片描述
  4. 最后查看 Run 1 的运行情况。
    在这里插入图片描述

参考

https://rh-aiservices-bu.github.io/fraud-detection/
https://access.redhat.com/documentation/en-us/red_hat_openshift_ai_self-managed/2.5/html/openshift_ai_tutorial_-_fraud_detection_example
https://rh-aiservices-bu.github.io/rhoai-rh1-testdrive/modules/llm/download-save-llm.html


http://www.ppmy.cn/news/1347285.html

相关文章

嵌入式单片机中晶振的工作原理

晶振在单片机中是必不可少的元器件,只要用到CPU的地方就必定有晶振的存在,那么晶振是如何工作的呢? 什么是晶振 晶振一般指晶体振荡器,晶体振荡器是指从一块石英晶体上按一定方位角切下的薄片,简称为晶片。 石英晶体谐…

空气质量预测 | Matlab实现基于SVR支持向量机回归的空气质量预测模型

文章目录 效果一览文章概述源码设计参考资料效果一览 文章概述 政府机构使用空气质量指数 (AQI) 向公众传达当前空气污染程度或预测空气污染程度。 随着 AQI 的上升,公共卫生风险也会增加。 不同国家有自己的空气质量指数,对应不同国家的空气质量标准。 基于支持向量机(Su…

【工作学习 day04】 9. uniapp 页面和组件的生命周期

问题描述 uniapp常用的有:页面和组件,并且页面和组件各自有各自的生命周期函数,那么在页面/组件请求数据时,是用created呢,还是用onLoad呢? 先说结论: 组件使用组件的生命周期,页面使用页面的…

基于蒙特卡洛的电力系统可靠性分析matlab仿真,对比EDNS和LOLP

目录 1.课题概述 2.系统仿真结果 3.核心程序与模型 4.系统原理简介 1.课题概述 电力系统可靠性是指电力系统按可接受的质量标准和所需数量不间断地向电力用户供应电力和电能量的能力的量度,包括充裕度和安全性两个方面。发电系统可靠性是指统一并网的全部发电机…

水题中的稀奇古怪trick合集

状态转移问题,一个状态的改变还会牵涉到此状态之前的状态时,很难利用简单的动态规划解决,可以考虑利用BFS队列优化,把更新过的状态存进队列中,队列空时停止 例题:2024牛客寒假集训2D-Tokitsukaze and Slash…

vue.js基于springboot的实验室设备管理系统10345

(1)设备信息模块:记录设备的基本信息,如设备采购来源信息、设备需求量、当前数量、日期等。 (2) 用户模块:教师职工。实现对用户个人信息、消息管理和实验室设备的查询使用申请等。 (3) 管理员模块:实现对所有设备信息的增删改查&…

【Redis笔记】分布式锁及4种常见实现方法

线程锁 主要用来给方法、代码块加锁。当某个方法或代码使用锁,在同一时刻仅有一个线程执行该方法或该代码段。线程锁只在同一JVM中有效果,因为线程锁的实现在根本上是依靠线程之间共享内存实现的,比如Synchronized、Lock等。 进程锁 控制同…

【Transformer-Hugging Face手册 08/10】使用脚本进行训练

目录 一、说明二、设置三、运行脚本3.1 torch脚本3.2 tensorflow脚本 四、分布式训练和混合精度五、在 TPU 上运行脚本六、测试脚本七、从检查点恢复训练八、分享您的模型 一、说明 除了 Transformers 笔记本之外,还有一些示例脚本演示如何使用 PyTorch、TensorFlo…