AIGC初体验:部署Stable Diffusion玩转AI绘画(CPU版)

本文涉及的产品
轻量应用服务器 2vCPU 1GiB,适用于搭建电商独立站
轻量应用服务器 2vCPU 4GiB,适用于搭建容器环境
轻量应用服务器 2vCPU 4GiB,适用于搭建Web应用/小程序
简介: 本实验通过在ECS上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。

AIGC初体验:部署Stable Diffusion玩转AI绘画(CPU版)


1. 创建实验资源

开始实验之前,您需要先创建实验相关资源。

  1. 在实验室页面,单击创建资源
  2. (可选)在实验室页面左侧导航栏中,单击云产品资源列表,可查看本次实验资源相关信息(例如IP地址、用户信息等)。

说明:资源创建过程需要1~3分钟。完成实验资源的创建后,您可以在 云产品资源 列表查看已创建的资源信息,例如:子用户名称、子用户密码、AK ID、AK Secret、资源中的项目名称等。



2. 安装 Stable Diffusion WebUI

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

  1. 安装基础工具。

Stable Diffusion WebUI的安装与运行需要使用到一些工具软件,我们需要先通过Yum安装它们。

执行如下命令,安装基础工具。

sudo yum install -y git conda mesa-libGL
  1. 初始化conda环境。

Conda是一个优秀的跨平台、跨语言包管理工具。同时,它的环境隔离功能也能很好的帮助我们屏蔽服务器间基础设施的不同,为我们提供一个干净、统一的程序运行环境。

依次执行如下命令,在Bash中初始化Conda,同时创建并激活名为aigc的虚拟环境。

sudo bash -c "conda init bash" && bash
conda create -y -n aigc python=3.10.6
conda activate aigc

💡注意:之后的操作都将基于aigc这个虚拟环境,如果你切换了Terminal或者不小心退出了环境,可以再次执行conda activate aigc命令回到aigc虚拟环境中。

  1. 拉取Stable Diffusion WebUI代码。

3.1 执行如下命令,从Github上获取最新的Stable Diffusion WebUI代码。

git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git

💡说明:由于Github访问存在不稳定性,如果从上述地址clone失败,可以使用我们在Gitee上为大家准备的镜像项目,采用如下命令:

git clone https://gitee.com/developer-aliyun-com/stable-diffusion-webui.git

3.2 项目下载完成后,我们将Web Terminal的操作目录设置为项目所在目录。

cd stable-diffusion-webui
  1. 安装项目依赖。

Stable Diffusion的运行还需要许多依赖包,执行如下命令,把它们都安装到Conda提供的虚拟环境中。

conda install -y pytorch torchvision torchaudio cpuonly -c pytorch
pip3 install opencv-python-headless gfpgan open-clip-torch xformers pyngrok clip-anytorch
pip3 install -r requirements_versions.txt
  1. 启动Stable Diffusion WebUI。

当一切准备就绪,执行如下命令,启动Stable Diffusion WebUI。

python launch.py --listen --lowvram --no-half --skip-torch-cuda-test

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


3. 使用 Stable Diffusion WebUI 生成图片

  1. 获得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/"

  1. 访问Stable Diffusion WebUI。

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

  1. 使用文字生成图片。

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

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


4. 学习使用 LoRA 模型

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

  1. 使用LoRA模型。

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

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

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

  1. 获得更多的LoRA模型。

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


实验地址:https://developer.aliyun.com/adc/scenario/13c7c3f7e06042578862c25b6ce12a80

相关实践学习
通义万相文本绘图与人像美化
本解决方案展示了如何利用自研的通义万相AIGC技术在Web服务中实现先进的图像生成。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2月前
|
存储 机器学习/深度学习 算法
​​LLM推理效率的范式转移:FlashAttention与PagedAttention正在重塑AI部署的未来​
本文深度解析FlashAttention与PagedAttention两大LLM推理优化技术:前者通过分块计算提升注意力效率,后者借助分页管理降低KV Cache内存开销。二者分别从计算与内存维度突破性能瓶颈,显著提升大模型推理速度与吞吐量,是当前高效LLM系统的核心基石。建议收藏细读。
604 125
|
1月前
|
人工智能 测试技术 API
构建AI智能体:二、DeepSeek的Ollama部署FastAPI封装调用
本文介绍如何通过Ollama本地部署DeepSeek大模型,结合FastAPI实现API接口调用。涵盖Ollama安装、路径迁移、模型下载运行及REST API封装全过程,助力快速构建可扩展的AI应用服务。
533 6
|
1月前
|
人工智能 物联网 调度
边缘大型AI模型:协作部署与物联网应用——论文阅读
论文《边缘大型AI模型:协作部署与物联网应用》系统探讨了将大模型(LAM)部署于边缘网络以赋能物联网的前沿框架。针对传统云端部署高延迟、隐私差的问题,提出“边缘LAM”新范式,通过联邦微调、专家混合与思维链推理等技术,实现低延迟、高隐私的分布式智能。
616 6
边缘大型AI模型:协作部署与物联网应用——论文阅读
|
1月前
|
机器学习/深度学习 人工智能 监控
Java与AI模型部署:构建企业级模型服务与生命周期管理平台
随着企业AI模型数量的快速增长,模型部署与生命周期管理成为确保AI应用稳定运行的关键。本文深入探讨如何使用Java生态构建一个企业级的模型服务平台,实现模型的版本控制、A/B测试、灰度发布、监控与回滚。通过集成Spring Boot、Kubernetes、MLflow和监控工具,我们将展示如何构建一个高可用、可扩展的模型服务架构,为大规模AI应用提供坚实的运维基础。
228 0
|
机器学习/深度学习 自然语言处理
文生图模型-Stable Diffusion | AIGC
所谓的生成式模型就是通过文本或者随机采样的方式来得到一张图或者一段话的模型,比如文生图,顾名思义通过文本描述来生成图像的过程。当前流行的文生图模型,如DALE-2, midjourney以及今天要介绍的Stable Diffusion,这3种都是基于Diffusion扩散模型【1月更文挑战第6天】
1667 0
|
人工智能 物联网
AI 绘画Stable Diffusion 研究(十七)SD lora 详解(上)
AI 绘画Stable Diffusion 研究(十七)SD lora 详解(上)
2552 0
|
人工智能 开发工具 git
【AI绘画】Stable Diffusion 客户端搭建
【AI绘画】Stable Diffusion 客户端搭建
366 0
【AI绘画】Stable Diffusion 客户端搭建
|
机器学习/深度学习 人工智能 算法
Stable Diffusion AI绘画
Stable Diffusion是人工智能领域的文本到图像生成模型,基于概率的连续扩散过程,学习数据潜在分布并生成新样本。模型使用Web UI进行交互,提供不同采样器如Euler和DPM++,后者常配以Karras算法。提示词对生成效果至关重要,可以利用GPT等生成提示词。用户还能调整参数如高清修复和批处理次数来影响生成的图像。此外,模型文件(ckpt/safetensors)和Lora微调模型需存放在正确目录以确保功能正常。
|
机器学习/深度学习 人工智能 API
薅羊毛!阿里云免费GPU云主机畅玩AI绘画,免费领取阿里云v100显卡搭建AI绘画利器Stable Diffusion
薅羊毛!阿里云免费GPU云主机畅玩AI绘画,免费领取阿里云v100显卡搭建AI绘画利器Stable Diffusion
1854 4
薅羊毛!阿里云免费GPU云主机畅玩AI绘画,免费领取阿里云v100显卡搭建AI绘画利器Stable Diffusion

热门文章

最新文章