MacBook Pro部署Stable Diffusion WebUI笔记 (五)出图流程
续上一篇内容,发现了一个文件漏掉了,那就是leres目录下还有个文件叫latest_net_G.pth,这个文件是对应depth类型里的预处理器depth_leres++,而leres目录下的另外一个文件res101.pth,对应的是预处理器depth_leres。但是这两个预处理器在我的Macbook上都会报错,无法正常使用。由于另外两个depth的预处理器可以使用,所以这个问题可以暂时搁置一下。
同时追加了一组模型,来自https://huggingface.co/mskani/controlnet-hands/tree/main里的controlnet-hands.pth和controlnet-hands.yaml,不过也有遇到一个问题,那就是在webui加载之后,controlnet里的模式(model)列表中可以看到controlnet-hands的选项,在预处理器(preprocessor)列表里面却没看到新的预处理器选项。
最近把macOS升级到了13.4.1,另外webui启动的时候也会报错,报错的信息如下:
No module ' xformers '. Proceeding without it.
Warning: caught exception ' Torch not compiled with CUDA enabled' ,memory monitor disabled.
升级操作系统之前还有一行报错,升级以后没了。内容没及时记下来,好像就是要求升级操作系统的。目前的报错信息不影响使用,就是速度慢。搜索了一下,好像要通过虚拟环境来弄,嫌麻烦,就暂时先这样了。
放一个链接备忘一下,以后试试,希望不会逝世:
https://zhuanlan.zhihu.com/p/621380618
终于可以进入算图的部分,目前最大的感想就是sd动不动就炸显存罢工,如履薄冰啊。
目前的话,我大致把出图分成3个阶段。
第一阶段是文生图获得初稿。初稿大小在512像素附近浮动,比如下面这例图就是400*600像素的,脸部修复是用了插件ADetailer。苹果系统在这个阶段速度还是可以接受的。

第二阶段是使用图生图细化,这个过程里使用插件ControlNet增加细节,并且把图片放大。下面这张就是在第一阶段初稿的基础上图生图到1000*1500像素。在这个倍率下,就开始会爆显存了。所以我启用了插件Tiled VAE。ControlNet里使用了tile_resample处理器,勾选了Low VRAM。可以对比上一张图,tile_resample处理之后出现了很多原来没有的东西。

第三阶段是使用图生图放大,第二阶段1000*1500像素的大小是不够的。在这个例子里我把1000*1500像素的图通过StableSR放大到了3000*4344, 之所以数值不够整,是第一阶段的初稿下面有一行小字,我在第二阶段算完以后才把它裁掉。总体来说,是在二阶段上放大了3倍。另外,之所以不在第二阶段就从600像素直接上4000像素,最大的原因就是顶不住会爆。
就目前的尝试来看,效果最好的还是StableSR,虽然色彩上变得灰了一些。我还尝试了4X Ultrasharp和官网的放大工具,特别是官网的放大工具是充值9美刀之后才能使用的,虽然可以放得更大同时速度也是最快的,但是效果上不尽如人意。
为了StableSR不爆,同时开启了插件里的Tiled Diffusion和Tiled VAE,打开了StableSR里的Pure noise。放大完成后使用了PS下面的色彩匹配,一键校色。

下面是局部的比较,差异看原尺寸图的话会更一目了然。

StableSR放大后的草帽细节满满,色彩修正什么的都是小问题,没细节啥都没用。


以上是目前采用的作图流程。