1410910.jpg

幺幺奇

GF  2023-02-18 09:03
(执A卡,走天涯)

【教程】AI绘图三部曲之AMD福音-上手三种A卡能用的GUI

写在前面:如果想要直接上手,那么建议读完前言所有加粗项以后直接跳到方法2。打赏的百度网盘链接里面有Shark GUI。虽然本文的主要服务对象为A卡用户,N卡用户们也可以看一看,一起交流学习。

前言:

+人们早上/中午/晚上好,自从去年下半年OpenAI的Dall.E-2一鸣惊人之后,各类AI作画软件层出不穷、呈现了一片百家争鸣的盛景。然而,在大多数时间里面,像老夫这样的AMD显卡用户都只是这场盛宴的旁观者。虽然有许多在线作图的选项,也有利用Google Colab这样可以在云端搭建的平台,但不得不说在本地进行还是性价比和效率最高的选项。而且从去年末开始每一天各国都在调整AI相关的法律,许多在线网站眼看着层层加码,已经到了完全没法自由做图的地步,唯有本地制图可以拜托这些限制。言归正传,英伟达在GPGPU (General-purpose Programming in GPU)方面的领先令无数A卡支持者望洋兴叹(甚至让坛友OkiKuma发出了AMD shit这样的感叹),但其实Stable Diffusion(或称SD)作为开源软件中的翘楚,和A卡的相性是不错的(因为ROCm也是开源的),同时也是A卡用户仅有几个可以简单上手使用的选项之一。
时至今日,A卡用户也不再需要再像去年那样依赖命令提示符,AMD又可以了!

鉴于就连B站上面都没有太好的AMD/Windows Stable Diffusion GUI教程,今天就开个先河,着重介绍和比较三种完全免费的GUI(图形界面)使用方法。其中,前两种可以在Windows环境中顺利运行,而第三种则需要Linux系统。话不多说,先介绍第一种GUI


*所有教程里的事先准备工作都是硬性条件,缺一不可

**所有教程里面用到的文件都建议放在固态硬盘中,读写速度更快。注意所有路径上不要有中文

***教程里的方法最差也需要AMD RX 580和8G显存才能跑,老夫使用的是Radeon 6700 XT (12G显存)

****前两种方法所需要的两个程序、一个示范用的模型(Liberty, 非SD1.5))和一个查看现有图片信息的工具(Diffusion Toolkit)都可以通过打赏解锁百度网盘链接里面找到,也算是个不太傻瓜的傻瓜包了。当然,诸位也可以自行看教程在官网下载。由于更新迭代过快加上不想大范围传播,所以设30天有效,过期不补。


方法一:NMDK Stable Diffusion GUI


下载方式:官网

事先准备:

-确认你的AMD显卡有至少8G的显存,硬盘有至少10G的空间

使用方式:

-从官网一键下载含SD1.5模型包的exe程序



-双击exe启动程序,程序窗口最上方’No CUDA GPUs available’无时无刻不象征着A卡用户的卑微,无视他!找到界面右上角的Settings, 在Image Generation Implementation这一栏的下拉菜单中找到Stable Diffusion (ONNX-Direct ML-For AMD GPUs)



-点击右上角的扳手标志,在弹出的开发者选项中选择Convert Models

-根据现有的模型类型在第一栏中进行选择。一键下载所包含的SD1.5模型是Checkpoint(.ckpt)文件,而我比较常用的模型都是Safetensor文件。二者的使用方式是一样的,只不过要在这里进行区分选择



-在第二栏中选择现有的模型。一键下载包含的是sd-v1-5-fp16.ckpt,我们在这儿用Liberty(我知道很多+人们喜欢用Chillout, 但是我更喜欢欧美文艺写实风的Liberty/s1d/protogen)

-在第三栏中选择Diffusers ONNX (Folder)。注意,记得先把原来的ckpt/safetensor文件复制粘贴到另一个文件夹,勾选项不管用,我们在方法2和3中还需要用这些模型,千万记得保存一个备份。如上图所示

-点击convert,这个过程比较花时间,可以去吃个饭、跑个步或者刷个手机。

-当模型转换完以后,按ctrl+M唤出模型菜单,选择刚刚转换完的onnx模型。或者也可以打开右上角的设置菜单进行调整,正确的步骤大概会产生这样的效果:



-输入你想要的提示和参数,注意如果你的显存不够大,只有8G,那么分辨率就放在512*512。分辨率越高,对显存要求越高,会炸的。点击Generate!生成图片。



-结果如上,虽然脸有点崩但是考虑到模特的姿势并不是普通正面站姿,所以情有可原。这里让我们记住一个关键的参数:生成这张40步的图片花费了NMKD 60秒出头的时间,也就是1.5s/it (1.5秒一步/一次迭代)也就是0.67 it/s (每秒进行0.67次迭代)。这其实是个很慢的速度,为什么这么说?让我们跟后面两个选项比较一下就知道了

方法二 Shark GUI by Nod.ai

下载方式:Github

事先准备:

-硬件方面同上-下载并安装python 3.10
-根据你自己的显卡,下载适配的最新AMD驱动

使用方式:

-从github下载较为稳定的版本,目前是539(网盘里也是这个),我使用的是昨天的535版本,二者界面完全没有区别,所以教程可以短时间内通用。



-在SSD硬盘中创建一个新文件夹,我们就叫它SD_Shark, 把下载好的.exe文件拖进去

-双击程序运行,第一次运行要等一段时间,然后你的默认浏览器当中应该会弹出这样一个页面:



-左上角的Models里面可以选择要使用的模型。注意,在没有下载其他模型的情况下,你的下拉菜单里只会有最下面的这六个模型,这并不代表你已经安装了他们,只是在选择他们以后会自动从huggingface(Stable Diffusion的创始人)的官网下载而已。如果你选择这六个预设定模型之一,那么在开始生成图片之后,程序会先花一段时间下载选中的模型,这些模型一般都好几个G大,所以我建议直接把之前我们备份的ckpt/safetensor文件复制到SD_Shark这个文件夹下的子文件夹Models中。



-如果你按照我的建议将模型文件下载放到了Models文件夹中,那么你现在需要重新启动这个程序。记得网页和命令提示符都要关闭重启,因为其实命令提示符才是本体。重启以后,左上角的模型菜单就会出现之前那张图片里那样带路径的模型,选择它,在这里我们还是用Liberty作为例子。

-选择完模型以后,照例输入你想要的提示和参数。注意大部分参数在Advanced Options中,点击右边的箭头扩展



-熟悉Stable Diffusion的+人们可能会发现,Shark的参数比NMKD多了一个Scheduler选项。这其实是个很重要的选项,因为所有SD制成的图在复刻时Scheduler或者Sampler都是必要的参数,如果Scheduler完全不同,那么哪怕Seed相同也无法复刻。Shark的Scheduler参数已经包含一些市面上常见的选项,比如Euler A对应的就是EulerAncestralDiscrete。这也就是我倾向在Windows系统中使用Shark而不是NMKD的两个原因之一。至于另一个原因是什么,让我们点击Generate Image看一下结果就知道了。

注意,每一个模型的每种分辨率设定的第一次生成(比如用Liberty生成一张512*512的图片)都需要花很多时间,甚至会像下图一样出现很多的报错信息。第二次开始就会好很多(改分辨率需要重头来),这也是Shark的问题所在,因为程序本身更新迭代很快,所以经常会出现大量报错和历史遗留问题(比如从3*/4*版本就有的transformer问题),比起NMKD来说会有一点点风险,但效率会高很多,看这些报错就知道了。


-看下图的结果,脸还是有点崩,但是意思到了。细心的+人们可能已经发现了,这张图生成只花了10秒的时间,准确的说,从下图中来看,10秒都没到,平均4.11 it/s。也就是说在参数大致相同、模型一致的情况下,Shark代表的Vulkan方法速度是NMKD代表的ONNX方法的6倍,这还是在不计算VRAM显存消耗的情况下。这里不谈一些太技术性的东西,但是NMKD在我同样的硬件、参数条件下生成512*768分辨率的图片(也就是下图的小姐姐)是会因为VRAM占用过高而使得电脑宕机的,而Shark生成512*768的速度则在1.8it/s(分辨率越高越慢),几乎是NMKD的三倍。






方法三 Linux系统下的Automatic 1111 GUI

下载方式:通过git clone指令
事先准备:AMD显卡,至少8G显存,10G空间(注意,最新的7000系列并不支持此法)主流Linux系统 (Ubuntu, Mint, etc…)

使用方式:全在Automatic 1111的github页上,都会装Linux了所以我就简单讲了(其实是太懒了不想切环境去截图了):

注意,这一步是Automatic1111的安装步骤里面没讲的,但是不做可能会有问题,在terminal里面跑一下

sudo usermod -a -G render 你的linux用户名
sudo usermod -a -G video 你的linux用户名

假设你的linux用户名是yaoyaoqi,那么就

sudo usermod -a -G render yaoyaoqi,以此类推

-安装python 3.10.6 (先用 python3 — version看有没有装,再用sudo apt-get update和sudo apt-get install python 3.10来装)

-还是在命令提示符里,git clone [https://github.com/AUTOMATIC1111/stable-diffusion-webui]

-上一条跑完以后,把模型放在models/Stable-diffusion这个文件夹里面(比如我们之前下载的Liberty或者sd-1-5)

-输入cd Stable-diffusion,再输入./webui.sh跑程序,建议在这个阶段加入—precision full 和 —no-half保证a卡跑得顺利,如果显存只有8G那么还建议加入—medvram降低显存消耗

-选择模型、输入参数等等,跟上面两种方法一样
啊对了,Ubuntu系统用Automatic 1111,同样的512*768尺寸图片,同样的参数和模型,速度是平均速度是3.11 it/s,也就是Shark GUI的1.7倍左右。

写到这里,教程的部分大致讲完了,这里再简单讲一下怎么找模型、熟悉提示(Prompt)和参数。huggingface官网Civitai是现在主要的两个模型下载网站。前者就像个github,注重模型的训练、调试、反馈和相关插件的开发等等,用户多半为开发者;后者像是个模型的网店,虽然都是免费的但是下面有很多以生成出来的图片为主的买家秀,网站还贴心地提供了一键复制功能,可以让用户直接在automatic 1111这类GUI里面复刻生成图片,用户多半为使用者(比如我)而非开发者。
如果你在论坛或者网上看到好的图片想要复刻,可以尝试把它们下载下来然后扔到这个软件里面(网盘链接里有,下载在这),只要没有在后续的图像处理/上传过程中丢掉关键信息,这个软件可以把用到的提示、参数和模型读取出来。

提示方面,大多数模型都是适用以逗号分开的关键词,但是少数模型(比如作为教程案例的Liberty)则更适用自然语言(natural language),和他们的训练方法有关,不在此赘述。然后所有模型都只会赋予一定数量的关键词以权重(一般是75个词),所以不要滥用,尤其是在负面提示方面,用得越多越会限制AI的想象力。

参数方面,Step越多,出来的图片往往越精美,但是有时候20/30步也能出来很不错的图片,我个人就常用30-50步,很少拉满120步之类的。CFG scale/guidance数值越高你的命令越强,反之AI就更加自由。分辨率越高对硬件要求越大,并且默认每512个横向像素就有一个人物,也就是说如果使用768*768作为分辨率但是只要一个人物,那么就需要在关键词中加以限定。Batch size是指有多少张图同时生成,Batch count是每次安排几个batch一起生成。我建议Batch Size一直放在1,但是count调整到多一点(比如4),这样AI就会使用同一套参数一张一张生成,总共生成4张。基本上复杂的动作和构图我都是4张起做,经常10张一做,然后在里面挑出1-2张效果不错的。

生成图片前高喊AMD, YES! 有奇效!假的啦
下期预告:如何通过调整/融合AI作画的模型和提示制作出电影一般的叙事效果,如下图所示。这些可都是直接生成、没有经过inpaint或者img2img处理过的





大概就先写到这里,有问题再改。如果觉得有用,欢迎在下面打赏几个SP,谢谢!

1410910.jpg

幺幺奇

B1F  2023-02-18 09:06
(执A卡,走天涯)
打赏&度盘链接在这里
描述:打赏&度盘链接在这里
附件: 多谢打赏.txt (1 K) 下载次数:178 售价:2SP币

66615.jpg



B2F  2023-02-18 09:17
(ACG小宅而已)
牛逼牛逼牛逼

7a9dccc27d1ed21bd7699381a36eddc451da3f38.jpg

逗逼来单挑

B3F  2023-02-18 09:17
(为啥签名没法用图片?)
马克了,技术大佬牛逼

940581.png

顶风射千里

B4F  2023-02-18 09:21
(别看了,啥都没有)
woc 看着就很流批

474462.jpg

摔炸

不如先来期显卡推荐

7.gif

小帆

厉害了

none.gif

暮贰双月

大佬,方式二安装程序时提示Winerror 10014 系统检测到一个调用中尝试一下使用指针参数时的无效指针地址

1218252.jpg

人性/兽性

B8F  2023-02-18 09:42
(重复)
   硬件不满足,支持一下

9.png



用户被禁言,该主题自动屏蔽!

1410910.jpg

幺幺奇

B10F  2023-02-18 09:45
(执A卡,走天涯)

回 7楼(暮贰双月) 的帖子

麻烦具体报错信息的命令提示符截图发一下,最好截全一点。

none.gif

暮贰双月

回 10楼(幺幺奇) 的帖子

截图放在网盘里了,麻烦看一下

链接:https://pan.baidu.com/s/1ITeB2AlDbH1Rmuecrxjrmw?pwd=q47q
提取码:q47q
--来自百度网盘超级会员V5的分享

1410910.jpg

幺幺奇

B12F  2023-02-18 18:30
(执A卡,走天涯)

回 11楼(暮贰双月) 的帖子

这个报错已经很久没看到了,更新一下Python版本试试,我也把教程改一下。如果还是不行,考虑使用535版本而非539

1410910.jpg

幺幺奇

B13F  2023-02-18 18:45
(执A卡,走天涯)

回 5楼(摔炸) 的帖子

性价比最高的入门款就选 Nvidia RTX 3060 12 GB (有买到矿卡的可能)
稍微好一点就 3090 TI 24GB (发布太晚做不了矿卡)
土豪的话可以4090
超级土豪建议A100

none.gif

fgdgdfgfdgfdsg

提示转换模型失败怎么办,6900xt

219384.jpg

MR

B15F  2023-02-18 20:46
(腐朽的灵魂,万里挑一。)
mkmk

none.gif

b2062fb4

大佬牛逼

1410910.jpg

幺幺奇

B17F  2023-02-18 21:07
(执A卡,走天涯)

回 14楼(fgdgdfgfdgfdsg) 的帖子

假设初始模型种类没选错(Liberty要选Safetensor而不是checkpoint ckpt),那有几个可能:
1. 模型存放路径有中文
2. 磁盘空间不够(2G的safetensor转换完要将近4G大小)
3. 原来的模型有问题,可以重新下载一下或者换个模型

a13.gif

Ташкент

B18F  2023-02-19 11:47
(世界的意义在于世界之外)
大佬nb,我用方案二很轻松就在我这台机子上跑了成果
安装踩的坑还是因为这台机子新配的没有各种py库又没配国内镜像导致pip安装的时候贼慢,后面才反应过来
这边也推荐几个网站:
1.https://spell.novelai.dev/ 在线的从 Stable Diffusion 生成的图片读取 prompt  关键词
2.http://www.123114514.xyz 各种模型的聚合站

a13.gif

Ташкент

B19F  2023-02-19 12:38
(世界的意义在于世界之外)
现在的问题就是我在其他地方下的模型,
总是有奇奇怪怪的问题
整来整去还是老哥你自带的Liberty模型有用

六味葫芦


dsa的撒


none.gif

qwwqqw

谢大佬,使用Shark + Chilloutmix 是有成功生成图片,但还是有以下问题,希望大佬教教:
1. 面崩是否需要使用「脸部修复模型 GFPGAN」呢?
2. Shark可以使用Lora吗?

1410910.jpg

幺幺奇

B23F  2023-02-19 23:57
(执A卡,走天涯)

回 19楼(Ташкент) 的帖子

能跑起来就好。Liberty的优势主要还是审美符合+自然语言。如果Liberty一直能用,那么你碰到不能用的模型可以切到Liberty生成一张图,然后再切回去,可能突然就能用了。我好几个模型都需要切一下Liberty才能用,不知道为什么。这也就是为什么把shark放在第二位,因为更新太快很不稳定。

1410910.jpg

幺幺奇

B24F  2023-02-20 00:02
(执A卡,走天涯)

回 22楼(qwwqqw) 的帖子

1. 可以用面部修复,但是建议在提示/关键词里面做文章,比如在负面关键词里面加deformed face, 然后在正面关键词里面加detailed symmetrical face之类的。有时候在关键词里面做减法也是很必要的,因为AI对关键词的理解和我们不一样,比如milky white skin(如牛奶般白皙的肌肤)在某些模型下就会在皮肤上给你加一勺牛奶
2. 目前不行。但我在开发组的Discord里面,听他们说LoRA的使用已经在实验了,隔三岔五看看github页,最新的GUI里面可能就有了。LoRA的训练还需要一段时间,因为对CUDA(N卡)和Windows的依赖都不小。

ASDcharon


none.gif

zztdan

B26F  2023-02-20 08:58
(zztdan)

回 13楼(幺幺奇) 的帖子

3060的笔记本版本可以搞吗

3.gif

诺利

B27F  2023-02-20 09:15
(0.0)
Mark  收藏了

色图bot


1277733.jpg

歪比巴卜泡泡糖

mark

1472371.png

zxiao

我超,爹,等有时间再来看看