为 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页面应该就可以使用了!