MacBook Pro部署Stable Diffusion WebUI筆記 (四)Controlnet文件的完善
續(xù)上一篇內容,新裝之后的controlnet其實還缺少了很多內容,手動補完才能讓controlnet以完全體運作。這里記錄的版本是Controlnet1.1.217,后續(xù)肯定還會有變動。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
雖然感覺很多模式暫時,甚至一直都用不上,但還是追求了一下全搜集。以后隨著版本的更新,應該還有新的模式出現(xiàn)。
再看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下載后放置到對應的目錄中。
目前就整理出這些,大部分功能可以用了。肯定還有疏漏的地方,只能以后遇到了再補。