基于EasyPhoto的AI写真生成示例(WebUI版)

更新时间: 2024-04-17 13:49:27

learn

手动配置

65

教程简介

EasyPhoto是一款开源的SD WebUI插件,允许用户通过上传若干张同一人的照片,快速训练LoRA模型,并结合用户自定义的模板图片,最终生成真、像、美的写真照片。

本教程为您介绍,如何在PAI中快速启动EasyPhoto,让您轻松掌握这款AI写真插件,打造属于自己的完美照片!您可以基于此,实现以下功能:

overview.jpg

  • 训练个人的LoRA模型

  • 生成单人或多人的AI写真

  • 生成任意风格的人物写真

我能学到什么

  • 熟悉PAI-DSW的操作基本流程。

  • 学会在PAI-DSW上开发一个基于EasyPhoto的AI生成写真模型。

操作难度

所需时间

65分钟

使用的阿里云产品

交互式建模(PAI-DSW)

阿里云在华北2(北京)、华东2(上海)、华东1(杭州)、华南1(深圳)地域为您提供了免费的PAI-DSW资源供您免费体验,您可根据需要选择对应地域申请试用,本教程以杭州地域为例。

【重要】:PAI-DSW免费资源包只适用于本教程中的PAI-DSW产品。如果您领取了PAI-DSW资源包后,使用了PAI-DSW及PAI的其他产品功能(如PAI-DLC、PAI-EAS等),PAI-DSW产品产生的费用由资源包抵扣,其他产品功能产生的费用无法抵扣,会产生对应的费用账单。

所需费用

0元

准备环境和资源

5

开始教程前,请按以下步骤准备环境和资源:

【重要】:PAI-DSW免费资源包只适用于本教程中的PAI-DSW产品。如果您领取了PAI-DSW资源包后,使用了PAI-DSW及PAI的其他产品功能(如PAI-DLC、PAI-EAS等),PAI-DSW产品产生的费用由资源包抵扣,其他产品功能产生的费用无法抵扣,会产生对应的费用账单。

  1. 访问阿里云免费试用。单击页面右上方的登录/注册按钮,并根据页面提示完成账号登录(已有阿里云账号)、账号注册(尚无阿里云账号)或实名认证(根据试用产品要求完成个人实名认证或企业实名认证)。

  2. 成功登录后,在产品类别下选择人工智能与机器学习 > 人工智能平台,在交互式建模PAI-DSW卡片上单击立即试用

    【说明】:如果您此前已申请过试用PAI的免费资源包,此时界面会提示为已试用,您可以直接单击已试用按钮,进入PAI的控制台。

  3. 交互式建模PAI-DSW面板,勾选服务协议后,单击立即试用,进入免费开通页面。

    【重要】以下几种情况可能产生额外费用

    • 使用了除免费资源类型外的计费资源类型:

      您申请试用的是PAI-DSW免费资源包,但您创建的DSW实例使用的资源类型非阿里云免费试用提供的资源类型。当前可申请免费使用的资源类型有:ecs.gn6v-c8g1.2xlarge、ecs.g6.xlarge、ecs.gn7i-c8g1.2xlarge。

    • 申请试用的免费资源包与使用的产品资源不对应:

      • 您创建了DSW实例,但您申请试用的是DLCEAS产品的免费资源包。您使用DSW产品产生的费用无法使用免费资源包抵扣,会产生后付费账单。

      • 您申请试用的是DSW免费资源包,但您使用的产品是DLCEAS。使用DLCEAS产品产生的费用无法使用DSW免费资源包抵扣,会产生后付费账单。

    • 免费额度用尽或超出试用期:

      领取免费资源包后,请在免费额度和有效试用期内使用。如果免费额度用尽或试用期结束后,继续使用计算资源,会产生后付费账单。

      请前往资源实例管理页面,查看免费额度使用量和过期时间,如下图所示。image

  4. 开通PAI并创建默认工作空间。其中关键参数配置如下,更多详细内容,请参见开通并创建默认工作空间

    • 本教程地域选择:华北2(北京)。您也可以根据情况选择华东1(杭州)、华东2(上海)、华南1(深圳)地域。

    • 单击免费开通并创建默认工作空间:在弹出的开通页面中配置订单详情。配置要点如下。

      • 本教程不需要开通其他产品,您需要在组合开通配置模块,去勾选其他产品的复选框。

      • 服务角色授权模块单击去授权,根据界面提示为PAI完成授权,然后返回开通页面,刷新页面,继续开通操作。00453deec2515d848fa569322e530039.png

  5. 开通成功后单击进入PAI控制台,在默认工作空间中创建DSW实例。其中关键参数配置如下,其他参数取默认配置即可。更多详细内容,请参见创建DSW实例

    【说明】:创建DSW实例需要一定时间,与当前的资源数有关,通常大约需要15分钟。如果您使用地域资源不足,可更换其他支持免费试用的地域申请开通试用并创建DSW实例。

    参数

    描述

    地域及可用区

    本教程选择:华北2(北京)

    实例名称

    您可以自定义实例名称,本教程示例为:easyphoto_test_01。

    资源配额

    本教程需选择公共资源(后付费)GPU规格,规格名称为ecs.gn7i-c8g1.2xlarge

    【说明】:阿里云免费试用提供的资源类型包括以下几种类型:

    • ecs.gn7i-c8g1.2xlarge

    • ecs.g6.xlarge

    • ecs.gn6v-c8g1.2xlarge

    存储配置(可选)

    建议您申请免费的NAS资源包,然后在存储配置模块单击创建数据集,在弹出的数据集配置页面中重点配置以下参数,其他参数可保持默认值。

    • 选择数据存储:选择阿里云文件存储(NAS)

    • 选择文件系统:在下拉框中选择类型为NAS的文件系统。建议您选择上述步骤中已创建的NAS文件系统。防止网络不通,导致无法挂载NAS文件系统。

    选择镜像

    选择官方镜像>stable-diffusion-webui-develop:1.0.0-pytorch2.01-gpu-py310-cu117-ubuntu22.04

在DSW中打开教程文件

5

  1. 进入PAI-DSW开发环境。

    1. 登录PAI控制台

    2. 在页面左上方,选择DSW实例所在的地域。

    3. 在左侧导航栏单击工作空间列表,在工作空间列表页面中单击默认工作空间名称,进入对应工作空间内。

    4. 在左侧导航栏,选择模型开发与训练>交互式建模(DSW)

    5. 单击需要打开的实例操作列下的打开,进入PAI-DSW实例开发环境。

  2. Notebook页签的Launcher页面,单击快速开始区域Tool下的DSW Gallery,打开DSW Gallery页面。image.png

  3. 在DSW Gallery页面中,搜索并找到基于EasyPhoto的AI写真生成示例 (WebUI版)教程,单击教程卡片中的在DSW中打开

    单击后即会自动将本教程所需的资源和教程文件下载至DSW实例中,并在下载完成后自动打开教程文件。image.png

运行教程文件

5

在打开的教程文件stable_diffusion_easyphoto.ipynb文件中,您可以直接看到教程文本,您可以在教程文件中直接运行对应的步骤的命令,当成功运行结束一个步骤命令后,再顺次运行下个步骤的命令。

8604d96eb68f290ee5e954033ceca7a6.png

本教程包含的操作步骤以及每个步骤的执行结果如下。

  1. 环境安装。依次运行环境安装下的各命令,可下载并安装预置的带有EasyPhoto插件的WebUI,即所依赖的模型。

    1. 定义下载相关函数。

    2. 下载并解压代码和环境包。

    3. 下载所需的模型包,并放置指定位置。

  2. 环境更新并启动WebUI。运行启动WebUI下的环境更新启动WebUI命令,运行完成后,在返回结果中,单击URL链接(http://127.0.0.1:7860),进入WebUI页面。后续您可以在该页面进行模型训练与推理。

    说明

    由于http://127.0.0.1:7860为内网访问地址,仅支持在当前的DSW实例内部通过单击链接来访问WebUI页面,不支持通过外部浏览器直接访问。

模型训练

30

  1. 在打开的WebUI页面中,单击EasyPhoto页签,单击Upload Photos,上传5~20张半身人像训练图片,完成后单击Start Training

    image.png

  2. 根据界面提示输入User id。此User id用于标识报错的模型,您可根据标识需要自定义一个User id。

  3. 完成后即开始对上传的图片进行训练,训练通常需要约30分钟左右,请您耐心等待训练完成。

    如在训练过程中出现如前端断连的情况,您也可在Notebook页面查看训练进度,当进度至100%时即完成训练。

    • 前端连接错误

      image.png

    • Notebook训练进度

      image.png

    • 待训练完成后刷新前端页面即可进行模型推理。

模型推理

5

  1. 完成训练后,刷新WebUI界面,单击EasyPhoto下的Inference页签,选择一个模板。

  2. 选择基模型和User Id对应的LoRA模型。您可单击刷新图标获得所有的UserID列表。

    image.png

  3. 完成推理后,您可在界面查看生成的AI写真。推理结果将默认保存在 {stable-diffusion-webui所在目录}/outputs/easyphoto-outputs/{日期} 文件夹中。

    image.png

(可选)EasyPhoto更新

5

当前EasyPhoto插件仍处于迭代开发阶段,如需要更新到最新版的EasyPhoto,可进行插件所在目录git pull最新的代码,或运行Gallery教程中更新EasyPhoto部分的命令即可。

说明

如果遇到网络问题,您可重复更新操作,多次尝试。

完成

5

完成以上操作后,您已经成功完成了AI写真的模型训练及推理。

清理及后续

5

清理

  • 如果无需继续使用DSW实例,您可以按照以下操作步骤停止DSW实例。

    1. 登录PAI控制台

    2. 在页面左上方,选择DSW实例的地域。

    3. 在左侧导航栏单击工作空间列表,在工作空间列表页面中单击默认工作空间名称,进入对应工作空间内。

    4. 在工作空间页面的左侧导航栏选择模型开发与训练>交互式建模(DSW),进入交互式建模(DSW)页面。

    5. 单击目标实例操作列下的停止,成功停止后即停止资源消耗。

  • 领取免费资源包后,请在免费额度和有效试用期内使用。如果免费额度用尽或试用期结束后,继续使用计算资源,会产生后付费账单。

    请前往资源实例管理页面,查看免费额度使用量和过期时间,如下图所示。

    image

  • 如果需要继续使用DSW实例,请务必至少在试用到期1小时前为您的阿里云账号充值,到期未续费的DSW实例会因欠费而被自动停止。

后续

在试用有效期期间,您还可以继续使用DSW实例进行模型训练和推理验证。

总结

常用知识点

问题1:本教程使用了DSW的哪个插件功能完成了AI写真的训练及推理?(单选题)

  • EasyPhoto

  • ChatGLM-6B

  • LangChain

正确答案是EasyPhoto。

延伸阅读