GPU实验室-部署Stable Diffusion玩转AI绘画

简介: 在本实验场景中,我们将向大家介绍如何基于 Stable Diffusion 实现文字到图片的生成,包括Stable Diffusion的安装和基本使用方法,以及使用Lora模型调整图片生成的风格。

实验简介:

在本实验场景中,我们将向大家介绍如何基于 Stable Diffusion 实现文字到图片的生成。这其中包括了Stable Diffusion的安装和基本使用方法,以及使用Lora模型调整图片生成的风格。这是一项接近零基础的教程,其中并不会包含复杂的概念或者深奥的算法。换句话说,只要你稍有计算机基础,了解如何敲入命令,知道怎么使用浏览器打开网页,你就能很轻松的完成这个实验。

实验室地址:https://developer.aliyun.com/adc/scenario/f4c01f9be9224611b35197d545923fda

查看更多最佳实践https://www.aliyun.com/daily-act/ecs/markets/aliyun/gpu/aigc

实验说明

一. 实验资源方式简介及开始实验

1.云起实验室实验资源方式介绍:

云起实验室支持实验资源体验、领取免费试用额度、个人账户资源三种实验资源方式。

  • 实验资源体验
  • 资源归属于客户,仅供本次实验使用
  • 实验结束后,实验资源及实验记录将被释放。
  • 资源创建过程需要3~5分钟(视资源不同开通时间有所差异,ACK等资源开通时间较长)。完成实验资源的创建后,在实验室页面左侧导航栏中,单击云产品资源列表,可查看本次实验资源相关信息(例如子用户名称、子用户密码、AK ID、AK Secret、资源中的项目名称等)。
  • 说明:实验环境一旦开始创建则进入计时阶段,建议学员先基本了解实验具体的步骤、目的,真正开始做实验时再进行创建。

  • 领取免费试用额度
  • 使用个人账号开通试用,平台仅提供手册参考。
  • 所有实验操作将保留至您的账号,请谨慎操作。
  • 在实验页面下方卡片会展示本实验支持的试用规格,可以选择你要试用的云产品资源进行开通。您在实验过程中,可以随时用右下角icon唤起试用卡片。阿里云支持试用的产品列表、权益及具体规则说明请参考开发者试用中心
  • 说明:试用云产品开通在您的个人账号下,并占用您的试用权益。如试用超出免费试用额度,可能会产生一定费用。


2.准备开始实验

在实验开始前,请您选择其中一种实验资源,单击确认开启实验。

说明:每个实验所支持的实验资源方式都不相同,实验不一定能满足有三种实验资源方式,请根据实验的实际情况,进行选择。

二. 安装 Stable Diffusion WebUI

Stable Diffusion 是一个 Python 命令行程序,我们直接使用需要对它的命令和参数有详尽的了解,有一定学习成本。好在,有一个 Stable Diffusion WebUI 的开源项目,可以直接将 Stable Diffusion 的操作通过网页透出,让我们轻松通过 Web 页面就能使用 Stable Diffusion 生成图片。所以,我们选择安装和使用 Stable Diffusion WebUI 来完成实验。

a.安装基础工具。

  • Stable Diffusion WebUI 的安装与运行需要使用到一些工具软件,我们需要先通过 Yum 安装它们。
sudo yum install -y git conda mesa-libGL zlib-devel libjpeg-turbo-devel
  • 初始化Conda:
conda init bash
. ~/.bashrc


b.利用Conda创建Python虚拟环境。

  • 这里我们采用官方推荐的Python版本3.10.6:
conda create -y --name py310 python=3.10.6
  • 激活Python3.10.6(重要)
conda activate py310


c.拉取 Stable Diffusion WebUI 代码。

  • 接着,我们从 Github 上获取最新的 Stable Diffusion WebUI 代码。
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git

说明:由于 Github 访问存在不稳定性,可能需要多试几次。

  • 项目下载完成后,我们将 Web Terminal 的操作目录设置为项目所在目录。
cd stable-diffusion-webui


d.安装项目依赖。

  • Stable Diffusion 的运行还依赖于需要 Python 包,我们可以通过 PIP 将它们全部准备就绪。

提醒:优于torch体积比较大,以及其他依赖库较多,这里可能需要3~5分钟,具体时长视使用时候的网络连接情况。

pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu117
pip install cython opencv-python-headless gfpgan open-clip-torch xformers pyngrok clip-anytorch
pip install -r requirements_versions.txt


e.启动 Stable Diffusion WebUI。

  • 当一切准备就绪,我们可以使用以下命令启动 Stable Diffusion WebUI。
python launch.py --listen

在启动时,Stable Diffusion WebUI 会根据需要下载一些必要模型数据,另外,加载模型也需要花费一些时间,所以我们现在要做的就是耐心等待。当 Terminal 中显示出 Running on local URL: http://0.0.0.0:7860字样,就表示程序已经启动并对外提供服务了。


三. 使用 Stable Diffusion WebUI 生成图片

a.获得Stable Diffusion WebUI 访问地址。

  • 当Stable Diffusion WebUI启动后,会对外监听7860端口。我们需要使用http://(ECS公网地址):7860来访问程序。这里的ECS公网地址需要替换成实验室为大家分配的可以访问 ECS 的公网 IP 地址。我们可以在实验室页面左侧导航栏中,点击云产品资源列表查看本次实验资源所分配的 ECS 公网地址。

  • 另外,你还可以使用 Web Terminal 右上角的 + 号新建一个 Terminal 标签页,并在其中执行以下命令直接获得 Stable Diffusion WebUI 的访问地址。

echo "http://"$(curl -s ifconfig.me)":7860/"


b.访问Stable Diffusion WebUI。

  • 接着,让我们打开浏览器,输出刚刚获得的访问地址,就可以进入 Stable Diffusion WebUI 的操作界面了。


c.用文字生成图片。

  • 生成图片的操作方式非常简单,只需要在左侧的 Prompt 输出框中填入提示词,之后点击右侧的 Generate 按钮即可。提示词就是生成图片的依据,既可以是描述需要生成内容的词,如:girl, sunset, forest 等;也可以是用于是描述图像属性的词,如:best quality, beautiful, masterpiece 等。我们甚至可以通过提示词选择图片生成的视角、光线、画风;人物的姿势、着装、表情;背景的内容等。

  • 图片生成的速度根据机器配置的不同有所差异。在图片生成的过程中,我们可以在页面上看到生成过程的中间图片逐渐变得清晰。同时,也可以通过进度条直观的了解图片生成的进度和预估剩余时间。


四. 学习使用 LoRA 模型

除了使用基础模型生成图片外,我们还可以使用 LoRA 模型(Low-Rank Adaptation of Large Language Models)进行图片的生成。LoRA 直译为大语言模型的低阶适应,这是微软的研究人员为了解决大语言模型微调而开发的一项技术。LoRA 能够冻结预训练好的模型权重参数,然后在每个 Transformer 块里注入可训练的层,由于不需要对模型的权重参数重新计算梯度,从而大大减少了需要训练的计算量。从实际效果来说,LoRA 模型可以帮助我们生成指定风格、面孔、动作等要求的图片。

a.使用LoRA模型。

  • 打开WebUI界面,单击Generate下方的扩展配置图标,之后选择Lora标签,就能看到我们可以使用的LoRA模型了。

  • 在实验场景中,已经准备了数个比较热门的 LoRA 模型,你可以尝试使用它们生成不同风格的图片。

  • 当我们点击某个LoRA模型后,Prompt中会加入<lora:模型名的格式:数字>这些内容。最后的数字代表着LoRA模型的权重,默认为1。接着,我们输入提示词,再单击Generate按钮,就可以使用LoRA模型将文字转化为图片了。


b.获得更多的LoRA模型。

  • 如果觉得现有的 LoRA 模型还不符合自己的审美,我们可以从Civitai https://civitai.com/tag/lora等网站里找到许多其他爱好者预先训练好的LoRA模型,我们只需要将这些模型下载到stable-diffusion-webui/models/Lora目录内(在本实验中,需要放置在/root/models/Lora目录内),接着我们就可以在Stable Diffusion WebUI 中使用它们。如果是新下载的模型没有出现在页面上,可以单击Refresh重新载入它们。

五. 清理释放须知

  • 如果无需继续使用实例,可以登录ECS控制台,找到目标实例,在操作列单击,搜索并单击释放设置,根据界面提示释放实例。
  • 如果需要继续使用实例,请您随时关注账户扣费情况,避免欠费。实例会因欠费而被自动停机,停机15天内实例将保留,15天后实例和数据都将被自动释放。

相关实践学习
部署Stable Diffusion玩转AI绘画(GPU云服务器)
本实验通过在ECS上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。
相关文章
|
13天前
|
人工智能 Java Serverless
阿里云函数计算助力AI大模型快速部署
随着人工智能技术的快速发展,AI大模型已经成为企业数字化转型的重要工具。然而,对于许多业务人员、开发者以及企业来说,探索和利用AI大模型仍然面临诸多挑战。业务人员可能缺乏编程技能,难以快速上手AI模型;开发者可能受限于GPU资源,无法高效构建和部署AI应用;企业则希望简化技术门槛,以更低的成本和更高的效率利用AI大模型。
71 12
|
12天前
|
人工智能 缓存 异构计算
云原生AI加速生成式人工智能应用的部署构建
本文探讨了云原生技术背景下,尤其是Kubernetes和容器技术的发展,对模型推理服务带来的挑战与优化策略。文中详细介绍了Knative的弹性扩展机制,包括HPA和CronHPA,以及针对传统弹性扩展“滞后”问题提出的AHPA(高级弹性预测)。此外,文章重点介绍了Fluid项目,它通过分布式缓存优化了模型加载的I/O操作,显著缩短了推理服务的冷启动时间,特别是在处理大规模并发请求时表现出色。通过实际案例,展示了Fluid在vLLM和Qwen模型推理中的应用效果,证明了其在提高模型推理效率和响应速度方面的优势。
云原生AI加速生成式人工智能应用的部署构建
|
15天前
|
机器学习/深度学习 存储 人工智能
【AI系统】训练后量化与部署
本文详细介绍了训练后量化技术,涵盖动态和静态量化方法,旨在将模型权重和激活从浮点数转换为整数,以优化模型大小和推理速度。通过KL散度等校准方法和量化粒度控制,文章探讨了如何平衡模型精度与性能,同时提供了端侧量化推理部署的具体实现步骤和技术技巧。
41 1
【AI系统】训练后量化与部署
|
20天前
|
人工智能 监控 Serverless
《主动式智能导购AI助手构建》解决方案部署测评
在数字化时代,智能导购AI助手已成为提升客户体验和销售效率的重要工具。本文将基于个人体验,对《主动式智能导购AI助手构建》解决方案的部署过程进行详细评测。
38 3
|
6天前
|
人工智能 API Windows
免费部署本地AI大语言模型聊天系统:Chatbox AI + 马斯克grok2.0大模型(简单5步实现,免费且比GPT4.0更好用)
本文介绍了如何部署本地AI大语言模型聊天系统,使用Chatbox AI客户端应用和Grok-beta大模型。通过获取API密钥、下载并安装Chatbox AI、配置模型,最终实现高效、智能的聊天体验。Grok 2大模型由马斯克X-AI发布,支持超长文本上下文理解,免费且易于使用。
35 0
|
7月前
|
机器学习/深度学习 自然语言处理
文生图模型-Stable Diffusion | AIGC
所谓的生成式模型就是通过文本或者随机采样的方式来得到一张图或者一段话的模型,比如文生图,顾名思义通过文本描述来生成图像的过程。当前流行的文生图模型,如DALE-2, midjourney以及今天要介绍的Stable Diffusion,这3种都是基于Diffusion扩散模型【1月更文挑战第6天】
878 0
|
7月前
|
人工智能 开发工具 git
【AI绘画】Stable Diffusion 客户端搭建
【AI绘画】Stable Diffusion 客户端搭建
192 0
【AI绘画】Stable Diffusion 客户端搭建
|
人工智能 物联网
AI 绘画Stable Diffusion 研究(十七)SD lora 详解(上)
AI 绘画Stable Diffusion 研究(十七)SD lora 详解(上)
1470 0
|
6月前
|
机器学习/深度学习 人工智能 算法
Stable Diffusion AI绘画
Stable Diffusion是人工智能领域的文本到图像生成模型,基于概率的连续扩散过程,学习数据潜在分布并生成新样本。模型使用Web UI进行交互,提供不同采样器如Euler和DPM++,后者常配以Karras算法。提示词对生成效果至关重要,可以利用GPT等生成提示词。用户还能调整参数如高清修复和批处理次数来影响生成的图像。此外,模型文件(ckpt/safetensors)和Lora微调模型需存放在正确目录以确保功能正常。
|
5月前
|
人工智能
AI绘画,Stable Diffusion如何使用中文简体包,黑色页面切换参数http://127.0.0.1:7860/?__theme=dark 两个__,中文包下载和安装
AI绘画,Stable Diffusion如何使用中文简体包,黑色页面切换参数http://127.0.0.1:7860/?__theme=dark 两个__,中文包下载和安装

热门文章

最新文章

相关产品

  • GPU云服务器