将OSS里的 Stable diffusion 模型库挂载到PAI-EAS并部署推理

本文涉及的产品
模型训练 PAI-DLC,5000CU*H 3个月
对象存储 OSS,20GB 3个月
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
简介: 本文将会介绍如何一键转存模型库到自己的对象存储OSS空间中,并给出将OSS挂载到PAI-EAS实现部署,并对模型进行灵活切换与推理。

步骤一:通过《Stable Diffusion 模型库,AIGC 画风任你选》活动页面转存模型文件

如果您已经通过活动页面将SD模型库文件转存到了自己的OSS Bucket中,请跳过步骤一。

进入《Stable diffusion模型库,AIGC画风任你选》页面活动,在方案1:使用对象存储 OSS 作为模型库存储空间处单击一键复制

image.png

  1. 单击一键复制按钮后,将会弹出公共库转存信息对话框,输入新建对象存储OSS Bucket名称,此处示例填写osstestforsd;地域请从杭州,上海,北京,乌兰察布这四个Region选择,此处选择华东2(上海);签署转存的授权协议;最后单击确认转存

image.png

  1. 确认转存后几秒钟,将会弹出文件框提示转存成功,记录对象存储OSS Bucket名称为 osstestforsd

  1. 前往对象存储OSS控制台,确认您刚才转存的模型文件。在Bucket列表找并单击osstestforsd

进入Bucket的文件管理-文件列表处,然后逐个单击文件夹,进入/data-oss/models的目录,可以看到模型文件已经转存进来。

步骤二:将OSS模型库挂载到PAI-EAS并部署模型

您已经将SD模型库的Stable Diffusion模型文件转存到了自己的对象存储OSS中,该存储空间中的模型可以被用于SDWebUI,另外也可以将未来训练和推理的结果保存到该OSS Bucket目录中。您可以通过如下文件挂载方式来实现。

  1. 前往PAI控制台。开通机器学习PAI并创建默认工作空间。其中关键参数配置如下,更多详细内容,请参见开通并创建默认工作空间。如果您后续使用RAM用户来部署模型,您需要将RAM用户添加为默认工作空间的成员,并配置管理员角色,详情请参见管理成员;同时,需要为RAM用户授予PAI-EAS的管理权限,详情请参见云产品依赖与授权:EAS
  • 本教程地域选择:华东2(上海)
  • 组合开通:本教程无需使用其他产品,去除勾选其他产品即可。
  • 服务角色授权:单击去授权,完成服务角色授权。

  1. 登录PAI控制台,进入PAI-EAS控制台。

   a.在左侧导航栏,单击工作空间列表

     

b.在工作空间列表页面,找到默认工作空间,单击默认工作空间名称。

c.在左侧导航栏,选择模型部署>模型在线服务(EAS),进入PAI EAS模型在线服务页面。

说明:如果界面弹出一键授权对话框,单击授权即可。

  1. 登录PAI控制台,进入在PAI EAS模型在线服务页面,单击部署服务

  1. 部署服务页面,单击新建服务,在模型服务信息配置以下关键参数,其他参数保持默认即可。
  • 服务名称:自定义一个服务名称,本教程示例为sdwebui_poc
  • 部署方式:本次选择镜像部署AI-WEB应用
  • 镜像选择:在PAI平台镜像列表中选择stable-diffusion-webui;镜像版本选择4.0-standard说明:由于版本迭代迅速,部署时镜像版本选择最高版本即可。
  • 勾选并同意PAI服务专用协议

image.png

  1. 在模型服务信息区域,配置以下参数。
  1. 单击填写模型配置,进行模型配置
  1. 模型配置选择OSS挂载,将OSS路径配置为步骤1中创建的OSS Bucket路径。例如:oss://osstestforsd/data-oss/
  2. 挂载路径:将您配置的OSS文件目录挂载到镜像的/code/stable-diffusion-webui路径下。例如配置为:/code/stable-diffusion-webui/data-oss
  3. 是否只读:开关关闭。

运行命令中增加--data-dir 挂载目录,其中挂载目录需要与模型配置挂载路径的最后一级目录一致。例如:

./webui.sh --listen --port 8000 --skip-version-check --no-hashing --no-download-sd-model --skip-install --api --api-log --time-log --sd-dynamic-cache --data-dir data-oss


image.png


  1. 在资源部署信息区域,配置如下参数
  1. 资源种类:选择公共资源组
  2. 资源配置方法:选择常规资源配置
  3. 资源配置选择:
  1. 如果您使用免费试用资源,本教程实例规格选择试用活动页签的ecs.gn6i-c8g1.2xlarge.limit说明:阿里云免费试用提供的机型包括以下三种机型,仅选择试用活动页签下的这三种机型来部署服务产生的费用,才能使用抵扣包抵扣。 ecs.g6.xlarge.limit ecs.gn6i-c8g1.2xlarge.limit ecs.gn7i-c8g1.2xlarge.limit
  2. 如果您使用个人账户资源,本教程实例规格选择试用活动页签的ecs.gn6i-c8g1.2xlarge.limit。
  1. 额外系统盘:本教程不需要额外系统盘。


  1. 部署服务页面下方,单击部署。

  1. 部署服务对话框中,单击确定

  1. PAI EAS模型在线服务页面,等待1~3分钟,当模型状态创建中变为运行中,表明服务已成功部署,您可继续后续的模型推理操作。

image.png

步骤三:启动WebUI进行模型切换与推理

  1. PAI EAS模型在线服务页面,找到您创建的服务,单击其服务方式列下的查看Web应用

image.png

  1. 启动WebUI。在WebUI页面Stable Diffusion模型(ckpt)下拉列表中切换指定模型,进行模型推理验证。此处选择名称为dreamshaper_7的模型,选择完成后,切换模型时间预计需要几十秒,请耐心等待。

image.png

切换完成后,在文生图页面输入如下信息:

  • 提示词:photo of the warrior Aragorn from Lord of the Rings, film grain
  • 反向提示词:BadDream, (UnrealisticDream:1.2)
  • 采样方法(Sampler):DPM++ SDE Karras
  • 迭代步数(steps):30
  • 相关性(CFG scale):4
  • 随机种(seed):82742

image.png

相关文章
|
1月前
|
机器学习/深度学习 数据采集 数据挖掘
实战派教学:掌握Scikit-learn,轻松实现数据分析与机器学习模型优化!
【10月更文挑战第4天】Scikit-learn凭借高效、易用及全面性成为数据科学领域的首选工具,简化了数据预处理、模型训练与评估流程,并提供丰富算法库。本文通过实战教学,详细介绍Scikit-learn的基础入门、数据预处理、模型选择与训练、评估及调优等关键步骤,助你快速掌握并优化数据分析与机器学习模型。从环境搭建到参数调优,每一步都配有示例代码,便于理解和实践。
88 2
|
1月前
|
机器人
1024 云上见 使用 PAI+LLaMA Factory 微调 Qwen2-VL 模型,搭建 “文旅领域知识问答机器人” 领精美计时器
1024 云上见 使用 PAI+LLaMA Factory 微调 Qwen2-VL 模型,搭建 “文旅领域知识问答机器人” 领精美计时器
86 3
|
1月前
|
机器学习/深度学习 数据采集 监控
如何使用机器学习模型来自动化评估数据质量?
【10月更文挑战第6天】如何使用机器学习模型来自动化评估数据质量?
|
10天前
|
机器学习/深度学习 数据采集 监控
如何使用机器学习模型来自动化评估数据质量?
如何使用机器学习模型来自动化评估数据质量?
|
7天前
|
机器学习/深度学习 人工智能 算法
【手写数字识别】Python+深度学习+机器学习+人工智能+TensorFlow+算法模型
手写数字识别系统,使用Python作为主要开发语言,基于深度学习TensorFlow框架,搭建卷积神经网络算法。并通过对数据集进行训练,最后得到一个识别精度较高的模型。并基于Flask框架,开发网页端操作平台,实现用户上传一张图片识别其名称。
24 0
【手写数字识别】Python+深度学习+机器学习+人工智能+TensorFlow+算法模型
|
11天前
|
机器学习/深度学习 算法 PyTorch
用Python实现简单机器学习模型:以鸢尾花数据集为例
用Python实现简单机器学习模型:以鸢尾花数据集为例
33 1
|
1月前
|
数据采集 移动开发 数据可视化
模型预测笔记(一):数据清洗分析及可视化、模型搭建、模型训练和预测代码一体化和对应结果展示(可作为baseline)
这篇文章介绍了数据清洗、分析、可视化、模型搭建、训练和预测的全过程,包括缺失值处理、异常值处理、特征选择、数据归一化等关键步骤,并展示了模型融合技术。
54 1
模型预测笔记(一):数据清洗分析及可视化、模型搭建、模型训练和预测代码一体化和对应结果展示(可作为baseline)
|
19天前
|
分布式计算 Java 开发工具
阿里云MaxCompute-XGBoost on Spark 极限梯度提升算法的分布式训练与模型持久化oss的实现与代码浅析
本文介绍了XGBoost在MaxCompute+OSS架构下模型持久化遇到的问题及其解决方案。首先简要介绍了XGBoost的特点和应用场景,随后详细描述了客户在将XGBoost on Spark任务从HDFS迁移到OSS时遇到的异常情况。通过分析异常堆栈和源代码,发现使用的`nativeBooster.saveModel`方法不支持OSS路径,而使用`write.overwrite().save`方法则能成功保存模型。最后提供了完整的Scala代码示例、Maven配置和提交命令,帮助用户顺利迁移模型存储路径。
|
20天前
|
机器学习/深度学习 数据采集 Python
从零到一:手把手教你完成机器学习项目,从数据预处理到模型部署全攻略
【10月更文挑战第25天】本文通过一个预测房价的案例,详细介绍了从数据预处理到模型部署的完整机器学习项目流程。涵盖数据清洗、特征选择与工程、模型训练与调优、以及使用Flask进行模型部署的步骤,帮助读者掌握机器学习的最佳实践。
59 1
|
22天前
|
分布式计算 DataWorks 数据处理
"DataWorks高级技巧揭秘:手把手教你如何在PyODPS节点中将模型一键写入OSS,实现数据处理的完美闭环!"
【10月更文挑战第23天】DataWorks是企业级的云数据开发管理平台,支持强大的数据处理和分析功能。通过PyODPS节点,用户可以编写Python代码执行ODPS任务。本文介绍了如何在DataWorks中训练模型并将其保存到OSS的详细步骤和示例代码,包括初始化ODPS和OSS服务、读取数据、训练模型、保存模型到OSS等关键步骤。
60 3