为 LoRA-scripts(SD-Trainer) 新增打标模型

由于我常用SDXL Pony模型训练,用的主要是E标签为主,目前内部的Tagger 标注工具并没有匹配的打标模型,所以给它加上一个toynya/z3d-e621-convnext 的打标模型。 具体方法如下:

Huggingface链接:toynya/z3d-e621-convnext

HF-Mirror国内镜像源:toynya/z3d-e621-convnext


一、安装Huggingface CLI工具:(如安装可跳过)

安装依赖:

pip install -U huggingface_hub

设置国内镜像源

export HF_ENDPOINT=https://hf-mirror.com

二、下载模型到指定目录:

转到 LoRA-scripts 根目录中的 Huggingface 目录

cd huggingface/hub

下载Z3D-E621-Convnext模型:

huggingface-cli download --resume-download toynya/Z3D-E621-Convnext --local-dir models--toynya--Z3D-E621-Convnext

目录详情:

huggingface/
├── accelerate
└── hub
    ├── models--toynya--Z3D-E621-Convnext
    │   ├── blobs
    │   ├── refs
    │   └── snapshots
    └── version.txt

如果你的丹炉不读这个目录,也可以尝试下载到 '~/.cache/huggingface/hub/' 默认的目录下

三、修改frontend内的前端文件

运行丹炉定位网页文件

首先你需要运行一次秋叶丹炉并打开浏览器的开发工具选项(F12),然后按下 Ctrl + F 搜索字符串: /assets/tagger.html

如果正确你应该会找到:

<link rel="prefetch" href="/assets/tagger.html.8d4d2fba.js">

记录下后面的这个值:8d4d2fba (不同设备可能不一样)

打开文件并修改

定位到目录

cd frontend/dist/assets/

然后修改该文件:

sudo vi tagger.html.8d4d2fba.js

使用/ 搜索字符串: Schema.union 并像这样加入模型名称:

interrogator_model: Schema.union([\\"z3d-e621-convnext\\",\\"wd-convnext-v3\\", \\"wd-swinv2-v3\\"....

增加后按 Esc: + wq 保存并退出

修改mikazuki内的文件:

定位到mikazuki\app修改api.py文件

cd mikazuki\app
sudo vi api.py

/搜索字符串:req.interrogator_model, available_interrogators 并修改为以下:

interrogator = available_interrogators.get(req.interrogator_model, available_interrogators["z3d-e621-convnext"])

Esc + :wq 保存退出

同样的目录修改models.py文件

sudo vi models.py

搜索字符串:TaggerInterrogateRequest(BaseModel)修改成以下内容:

class TaggerInterrogateRequest(BaseModel):
    path: str
    interrogator_model: str = Field(
        default="z3d-e621-convnext" #这是修改的位置
    )

保存并退出

修改interrogator.py文件

返回到上一层目录,并进入tagger 目录修改 interrogator.py

cd ..
cd tagger
sudo vi interrogator.py

同样的,搜索字符串:available_interrogators
之后将此处的新增:

available_interrogators = {
    'z3d-e621-convnext':WaifuDiffusionInterrogator(
        'z3d-e621-convnext',
        repo_id='toynya/Z3D-E621-Convnext',
        tags_path='tags-selected.csv',
    ),
    # 以下是原来的内容
    'wd-convnext-v3': WaifuDiffusionInterrogator(
        'wd-convnext-v3',
        repo_id='SmilingWolf/wd-convnext-tagger-v3',
    ),

保存并退出,重启丹炉程序,进入WD Tagger页面应该就可以使用了!

最后修改:2024 年 12 月 27 日
喜欢就请我喝一杯奶茶吧~