目前模型上传功能仅支持通过提交工单申请试用,所以请确保申请获得试用权限,才可以在前端页面看到
模型仓库当前仅支持用户上传 Stable-Diffusion 模型/模型组(后续简称为 SD模型)
目录结构如下,models 文件夹下有 checkpoints, controlnet, embeddings, loras, vae, upscale_models子文件夹与用来配置启动参数的default_config.yaml,子文件夹中放入对应文件夹名相关的使用到的模型。
其中checkpoints与default_config.yaml是必须上传的,其他按需使用
models |--- checkpoints //包含了vae unet clip的整个checkpoint |--- dreamshaper_8.safetensors |--- ... |--- controlnet |--- control_lora_rank128_v11p_sd15_canny_fp16.safetensors |--- control_lora_rank128_v11p_sd15_scribble_fp16.safetensors |--- ... |--- embeddings |--- EasyNegative.safetensors |--- badhandv4.pt |--- ... |--- loras |--- xxx.safetensors |--- ... |--- vae |--- xxx.safetensors |--- ... |--- upscale_models |--- RSRGAN_xxx.pth |--- default_config.yaml //部署时采用的模型等信息
(option)皆为选填
涉及到模型文件使用的参数,其中如果后缀为[".ckpt", ".pt", ".bin", ".pth", ".safetensors"]可以只填文件名(也可以写全文件名与后缀),其他后缀需写全文件名与后缀
dtype: bfloat16 checkpoints: model_name: dreamshaper_8 model_config: inference_clip_skip_2_fp16 // (option) controlnets: // (option) - processor: preprocessor: canny model: model_name: control_canny // model in models/controlnet - processor: preprocessor: scribble parameter: param1: 0.0 // (option) param2: 1.0 // (option) ... model: model_name: control_lora_v11p_sd15_scribble // model in models/controlnet controlnet_strength: 1.0 // [0.0, 1.0] default 1.0 (option) start_percent: 0.0 // [0.0, 1.0] default 0.0 (option) end_percent: 1.0 // [0.0, 1.0] default 1.0 (option) loras: // (option) - model: model_name: xxx strength_model: 1.0 // [0.0, 1.0] default 1.0 (option) strength_clip: 1.0 // [0.0, 1.0] default 1.0 (option) VAE: // (option) model_name: xxx.vae // model in models/vae upscale: // (option) - upscale_method: method: model model_name: RealESRGAN_x4plus_anime_6B // model in models/upscale_models - upscale_method: method: nearest-exact scale_by: 0.5 preprocess: control_image: method: scale width: 512 height: 512 upscale_method: nearest-exact crop: disable init_image: method: scale_to_side side: Longest side_length: 960 upscale_method: nearest-exact crop: disable
model_name
为上传文件夹中checkpoint的文件,目前自测过的模型仅有sd1.5与sdxl。
model_config
支持列表 ComfyUI/models/configs at master · comfyanonymous/ComfyUI
目前已支持的controlnet:
preprocess | parameter | controlnet_model | 模型获取地址 |
---|---|---|---|
canny | low_threshold, [0, 1] default 0.4 | control_canny | https://huggingface.co/lllyasviel/sd-controlnet-canny |
depth | a, [0, π * 5.0] default π * 2.0 | control_v11f1p_sd15_depth | https://huggingface.co/lllyasviel/control_v11f1p_sd15_depth |
lineart_anime | resolution, [0, 1024] default 512 | control_v11p_sd15s2_lineart_anime | https://huggingface.co/lllyasviel/control_v11p_sd15s2_lineart_anime |
lineart_standard | resolution, [0, 1024] default 512 | ||
scribble | resolution, [0, 1024] default 512 | control_scribble | https://huggingface.co/lllyasviel/sd-controlnet-scribble |
OneFormer_COCO_segmentate | resolution, [0, 1024] default 512 | control_seg | https://huggingface.co/lllyasviel/sd-controlnet-seg |
dwpose | detect_hand, {True, False} default False | control_v11p_sd15_openpose | https://huggingface.co/lllyasviel/control_v11p_sd15_openpose/tree/main |
controlnet必须搭配前处理一起使用,单独的一个processer是一个带有前处理的的controlnet处理模块。
其中以下内容为必填项,包含了前处理用到的模块与用到的模型(模型需要按照规范上传)
- processor: preprocessor: canny model: model_name: control_canny // model in models/controlnet
preprocessor 带有 parameters 模块用于精调前处理效果,支持的参数与该项目对齐,可在 comfyui 上进行调试使用GitHub - Fannovel16/comfyui_controlnet_aux: ComfyUI's ControlNet Auxiliary Preprocessors
以下是一个用到preprocessor具体参数的样例
- processor: preprocessor: canny parameter: low_threshold: 50 high_threshold: 200 resolution: 0 model: model_name: control_canny-fp16 controlnet_strength: 0.8 start_percent: 0 end_percent: 1.0
model 中 model_name 是上传文件夹中controlnets中的文件名
model: model_name: control_lora_v11p_sd15_scribble // model in models/controlnet controlnet_strength: 1.0 // [0.0, 1.0] default 1.0 (option) start_percent: 0.0 // [0.0, 1.0] default 0.0 (option) end_percent: 1.0 // [0.0, 1.0] default 1.0 (option)
model中参数 model_name用于指定具体lora。strengt_model用于指定对unet模型的影响程度,strength_clip用于指定对CLIP模型的影响程度(其中CLIP模型用于处理positive_prompt negative_prompt)
loras: - model: model_name: xxx strength_model: 1.0 // [0.0, 1.0] default 1.0 (option) strength_clip: 1.0 // [0.0, 1.0] default 1.0 (option)
可以替换checkpoint的vae,用model_name指定。vae需存在于上传文件夹的vae文件夹中
VAE: model_name: xxx.vae
是一个对图片进行后处理的模块,可以搭配GAN模型进行上采样+去噪,再使用传统算法downsample提高图片质量
可以使用ESRGAN结构的模型,或者使用传统upscale算法
使用模型时method需要选择为model
upscale: - upscale_method: method: model model_name: RealESRGAN_x4plus_anime_6B
使用传统算法时method可以选择为 {"nearest-exact", "bilinear", "area"}其中一个,scale_by控制采样倍率
upscale: - upscale_method: method: nearest-exact scale_by: 0.5
图片的前处理单元,可以对 control_image与init_image进行一些 upscale 和 crop 的预处理
method 有两种可选,{"scale", "scale_to_side"}
scale 的参数为width、height,upscale_method,crop
init_image 的 width*height 需要小于等于1024*1024,upscale_method 可以选择为 {"nearest-exact", "bilinear", "area"}其中一个,crop可选{"disable", "center"} 其中 center 代表中心裁切来适应原本图片的比例。
scale_to_side 的参数为side, side_length, upscale_method, crop
side为scale 的边(另一条边自动适应图片比例),可选为{"Longest", "Shotest", "Width", "Height"}
side_length 为选取的边的scale长度,upscale_method 与 crop 与上面 scale 的相同。
点击模型仓库页面的上传模型按钮,可以上传自定义模型。
上传 SD 模型需要先选定一个 SD 基础模型,因为不同的基础模型,对应起服务时资源配置不同。
注意:需要将模型放在有权限的 TOS 中,并填写相应的TOS地址。