【腾讯云 HAI域探秘】HAI轻松搭建stable diffusion, 开启AI绘画奇妙之旅

背景介绍

2022年下半年开始,从chatgpt的火爆出圈到今天各种好玩的模型、工具应用层出不穷,迭代更新速度更是日新月异,让普通用户也直观的感受到了AI技术的强大。

如果一个普通用户也想玩stable diffusion(SD), 想轻轻松松写些提示词就能出想要的美图,但是GPU机器昂贵的价格、复杂的网络配置、软件安装以及依赖管理和版本兼容性问题都是劝退师。。。好不容易燃起的进步的小火苗也被扑灭了。

无意中发现的腾讯的这个HAI真是天助我也,内置了stable diffusion模型和webui, 只需简单几步即可快速体验最火爆的AIGC能力,快来体验吧。

HAI

内测申请

腾讯云新上的这个HAI产品还在内测阶段,需要进行资格申请,填写申请后,大概1天会通过,通过后会给10元的代金券,就可以愉快的玩耍了。

申请地址: https://cloud.tencent.com/act/pro/hai

当然,申请通过后,也可以加入微信群,里面有官方这个产品的大佬,事无巨细,有问必答,服务周到👍🏻。

一键部署SD

  • 进入算力管理页面:https://console.cloud.tencent.com/hai/instance?rid=1
  • 点击新建
  • 点击购买后,耐心等待8分钟左右,创建好服务器后会收到腾讯云通知短信。
代码语言:txt
复制
从创建好服务器后,就开始计费了,目前还没有上线停止服务器的功能,貌似开发中,这个功能耐心等等吧。
代码语言:txt
复制
如果有事离开不用服务器,可以先销毁。下次使用时再创建就行。
  • 算力连接,有两个选择。
    • JupyterLab 可以进入ubuntu 终端操作界面,进行文件的上传、下载,手动启动、停止相关服务等。查看错误日志、排查问题等。
    • Gradio WebUI 一键打开SD的webui界面,可以画图咯。啦啦啦。

SD WebUI 初体验

如何使用stable diffusion webui.

  • 1 - sd 大模型选择,默认安装的只有v1-5-pruned,后面自己下的大模型,会在这里展示的
  • 2 - 提示词,用于描述图片中希望出现的内容,也就是咒语本咒😄
  • 3 - 反向提示词,用于描述图片中不希望出现的内容,应该算反向咒语吧。
  • 4 - 采样迭代步数,希望出图时,采样器计算多少步数来出图,并发步数越多越好,大部分情况下20-30就够了的
  • 5 - 采样方法,影响生成随机图像、去除图像噪声的效果,一般选择Euler a即可。
  • 6 - 出图尺寸,width, height, 默认即可。尺寸越大出图越慢,小尺寸的图,后面也可以用魔法变大变高清。
  • 7 - 出图数量,数量越大,需要的显存就越大。
  • 8 - 提示词相关性,控制提示词与出图相关性的一个数值,一般为5~15;
  • 9 - seed, 随机种子,-1 表示每次种子都是随机的,如果想记住,可以将seed值填写为固定值。

摩拳擦掌,热身准备

安装插件

中文化插件

url 以及github 地址:https://github.com/dtlnor/stable-diffusion-webui-localization-zh_CN github repo中也有详细的安装方法 安装后如果webui访问不了,就进入jupyter的终端界面,执行如下命令,手动启动下。原因:有时候安装完成插件后 没有等系统重启完成就操作 可能会有一定的错误 导致服务没起来

代码语言:txt
复制
cd /root/stable-diffusion-webui
python webui.py --enable-insecure-extension-access --listen --port 6889
c站模型下载插件
  • url以及github: https://github.com/tzwm/sd-webui-model-downloader-cn/
  • 同样使用install from url的方式进行安装, 安装后重启web ui
  • 会看到sd webui导航栏里多了个模型下载

如何正确的输入提示词Prompt

输入Prompt提示词,点击右侧"生成"按钮,可以看到进度条在生成一张图片。

我们通过修改Prompt, 给图片增加一些细节:

Prompt: (extremely detailed CG unity 8k wallpaper,masterpiece, best quality, ultra-detailed),(best illumination, best shadow, an extremely delicate and beautiful) one girl,,brown dark hair, snow-white skin, wearing pearl earrings.

极其详细的CG Unity 8K壁纸,杰作,最佳质量,超级细致),(最佳照明,最佳阴影,极其精致和美丽)一个女孩,棕黑色的头发,雪白的皮肤,戴着珍珠耳环。

图片的细节丰富了,质量也提升了。关于Prompt的2个点可以注意下:

  • 质量提示词:提示词中的重要组成部分,描述图片的生成质量和细节丰富程度,比不可少
  • 提示词权重:可以用(),[]调整权重,()增加1.1倍权重,[]减弱为0.91,多次嵌套效果相乘。

切换模型,体验差异化风格

快速对比不同参数的效果-xyz plot插件

sd webui是非常优秀的开源项目,拥有丰富的扩展插件和脚本。其中较为常用的脚本为"xyz图表",通过配置不同的参数可以得到不同的效果输出,比如想改变发型和头发的颜色。

one girl,hair style,color, snow-white skin, wearing pearl earrings.

下载大模型

下载模型前,需要先安装curl

代码语言:txt
复制
apt-get update
apt-get install curl

安装完成curl后,就可以去c站找模型下载了。

从c站找了一个人像写实风格的checkpoint大模型,复制下载地址:

代码语言:txt
复制
https://civitai.com/models/43331?modelVersionId=176425

现在webui上没有展示下载进度,其实点击下载后,在后台是默默的在下载了,可以在jupyter终端中查看:

大模型下载成功后,点击顶部的Stable Diffusion 模型(ckpt) 旁边的刷新按钮,并选则最新下载的checkpoint模型,等加载成功后就可以使用了。

大模型-底模型,属于基础模型,也叫预调模型,size都比较大,不同的基础模型,其擅长的领域和画风也不同。

来看下对比效果

v1-5-pruned大模型
magicmixRealistic大模型

下载lora模型

大模型定了之后,就可以从c站找基于你选择的大模型训练的各种lora模型。lora模型一般比较小,也就几十M,主要是风格方面。

这样我们就可以通过下载各种各样的lora模型,在一个大模型的基础上,来修改它的一些局部。这就是现实意义中的大模型+lora模型的配合使用。

选择一个合适的lora模型文件,比如:

代码语言:txt
复制
https://civitai.com/models/19356/koreandolllikenessv10

下载成功后,可以在jupyter终端看到

在webui界面中点击lora,可以在prompt中看到多了一个lora的标签,规则是:

<lora:xxx:1>, 1代表借用lora的权重到底有多大,范围是0-1,一般不宜过大,经验值是0.6

更多的探索和思考

如何获得高清图

可以使用webui 的附加功能

lanczos, 又叫兰索思,速度很快,效果一般。

R 4x+: https://github.com/xinntao/Real-ESRGAN/ 也是一个非常优秀的开源项目,就是有点大,不好下载,效果是真的好,很多老片修复用的它。

如何获得lora一模一样的图,哪里姿势不对呢?

点击c站lora中某个图片的进去,会看到生成这个样图的详细参数,样例:

代码语言:txt
复制
(masterpiece, best quality, excellent quality), (fantasy landscape, fictional landscape)
Negative prompt: EasyNegative, fat, moss, phone, man, pedestrians, extras, border, outside border, white border, watermark, logo, signature
Steps: 24, Size: 768x512, Seed: 2351000243, Model: FantaStel_Pruned_FP16, Sampler: DPM++ 2M Karras, CFG scale: 9.5, Clip skip: 2, Model hash: 99a868d210, Hires upscale: 2, Hires upscaler: Latent (nearest), Denoising strength: 0.6

我们需要一一对照这些详细参数设置到自己的sd webui中,才能得到预期的图片,然后就可以自由真正的发挥了。

参考

stable diffusion webui 官方: https://github.com/AUTOMATIC1111/stable-diffusion-webui