(零)前言
本篇主要讲怎么管理大量的模型,比如模型不要大幅改名,模型可以有预览图,模型可以有备注,还能分组管理呢。
更多不断丰富的内容参考:🔗《继续Stable-Diffusion WEBUI方方面面研究(内容索引)》
(一)模型管理
不管是【SD基础模型】还是【LoRA人物模型】都非常的多,多了感觉就不好管理。
很多模型文件名很奇怪,版本和衍生版也不停在变化,总之就是一大堆文件。
如果我们为了方便改了模型名字,今后又很难去比较更新同步了。
我们前面知道了通过生成
按钮下面的桃红色显示附加网络
按钮功能,可以用缩略图/卡牌的形式直观的管理这些模型。
卡牌默认很大但可以设置小一些。如下:
(1.1)模型名称(文件名)
模型文件名就是模型的名字,虽然有些怪,但建议不要改。
除非今后不想再更新和使用它的其它版本,或者你已经心里准备好用Hash值来确认同一个模型了。
文件名(不带扩展名)也会显示在模型卡牌中,如上。
默认字有些大而且确实很长,显示出来挡住了图片。所以我改小(改)了好多。
你也想改可以去找style.css
里面.extra-network-cards .card .actions .name
这段,我改成了:
.extra-network-cards .card .actions .name{
font-size: 10px;
/*font-weight: bold;*/
line-break: anywhere;
}
(1.2)模型缩略图
这段应该是大家都知道的内容:
- 点击一个基础模型的卡牌,相当于在基础模型下拉列表中选择它。
- 点击一个LoRA模型,相当于在当前输入框(提示词)中输入和启用这个模型,用于生成图片。
但如果你先把鼠标指向模型的名字
,然后再指向替换预览图片
(这里翻译可能不同,意思一样就行了)。
就可以把刚刚生成的图片,设置成为这个模型的预览图。
预览图卡牌模式的默认是2:3的比例,显示大小可以在设置中修改。
将模型同名的jpg
或者png
图片文件放入模型所在目录,也能展示为缩略图/卡牌。
(1.3)模型备注文字
但是大家可能不知道,将一个模型同名的txt
文件放入模型所在目录(如上图)。
那么这个文本文件中的内容,就将展示为模型的备注。
可以参考第一张图,我随便写了一些备注文字上去。
这样一来就方便多了,既可以不改模型文件名,又能简单知道模型的特点。
我试了一下字写太多就变成这个效果了,呵呵,😅:
(1.4)模型分组(子目录)
如果模型很多,还可以进行分组管理。
以LoRA模型为例,模型文件/预览图/模型备注文本文件,都不要直接放在Your SDWEBUI Path\models\Lora\
目录下。
而是放在更深一层的子目录中。如下图所示(LoRA目录下都是子目录):
这样一来,WEB UI界面上就会出现这些子目录的分组名字,点击这些分组可以自动过滤仅显示子目录下的模型。
如果想要显示全部模型,则点击all
不要过滤就可以了。
如下图所示(仅显示了动漫人物
分组):
💡 💡 💡
分组仅通过子目录进行组织,并不是必须按类型分,可以按自己的喜好怎样方便管理怎样建子目录。
如果你有Anything
或GuoFeng
很多个版本的模型,也可以用模型名字当子目录的。
⚠️⚠️⚠️
如果你要使用模型分组,就请不要翻译all
和Search...
这两个单词(找到翻译文件,自己改掉这两个单词)。
前者影响点击all
以后取消过滤的功能,而后者会让搜索框忽大忽小,处女座不能忍。
(1.5)模型详细信息
继续参考第一张图,如果鼠标指向一个LoRA模型的时候,发现一个圆圈围起来的感叹号 ❗️
那么点击它会出现这个模型生成时的详细信息(元数据)。
里面的信息如下(这个是艾达王):
我们可以看到模型训练用的分辨率,图片多少张,半身全身,提示词,以及其它很多参数。
好像没啥用,其实可以作为自己训练模型的参考。
{
"ss_sd_model_name": "chilloutmix_NiPrunedFp32Fix.safetensors",
"ss_resolution": "(1024, 576)",
"ss_clip_skip": "2",
"ss_num_train_images": "400",
"ss_tag_frequency": {
"5_adaupper": {
"ada_re4": 46,
"1girl": 46,
"upper body": 46,
"(solo:0.964)": 46,
"black belt": 46,
"(black background:1.3)": 46,
"(simple background)": 46,
"black gloves": 46,
"black hair": 46,
"medium breasts": 46,
"handgun": 46,
"handgun in hand": 46,
"short hair": 46,
"one arm lift": 46,
"asian": 46,
"red sweater": 46,
"red leotard": 46
},
"5_adafull": {
"ada_re4": 34,
"1 girl": 34,
"solo": 34,
"full body": 34,
"(black background:1.3)": 34,
"(simple background)": 34,
"short hair": 34,
"black hair": 34,
"medium breasts": 34,
"asian": 34,
"red sweater": 34,
"red leotard": 34,
"long black leather boots": 34,
"black belts": 34,
"handgun": 34,
"hand gun in hand": 34,
"holster": 34,
"black gloves": 34,
"one arm lift": 34
}
},
"ss_batch_size_per_device": "1",
"ss_bucket_info": {
"buckets": {
"0": {
"resolution": [
1024,
576
],
"count": 400
}
},
"mean_img_ar_error": 0.0
},
"ss_bucket_no_upscale": "False",
"ss_cache_latents": "True",
"ss_caption_dropout_every_n_epochs": "0",
"ss_caption_dropout_rate": "0.0",
"ss_caption_tag_dropout_rate": "0.0",
"ss_color_aug": "False",
"ss_dataset_dirs": {
"5_adaupper": {
"n_repeats": 5,
"img_count": 46
},
"5_adafull": {
"n_repeats": 5,
"img_count": 34
}
},
"ss_enable_bucket": "True",
"ss_epoch": "12",
"ss_face_crop_aug_range": "None",
"ss_flip_aug": "False",
"ss_full_fp16": "False",
"ss_gradient_accumulation_steps": "1",
"ss_gradient_checkpointing": "False",
"ss_keep_tokens": "0",
"ss_learning_rate": "0.0001",
"ss_lowram": "False",
"ss_lr_scheduler": "cosine_with_restarts",
"ss_lr_warmup_steps": "0",
"ss_max_bucket_reso": "1024",
"ss_max_grad_norm": "1.0",
"ss_max_token_length": "225",
"ss_max_train_steps": "8000",
"ss_min_bucket_reso": "256",
"ss_mixed_precision": "fp16",
"ss_network_alpha": "128.0",
"ss_network_dim": "128",
"ss_network_module": "networks.lora",
"ss_new_sd_model_hash": "fc2511737a54c5e80b89ab03e0ab4b98d051ab187f92860f3cd664dc9d08b271",
"ss_noise_offset": "0.0",
"ss_num_batches_per_epoch": "400",
"ss_num_epochs": "20",
"ss_num_reg_images": "0",
"ss_optimizer": "bitsandbytes.optim.adamw.AdamW8bit",
"ss_output_name": "adawong",
"ss_prior_loss_weight": "1.0",
"ss_random_crop": "False",
"ss_reg_dataset_dirs": {},
"ss_sd_model_hash": "95f8d0a7",
"ss_sd_scripts_commit_hash": "45945f698a7c57b83564e7ad3845c7b677899a5b",
"ss_seed": "1337",
"ss_session_id": "359071142",
"ss_shuffle_caption": "True",
"ss_text_encoder_lr": "1e-05",
"ss_total_batch_size": "1",
"ss_training_comment": "None",
"ss_training_finished_at": "1680080577.9001603",
"ss_training_started_at": "1680075725.1377542",
"ss_unet_lr": "0.0001",
"ss_v2": "False",
"sshs_legacy_hash": "6f4fe396",
"sshs_model_hash": "482dc88150e305f3f19941d696d55e7be9f4db9361ca84c482a76a63fd6749ce"
}
(二)第二部分
更好的管理:生成规范的预览图,备注触发词,LoRA模型名称不随着文件名变等。
参考:🔗管好【SD-WEBUI】中大量的模型:名称+预览图+备注+分组(Part.2)
(三)第三部分
用插件管理非常详细的模型信息(比如:原作者发布的信息)。
参考:🔗管好【SD-WEBUI】中大量的模型:模型信息预览插件(Part.3)
🤪 to be continued…