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

《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://xiahunao.cn/news/2774873.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

解决“org.apache.catalina.startup.Catalina.stopServer 未配置关闭端口。通过OS信号关闭服务器。服务器未关闭“

版权声明 本文原创作者:谷哥的小弟作者博客地址:http://blog.csdn.net/lfdfhl 问题描述 项目部署至Tomcat服务器报错:org.apache.catalina.startup.Catalina.stopServer 未配置关闭端口。通过OS信号关闭服务 器。服务器未关闭;图…

探讨CSDN等级制度:博客等级、原力等级、创作者等级

个人名片: 🦁作者简介:学生 🐯个人主页:妄北y 🐧个人QQ:2061314755 🐻个人邮箱:2061314755qq.com 🦉个人WeChat:Vir2021GKBS 🐼本文由…

跟着pink老师前端入门教程-day21+22

5.4 常见flex布局思路 5.5 背景线性渐变 语法: background: linear-gradient( 起始方向 , 颜色 1, 颜色 2, ...); background: -webkit-linear-gradient(left, red , blue); background: -webkit-linear-gradient(left top, red , blue); 背景渐变必须添加浏览…

学习笔记——ENM模拟

学习笔记——ENM模拟 文章目录 前言一、文献一1. 材料与方法1.1. 大致概念1.2. 生态模型的构建1.2.1. 数据来源:1.2.2. 数据处理:1.2.3. 模型参数优化: 1.3. 适生情况预测1.3.1. 预测模型构建1.3.2. 适生区划分 1.4. 模型的评估与验证 2. 结果…

吉他学习:识谱,认识节奏,视唱节奏,节拍器的使用

第九课 识谱https://m.lizhiweike.com/lecture2/29362692 第十课 基础乐理(二)——节奏篇https://mp.csdn.net/mp_blog/creation/editor?spm1011.2124.3001.6192 第十一课 视唱节奏(一)https://m.lizhiweike.com/lecture2/293634…

【大模型上下文长度扩展】LongQLoRA:单GPU(V100)环境下的语言模型优化方案

LongQLoRA 核心问题子问题1: 预定义的上下文长度限制子问题2: 训练资源的需求高子问题3: 保持模型性能分析不足 LongQLoRA方法拆解子问题1: 上下文长度限制子问题2: 高GPU内存需求子问题3: 精确量化导致的性能损失分析不足效果 论文:https://arxiv.org/pdf/2311.048…

使用深度学习对视频进行分类

目录 加载预训练卷积网络 加载数据 将帧转换为特征向量 准备训练数据 创建 LSTM 网络 指定训练选项 训练 LSTM 网络 组合视频分类网络 使用新数据进行分类 辅助函数 此示例说明如何通过将预训练图像分类模型和 LSTM 网络相结合来创建视频分类网络。 要为视频…

Win32 SDK Gui编程系列之--创建菜单

菜单的概要在“Windows编程的基础”中提到了。在这里,对菜单的制作进行更详细的说明。 1.菜单的制作 菜单将数据设置在下面的MENUITEM结构中,用InsertMenuItem函数创建。 typedef struct tagMENUITEMINFO { fMask UINT cbSize;…

第十三、十四个知识点:用javascript获取表单的内容并加密

我们先来写一段代码&#xff1a; <body><form action"#" method"post">//写一个表单<span>用户名&#xff1a;</span><input type"text" id"username" name"username"><span>密码&a…

【代码随想录26】332.重新安排行程 51.N皇后 37.解数独

目录 332.重新安排行程题目描述参考代码 51.N皇后题目描述参考代码 37.解数独题目描述参考代码 332.重新安排行程 题目描述 给你一份航线列表 tickets &#xff0c;其中 tickets[i] [fromi, toi] 表示飞机出发和降落的机场地点。请你对该行程进行重新规划排序。 所有这些机…

(力扣)1314.矩阵区域和

给你一个 m x n 的矩阵 mat 和一个整数 k &#xff0c;请你返回一个矩阵 answer &#xff0c;其中每个 answer[i][j] 是所有满足下述条件的元素 mat[r][c] 的和&#xff1a; i - k < r < i k, j - k < c < j k 且(r, c) 在矩阵内。 示例 1&#xff1a; 输入&a…

权限控制系统设计与实践的经验总结

在现代应用开发中&#xff0c;权限控制是确保系统安全和数据保护的重要组成部分。本文将介绍权限控制系统的设计原则&#xff0c;并分享一些实践经验&#xff0c;帮助开发人员更好地设计和实现适合自己项目的权限控制系统。 1. 设计原则&#xff1a; - 最小权限原则&#x…

spring boot(2.4.x 开始)和spring cloud项目中配置文件application和bootstrap加载顺序

在前面的文章基础上 https://blog.csdn.net/zlpzlpzyd/article/details/136060312 spring boot 2.4.x 版本之前通过 ConfigFileApplicationListener 加载配置 https://github.com/spring-projects/spring-boot/blob/v2.3.12.RELEASE/spring-boot-project/spring-boot/src/mai…

小白都能看懂的力扣算法详解——链表(一)

&#xff01;&#xff01;本篇所选题目及解题思路均来自代码随想录 (programmercarl.com) 一 203.移除链表元素 题目要求&#xff1a;给你一个链表的头节点 head 和一个整数 val &#xff0c;请你删除链表中所有满足 Node.val val 的节点&#xff0c;并返回新的头节点。 203.…

Android 识别车牌信息

打开我们心爱的Android Studio 导入需要的资源 gradle //开源车牌识别安卓SDK库implementation("com.github.HyperInspire:hyperlpr3-android-sdk:1.0.3")button.setOnClickListener(v -> {Log.d("Test", "");try (InputStream file getAs…

第二届 N1CTF Junior Crypto-junior RSA WP

题目&#xff1a; from Crypto.Util.number import * from secret import flagm bytes_to_long(flag)def gen(bits):while True:a getPrime(bits)b getPrime(bits)c getPrime(bits)p (a << (2*bits)) (b << bits) cq (c << (2*bits)) (a << …

免费文字转语音工具,一款优秀且永久免费的文字转语音工具,同时拥有多种类型男声女声,支持多国语言转换,支持语速调节和下载!

一、软件简介 该工具只有一个功能&#xff0c;就是将输入框内的纯文本内容转换为指定语言的音频&#xff0c;并且可以自由调节语速及音色&#xff08;男声/女声&#xff09;&#xff0c;其内置了多种语音包&#xff0c;包含男声、女声、普通话、粤语以及方言&#xff0c;并且支…

ctfshow-命令执行(web73-web77)

web73 用不了上一题的通用poc了 因为禁用了strlen 但是可以改一个函数自定义一个函数只要是能实现strlen效果即可 cvar_export(scandir(/));exit(0); 根目录下有一个flagc.txt文件 cinclude(/flagc.txt);exit(0); web74 禁用了scandir函数 那就使用web72的glob协议 查看目录下…

如何在vue中使用拖动排序组件sortablejs

效果图&#xff1a; 1.首先&#xff0c;我们需要在vue项目中安装依赖&#xff1a; npm install -save sortablejs2.创建demo文件>demoTest.vue&#xff0c;直接附上实例代码&#xff1a; <template><div><div id"table-names"><div class&…

c#: 表达式树的简化

环境&#xff1a; .net 6 一、问题&#xff1f; 有下面的表达式&#xff1a; var nums new List<int> { 1, 2, 3 }; Expression<Func<int, bool>> exp i > i > nums.Max();我们知道&#xff0c;它其实就是&#xff1a;exp i > i > 3; 那么…