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

本文涉及的产品
云服务器ECS,u1 2核4GB 1个月
推荐场景:
2048小游戏搭建
云服务器 ECS,每月免费额度280元 3个月
简介: 本实验通过在ECS上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。
+关注继续查看

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


1. 创建实验资源

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

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

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

image



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公网地址。

image

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

image

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

image

  1. 访问Stable Diffusion WebUI。

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

image

  1. 使用文字生成图片。

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

image

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

image


4. 学习使用 LoRA 模型

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

  1. 使用LoRA模型。

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

image

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

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

image

  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

相关实践学习
一小时快速掌握 SQL 语法
本实验带您学习SQL的基础语法,快速入门SQL。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2月前
|
SQL 弹性计算 人工智能
文生图-AIGC:在云上从0开始搭建Stable Diffusion文生图Streamlit网页版
本文描述在阿里云上从0开始构建个人的文生图应用。网页采用streamlit实现,文生图模型使用了阿里云Lindorm AI数据服务平台上部署Stable Diffusion来实现。 Streamlit使用起来非常简便,可以让开发者快速(短则几十分钟即可)搭建一个具备公网访问能力的网页。尤其在人工智能开发上,可使用Streamlit快速搭建应用环境,让开发人员将更多精力集中在人工智能本身,本文从0开始详细讲解整个应用的构建过程,代码实现了一个简洁的具备公网访问能力的网页版文生图应用。
|
2月前
|
存储 物联网 Serverless
玩转AIGC,基于函数计算一键部署 Stable Diffusion
玩转AIGC,基于函数计算一键部署 Stable Diffusion
536 0
|
2月前
|
存储 缓存 容灾
AIGC 商业化道路探索 - Stable Diffusion 商业化应用(下)
Stable Diffusion 应用到商业领域的案例越来越多,商用场景下的技术架构应当如何构建?本文基于阿里云近期的一个 Stable Diffusion 商业案例,对大规模底模切换、大量 LoRA 调优的场景提出一个商业场景适用的技术架构,并已实现部署交付,稳定运行。
|
2月前
|
机器学习/深度学习 缓存 编解码
AIGC 商业化道路探索 - Stable Diffusion 商业化应用(上)
Stable Diffusion 应用到商业领域的案例越来越多,商用场景下的技术架构应当如何构建?本文基于阿里云近期的一个 Stable Diffusion 商业案例,对大规模底模切换、大量 LoRA 调优的场景提出一个商业场景适用的技术架构,并已实现部署交付,稳定运行。
|
2月前
|
机器学习/深度学习 人工智能 编解码
用 AI 修复亚运珍贵史料——基于Stable Diffusion WebUI 体验AIGC加持的修复能力
2023年,正值亚运110周年,也是第19届杭州亚运会即将举办之际,阿里云与亚奥理事会合作,发起“历久弥新——用 AI 修复亚运会珍贵史料”活动(以下简称“本活动”),开发者使用阿里云的 AI 技术对亚运会历史老照片进行修复,重燃亚运经典,为亚运助威,并有机会入选“亚运史上第一个 AI 修复特展—— 1974 年德黑兰亚运会特展”。
1076 4
|
3月前
|
机器学习/深度学习 缓存 物联网
AIGC Stable Diffusion文生图Lora模型微调实现虚拟上装
在本教程中,您将学习如何在阿里云交互式建模(PAI-DSW)中,基于Diffusers开源库进行AIGC Stable Diffusion模型的微调训练,以及基于Stable-Diffusion-WebUI开源库启动WebUI进行模型推理。
763 0
|
4月前
|
存储 弹性计算 并行计算
AIGC尝鲜-部署Stable Diffusion
1 背景:AIGC是目前的大火热点,想简单尝鲜可以使用一些厂商提供的现成的服务,也可以自己部署一个。由于后续要考虑针对OSS存储在这个场景做一些优化,所以这里自己用源码部署一个以便后续修改。完成到效果:2 原料准备  硬件:ECS: gn6i-c24g  ,带2个T4 GPU,开通了公网IP,后面可以通过该IP来访问UI。 软件:操作系统: Debian 5.10.162-1 (2023-01-2
AIGC尝鲜-部署Stable Diffusion
|
4月前
|
人工智能 文件存储 对象存储
Stable Diffusion 模型库,AIGC 画风任你选
Stable Diffusion(简称 SD)模型库包含写实、国漫、科技等几十种风格。可以让用户一键转存到自己的存储空间,而后直接挂载到 PAl 或 FC 下进行推理和训练。无需复杂漫长的下载和上传步骤,即可获得多种模型的使用体验,实现云上 AIGC 的快速搭建。
Stable Diffusion 模型库,AIGC 画风任你选
|
5月前
|
人工智能 算法 Ubuntu
【朱颜不曾改,芳菲万户香。AIGC人物图片创作---InsCode Stable Diffusion 美图活动一期】
【朱颜不曾改,芳菲万户香。AIGC人物图片创作---InsCode Stable Diffusion 美图活动一期】
463 2
|
6月前
|
存储 机器学习/深度学习 人工智能
玩转AIGC | 使用阿里云NAS+PAI-EAS部署Stable Diffusion文生图模型
阿里云的AIGC存储解决方案是覆盖了数据收集、模型训练以及模型推理整个生命周期,本实验场景主要覆盖模型推理过程,介绍如何使用模型在线服务(PAI-EAS)以及文件存储NAS部署AIGC应用,快速生成图片。
玩转AIGC | 使用阿里云NAS+PAI-EAS部署Stable Diffusion文生图模型
热门文章
最新文章
相关产品
云服务器 ECS
轻量应用服务器
弹性容器实例
推荐文章
更多