本地部署Stable-Diffusion, 创造自己的美少女

ChatGPT的文字无法代替图像带来的视觉冲击,本文将介绍如何在本地部署一个Stable-Diffusion-WebUI项目,跑起一个本地的diffusion推理模型,创造属于自己的美少女宇宙! 需要Stable Diffusion整合包的小伙伴文末扫码,我给大家安排~

本文内容如下:

  1. 展示一波美少女

  2. 所需依赖配置及本地部署方法

  3. WebUI界面简单介绍

希望大家能够坚持到整个项目部署完成,不要看完美女就跑

01

生成内容展示

看图之前牢记我们这是个技术公众号。所有图片的展示都是为了展示diffusion的强大,diffusion出现后直接就把gan给gan翻了,如今生成对抗网络只能沦落到给diffusion模型换脸打工(这话说的有点偏激)。

第一张照片为写实照,在一众KoreanDollLikeness生成的韩国面孔之中脱颖而出,说实话第一眼被惊艳了,然后就去找到了Lora的模型,发现是李知恩。冒犯了,我就生成这么一次(第一张是其他人生成的图,第二章是周花花自己生成的图,自己生成的还是略逊一筹)。

至于为什么两张图片几乎一样是因为我用了人家的prompt语句

第二张看一张俗的

第三张画个动画风格

第四张瞎画一个大眼睛萝卜

自己写的prompt还是逊色了一些,得多学一学prompt的基本语法,AIGC火了之后一条prompt甚至可以卖2美元。有的时候一幅人像的prompt都有二三十个词,科技的发展真是让我跟不上。

第五张生成一个rick and morty风格的图

02

来看看本地部署Stable-Diffusion-WebUI需要什么依赖

首先,可以确定需要的配置没有想象中的高。周花花的机器是DELL的老款XPS15,八代i5 CPU,RTX1050 4G显卡,16G内存,配了Ubuntu20.04的系统。所以我理解一般的游戏本在本地跑跑diffusion模型应该是毫无压力的。Mac的话看官方的说法应该也能跑,但是在mac上会很慢。

下面开始安装依赖

1. 安装CUDA和Cudnn:CUDA用于显卡的编程,Cudnn存了一些算子用于矩阵运算等操作。如何安装可以去Google一下,教程很多,注意要根据自己的显卡来安装不同的CUDA版本。如果是买的GPU的云服务的话这些步骤都可以省去,因为厂商肯定已经装好了。(我的CUDA为11.3)

2. 安装Git和Python,我想这个应该大家都有,没有的话去Python官网下一个或者apt,yum之类的下载器install一个。很多地方都让我们用python的venv虚拟环境,但是我还是习惯用conda的env,所以下文中所有用到虚拟环境的地方我指的都是conda的虚拟环境。

3. 克隆仓库,并创建虚拟环境。

git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.gitconda create -n diffusion python==3.8.8conda activate diffusion

4. 安装pytorch,官方文档要求的是pytorch1.13,尽量按Diffusion仓库的要求装。这里其实也可以Google一下怎么装pytorch,资料很多。(周花花因为CUDA11.3不支持pytorch1.13,所以安装的pytorch1.12,亲测能用。但是不要装pytorch1.11以下的版本,因为在diffusion中有用到一下pytorch的新特性,老版本没有,会报错。)

5. 安装项目依赖

执行下面的pip语句,不要去install requirements.txt文件,因为requirements.txt文件里面没有指定依赖的版本,pip就会对一个依赖下很多个版本,然后去看有没有冲突,特别慢。

pip install -r requirements_versions.txt # 如果install出现了问题,就查看一下是什么依赖出现了问题,# 然后可以手动pip安装一下这个出问题的依赖

如果pip网速太慢的话可以换一下源,如下所示(下面是单次操作换源,想要修改配置去Google,这里不再赘述):

pip install -i https://pypi.douban.com/simple/ -r requirements_versions.txt

我修改了一下requirements_versions.txt里面的一些版本,如下

blendmodes==2022``transformers==4.25.1``accelerate==0.12.0``basicsr==1.4.2``gfpgan``gradio==3.16.2``numpy==1.23.3``Pillow==9.4.0``realesrgan==0.3.0``torch==1.12.1``omegaconf==2.2.3``pytorch_lightning==1.7.6``scikit-image==0.19.2``fonts``font-roboto``timm==0.6.7``piexif==1.1.3``einops==0.4.1``jsonmerge==1.8.0``clean-fid==0.1.29``resize-right==0.0.2``torchdiffeq==0.2.3``kornia==0.6.7``lark==1.1.2``inflection==0.5.1``GitPython==3.1.27``torchsde==0.2.5``safetensors==0.2.7``httpcore<=0.15``fastapi==0.90.1

6. 下载模型参数文件

pytorch模型可以保存参数到文件里,这里下载的就是训练过程中的某一个checkpoint的数据,我们不可能自己去训练diffusion模型,所以这里直接下载训练好的模型数据。

在这里下载https://huggingface.co/CompVis/stable-diffusion-v-1-4-original,并将下载的.ckpt文件放到models/Stable-diffusion文件夹中。

7. 执行启动脚本

python launch.py --autolaunch

其实网速如果没有问题的话,这些项目的配置应该是很简单的。

但是在实际配置过程中会出现git clone https连接超时的问题。这时候有两种方法,首先我们看一下launch.py的源码:

最重要的一段代码在这里git_clone(stable_diffusion_repo, repo_dir('stable-diffusion-stability-ai'), "Stable Diffusion", stable_diffusion_commit_hash)git_clone(taming_transformers_repo, repo_dir(‘taming-transformers’), “Taming Transformers”, taming_transformers_commit_hash)git_clone(k_diffusion_repo, repo_dir('k-diffusion'), "K-diffusion", k_diffusion_commit_hash)git_clone(codeformer_repo, repo_dir(‘CodeFormer’), “CodeFormer”, codeformer_commit_hash)``git_clone(blip_repo, repo_dir(‘BLIP’), “BLIP”, blip_commit_hash)

其实这段代码就是clone以上这五个仓库的某个指定commit到respositories这个文件夹下,commit的hash值已经指定好了,所以直接clone下来master的Head的行不通滴。

**第一种方法:**clone完之后将仓库git checkout到指定的commit上。

**第二种方法:**老老实实用launch.py安装,git太慢的话,就给git上一个代理。git的代理和shell的代理似乎是不通的,所以在~/.bashrc里配置过httpsproxy了之后貌似对git不生效。

我用的代理是clash,端口是7890,所以我这么设置,如果本机没有代理,那就买一个吧# 这年头没代理怎么写代码,github都上不去git config --global https.proxy https://127.0.0.1:7890

到现在如果顺利的话,主流程就跑通了。

想要画美少女的画还需要装一些lora的模型,这就靠自己摸索了。

03

WebUI界面简单介绍

1. 选择模型,这就是第二步中下载的checkpoints,不同的画风可以选不同的checkpoints,其他好玩的checkpoints有待发掘。

2. 输入prompt,这个还是很有讲究的,单纯输入a beautiful girl是画不出好图的。

3. 选择sampling步数,步数越多越精致,计算量越多。

4. 选择CFG Scale,这就是prompt里的词排序的权重,CFG Scale越大,排在前面的词就对生成图像影响越大。

5. 选择图像大小,我的1050只能跑712*712的图,再大就爆显存了,所以这里量力而行。

都看到这里了,再奖励一张美少女,祝部署成功。需要SD整合包以及AI绘画入门学习资料的小伙伴文末扫码即可获取噢~

写在最后

AIGC技术的未来发展前景广阔,随着人工智能技术的不断发展,AIGC技术也将不断提高。未来,AIGC技术将在游戏和计算领域得到更广泛的应用,使游戏和计算系统具有更高效、更智能、更灵活的特性。同时,AIGC技术也将与人工智能技术紧密结合,在更多的领域得到广泛应用,对程序员来说影响至关重要。未来,AIGC技术将继续得到提高,同时也将与人工智能技术紧密结合,在更多的领域得到广泛应用。

感兴趣的小伙伴,赠送全套AIGC学习资料和安装工具,包含AI绘画、AI人工智能等前沿科技教程,模型插件,具体看下方。

一、AIGC所有方向的学习路线

AIGC所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。

在这里插入图片描述

在这里插入图片描述

二、AIGC必备工具

工具都帮大家整理好了,安装就可直接上手!
在这里插入图片描述

三、最新AIGC学习笔记

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
在这里插入图片描述
在这里插入图片描述

四、AIGC视频教程合集

观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

在这里插入图片描述

五、实战案例

纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
在这里插入图片描述

若有侵权,请联系删除
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值