MacBook Pro部署Stable Diffusion WebUI笔记 (四)Controlnet文件的完善
续上一篇内容,新装之后的controlnet其实还缺少了很多内容,手动补完才能让controlnet以完全体运作。这里记录的版本是Controlnet1.1.217,后续肯定还会有变动。Controlnet里的控制类型(control type)由模式(model)和预处理器(preprocessor)两个部分组成,互相搭配起作用。因此主要补完的方向有2个,一个是stable-diffusion-webui/extensions/sd-webui-controlnet/models下面,一个是在stable-diffusion-webui/extensions/sd-webui-controlnet/annotator/downloads下面为主。
首先看stable-diffusion-webui/extensions/sd-webui-controlnet/models
可以看到在原始的models目录下,除了一些零星yaml外,主要有两大类yaml文件。一类是control_v11e开头,一类是t2iadapter开头。
对应control_v11e开头的yaml文件的是同名pth文件,一共有14个模式(model):
control_v11p_sd15s2_lineart_anime.pth
control_v11p_sd15_softedge.pth
control_v11p_sd15_seg.pth
control_v11p_sd15_scribble.pth
control_v11p_sd15_openpose.pth
control_v11p_sd15_normalbae.pth
control_v11p_sd15_mlsd.pth
control_v11p_sd15_lineart.pth
control_v11p_sd15_inpaint.pth
control_v11p_sd15_canny.pth
control_v11f1p_sd15_depth.pth
control_v11f1e_sd15_tile.pth
control_v11e_sd15_shuffle.pth
control_v11e_sd15_ip2p.pth
以上内容每个都很大,可以手动在https://huggingface.co/lllyasviel/ControlNet-v1-1/tree/main下载后放置到models下面。这些文件放到models/controlnet的文件夹下面好像也是可以的,不影响加载。我是放在前者。
我个人还附加了control_v2p_sd15_mediapipe_face.pth和对应的control_v2p_sd15_mediapipe_face.yaml,此内容来自这个地址https://huggingface.co/CrucibleAI/ControlNetMediaPipeFace/tree/main
对于t2iadapter开头的这类文件,有12个模式(model):
t2iadapter_canny_sd14v1.pth
t2iadapter_canny_sd15v2.pth
t2iadapter_color_sd14v1.pth
t2iadapter_depth_sd14v1.pth
t2iadapter_depth_sd15v2.pth
t2iadapter_keypose_sd14v1.pth
t2iadapter_openpose_sd14v1.pth
t2iadapter_seg_sd14v1.pth
t2iadapter_sketch_sd14v1.pth
t2iadapter_sketch_sd15v2.pth
t2iadapter_style_sd14v1.pth
t2iadapter_zoedepth_sd15v1.pth
虽然感觉很多模式暂时,甚至一直都用不上,但还是追求了一下全搜集。以后随着版本的更新,应该还有新的模式出现。
再看stable-diffusion-webui/extensions/sd-webui-controlnet/annotator/downloads,这个位置下面其实还有细分目录,目前我查证到的分别是hed、leres、lineart、lineart_anime、midas、mlsd、normal_bae、oneformer、uniformer、openpose、pidinet和zoedepth这12个。还有一个来自openai的pytorch_model不是放在downloads下面。单单有最前面的模式(model)文件是不够的,如果缺失downloads目录下这部分文件,有一部分预处理器(preprocessor)就无法工作导致报错。还没有试过如果把以下的pth放到models下面会不会认到,自己也不会改代码,难死美术生了。
hed目录下对应的文件是ControlNetHED.pth
leres目录下对应的文件是res101.pth
lineart目录下对应的文件是sk_model.pth和sk_model2.pth
lineart_anime目录下对应的文件是netG.pth
midas目录下对应的文件是dpt_hybird-midas-501f0c75.pt
mlsd目录下对应的文件是mlsd_large_512_fp32.pth
normal_bae目录下对应的文件是scannet.pt
oneformer目录下对应的文件有2个,是150_16_swin_l_oneformer_coco_100ep.pth和250_16_swin_l_oneformer_ade20k_160k.pth
uniformer目录下对应的文件是upernet_global_small.pth
openpose目录下对应的文件有3个,分别是body_pose_model.pth、facenet.pth、hand_pose_model.pth
pidinet目录下对应的文件是table5_pidinet.pth
zoedepth目录下对应的文件是ZoeD_M12_N.pth
以上内容大部分都很大,可以手动在https://huggingface.co/lllyasviel/Annotators/tree/main下载后放置到对应的目录中。
目前就整理出这些,大部分功能可以用了。肯定还有疏漏的地方,只能以后遇到了再补。