打造你的定制化AI工具

本文涉及的产品
对象存储 OSS,标准 - 本地冗余存储 20GB 3个月
对象存储 OSS,恶意文件检测 1000次 1年
对象存储 OSS,内容安全 1000 次 1年
简介: 【8月更文挑战第18天】打造你的定制化AI工具

AIGC是指通过人工智能技术自动生成内容的生产方式,已经成为继互联网时代的下一个产业时代风口。其中文生图也有了飞速的发展,这里将介绍如何自己部署基于PAI-DSW部署Stable Diffusion文生图Lora模型,来体验AIGC的魅力。

资源准备

开启体验服务

再开始实验之前,我们需要先开通交互式建模PAI-DSW 的服务,趁着阿里云推出的免费试用的机会,赶快来体验吧,试用中心地址:阿里云免费试用 找到机器学习平台PAI的类别,点击【立即试用】

如果没有试用资格,那么你可以直接进行后面的操作。

开通交互式建模PAI-DSW服务之后,需要创建默认工作空间,

创建工作空间

创建默认工作空间,官方文档地址:开通并创建默认工作空间,比如选择地域杭州

点击【开通PAI并创建默认工作空间】,完成授权及勾选操作

点击【确认开通并创建默认工作空间】完成默认工作空间的创建。

部署服务

回到PAI控制台首页,可以在工作空间列表中看到我们刚才创建的默认工作空间信息,

在控制台选择菜单【交互式建模(DSW)】

创建DSW实例

这里会默认选中我们刚才创建的工作空间,点击【进入DSW】

点击【创建实例】

输入实例名称,点击tab 【GPU规格】,选择规格【ecs.gn7i-c8g1.2xlarge】

继续选择镜像【stable-diffusion-webui-env:pytorch1.13-gpu-py310-cu117-ubuntu22.04】点击【下一步】

确认完信息之后点击【创建实例】

等待实例资源准备后启动成功。

安装Diffusers

下载Diffusers开源库并安装,为后续下载stable-diffusion-webui开源库做准备。

点击【打开】

打开在线编辑工具Notebook,选择【Python3】如图

输入命令下载Diffusers开源库

! git clone https://github.com/huggingface/diffusers

下载开源库过程中,如果遇到超时的情况可以再次执行下载即可

验证一下是否安装成功

配置accelerate,选择Terminal输入配置命令,确认之后,通过键盘上下键选中This machine并确认

然后在选择multi-GPU

选中之后确认,后面的一次按截图的内容选择即可

最后选中fp16 点击确认

此时可以看到accelerate配置完成了。下面继续回到python3页面安装文生图算法相关依赖库

! cd diffusers/examples/text_to_image && pip install -r requirements.txt

下面开始下载stable-diffusion-webui开源库,执行命令

! git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git && \
cd stable-diffusion-webui && \
git checkout a9fed7c364061ae6efb37f797b6b522cb3cf7aa2
! cd stable-diffusion-webui && mkdir -p repositories && cd repositories && \
git clone https://github.com/sczhou/CodeFormer.git

下载过程中如果遇到这种情况,再次执行以下命令就可以了

最后下载完成。继续下载示例数据集,后续会使用该数据集进行模型训练。执行如下命令

! wget http://pai-vision-data-hz.oss-cn-zhangjiakou.aliyuncs.com/EasyCV/datasets/try_on/cloth_train_example.tar.gz && tar -xvf cloth_train_example.tar.gz
! wget http://pai-vision-data-hz.oss-cn-zhangjiakou.aliyuncs.com/EasyCV/datasets/try_on/train_text_to_image_lora.py

数据集下载完成之后可以看到

查看一下示例服装,执行命令

from PIL import Image
display(Image.open("cloth_train_example/train/20230407174450.jpg"))

执行结果可以看到

继续下载预训练模型并转化成diffusers格式,执行命令

! cd stable-diffusion-webui/models/Stable-diffusion && wget -c https://huggingface.co/naonovn/chilloutmix_NiPrunedFp32Fix/resolve/main/chilloutmix_NiPrunedFp32Fix.safetensors -O chilloutmix_NiPrunedFp32Fix.safetensors
! python diffusers/scripts/convert_original_stable_diffusion_to_diffusers.py \
--checkpoint_path=stable-diffusion-webui/models/Stable-diffusion/chilloutmix_NiPrunedFp32Fix.safetensors \
--dump_path=chilloutmix-ni --from_safetensors

执行结果如图

执行命令,设置num_train_epochs为200,进行lora模型的训练

! export MODEL_NAME="chilloutmix-ni" && \
export DATASET_NAME="cloth_train_example" && \
accelerate launch --mixed_precision="fp16" train_text_to_image_lora.py \
  --pretrained_model_name_or_path=$MODEL_NAME \
  --dataset_name=$DATASET_NAME --caption_column="text" \
  --width=640 --height=768 --random_flip \
  --train_batch_size=1 \
  --num_train_epochs=200 --checkpointing_steps=5000 \
  --learning_rate=1e-04 --lr_scheduler="constant" --lr_warmup_steps=0 \
  --seed=42 \
  --output_dir="cloth-model-lora" \
  --validation_prompt="cloth1" --validation_epochs=100

训练完成之后可以看到

然后将lora模型转化成WebUI支持格式并拷贝到WebUI所在目录

! wget -c http://pai-vision-data-hz.oss-cn-zhangjiakou.aliyuncs.com/EasyCV/datasets/convert-to-safetensors.py
! python convert-to-safetensors.py --file='cloth-model-lora/pytorch_lora_weights.bin'
! mkdir stable-diffusion-webui/models/Lora
! cp cloth-model-lora/pytorch_lora_weights_converted.safetensors stable-diffusion-webui/models/Lora/cloth_lora_weights.safetensors

执行结果如图

准备其他模型文件

! mkdir stable-diffusion-webui/models/Codeformer
! cd stable-diffusion-webui/repositories/CodeFormer/weights/facelib/ && \
wget -c http://pai-vision-data-hz.oss-cn-zhangjiakou.aliyuncs.com/EasyCV/datasets/try_on/detection_Resnet50_Final.pth && \
wget -c http://pai-vision-data-hz.oss-cn-zhangjiakou.aliyuncs.com/EasyCV/datasets/try_on/parsing_parsenet.pth
! cd stable-diffusion-webui/models/Codeformer && wget -c http://pai-vision-data-hz.oss-cn-zhangjiakou.aliyuncs.com/EasyCV/datasets/try_on/codeformer-v0.1.0.pth
! cd stable-diffusion-webui/embeddings && wget -c http://pai-vision-data-hz.oss-cn-zhangjiakou.aliyuncs.com/EasyCV/datasets/try_on/ng_deepnegative_v1_75t.pt
! cd stable-diffusion-webui/models/Lora && wget -c https://huggingface.co/Kanbara/doll-likeness-series/resolve/main/koreanDollLikeness_v10.safetensors

执行结果如图

启动WebUI

在Notebook中,执行如下命令,启动WebUI

! cd stable-diffusion-webui && python -m venv --system-site-packages --symlinks venv
! cd stable-diffusion-webui && \
  sed -i 's/can_run_as_root=0/can_run_as_root=1/g' webui.sh && \
  ./webui.sh --no-download-sd-model --xformers

这个命令执行过程中可能会遇到多种情况的错误,每次遇到错误情况时重新执行命令即可,错误情况比如

或者是

最后执行成功的界面如下

启动成功之后单机链接地址进入模型训练页面,输入待生成模型文本等待生成结果

使用体验

整体来说,本次操作的时间会耗时比较久,两个多小时左右,在部署过程中可能会遇到各种不成功的情况,不用担心,再次执行命令即可。

另外,对于AIGC文生图的操作,对于生成图像与文字描述是否匹配,这个主要还是取决于你当前使用的文生图模型的训练程度,模型训练的结果直接决定了AIGC文生图的准确度,由此及彼的来看,对于AIGC文生图、图生文、文生视频、文生音频等的操作,随着模型训练的不断丰富话,后续想要生成更加准确的切合文字内容的图片及视频都是很有可能的。

相关实践学习
通义万相文本绘图与人像美化
本解决方案展示了如何利用自研的通义万相AIGC技术在Web服务中实现先进的图像生成。
相关文章
|
2月前
|
人工智能 自然语言处理 搜索推荐
AI与GIS工具引领企业变革
科技赋能企业转型:清华团队突破固态电池技术,AIGEO融合AI与GIS助力精准获客,降本增效。覆盖美妆、教育、金融等多领域,提升流量与转化率,推动数字化升级。(238字)
258 107
|
1月前
|
人工智能 搜索推荐 算法
用AI提示词搞定基金定投:技术人的理财工具实践
本文将AI提示词工程应用于基金定投,为技术人打造一套系统化、可执行的理财方案。通过结构化指令,AI可生成个性化定投策略,覆盖目标设定、资产配置、风险控制与动态调整,帮助用户降低决策门槛,规避情绪干扰,实现科学理财。
488 13
|
1月前
|
SQL 人工智能 机器人
AI Agent新范式:FastGPT+MCP协议实现工具增强型智能体构建
FastGPT 与 MCP 协议结合,打造工具增强型智能体新范式。MCP 如同 AI 领域的“USB-C 接口”,实现数据与工具的标准化接入。FastGPT 可调用 MCP 工具集,动态执行复杂任务,亦可作为 MCP 服务器共享能力。二者融合推动 AI 应用向协作式、高复用、易集成的下一代智能体演进。
313 0
|
2月前
|
人工智能 缓存 监控
使用LangChain4j构建Java AI智能体:让大模型学会使用工具
AI智能体是大模型技术的重要演进方向,它使模型能够主动使用工具、与环境交互,以完成复杂任务。本文详细介绍如何在Java应用中,借助LangChain4j框架构建一个具备工具使用能力的AI智能体。我们将创建一个能够进行数学计算和实时信息查询的智能体,涵盖工具定义、智能体组装、记忆管理以及Spring Boot集成等关键步骤,并展示如何通过简单的对话界面与智能体交互。
933 1
|
1月前
|
机器学习/深度学习 人工智能 算法
AI可以做电商主图了:技术原理,AI电商图生成工具对比及技术解析
双十一临近,电商主图需求激增。AI技术凭借多图融合、扩散模型等,实现高效智能设计,30秒生成高质量主图,远超传统PS效率。支持风格迁移、背景替换、文案生成,助力商家快速打造吸睛商品图,提升转化率。
662 0
|
1月前
|
人工智能 搜索推荐 数据可视化
当AI学会“使用工具”:智能体(Agent)如何重塑人机交互
当AI学会“使用工具”:智能体(Agent)如何重塑人机交互
322 115
|
1月前
|
人工智能 安全 搜索推荐
AI的下一个前沿:从静态工具到动态代理
AI的下一个前沿:从静态工具到动态代理
223 113
|
1月前
|
人工智能 自然语言处理 安全
从工具到伙伴:AI代理(Agent)是下一场革命
从工具到伙伴:AI代理(Agent)是下一场革命
258 117
|
1月前
|
人工智能 缓存 运维
【智造】AI应用实战:6个agent搞定复杂指令和工具膨胀
本文介绍联调造数场景下的AI应用演进:从单Agent模式到多Agent协同的架构升级。针对复杂指令执行不准、响应慢等问题,通过意图识别、工具引擎、推理执行等多Agent分工协作,结合工程化手段提升准确性与效率,并分享了关键设计思路与实践心得。
413 20
【智造】AI应用实战:6个agent搞定复杂指令和工具膨胀
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
双 11 电商效率突围:10 款 AI 工具的技术落地与实践指南
2025年双11促销长达38天,电商迎来AI重构关键期。本文剖析10款主流AI工具技术原理,涵盖设计、文案、投放、客服等场景,揭示计算机视觉、自然语言处理等技术如何驱动电商智能化升级,助力企业高效应对大促挑战。
351 1