#contents
*概要 [#b7447e91]
**アプリについて [#zb972b16]
-学習時のタグファイル作成を目的とした、sd-scripts内蔵ツール。
役割はInterrogator
-公式HP
https://github.com/kohya-ss/sd-scripts
-使用方法などは、まず公式ドキュメントを参照のこと
https://github.com/kohya-ss/sd-scripts/blob/main/docs/wd14_tagger_README-ja.md
**Stable Diffusion WebUI版との違い [#v95f40ea]
#shadowheader(3,メリット)
-Stable Diffusionのバージョンに依存せず使用できる。
たとえば、ComfyUI専用ユーザーの場合、不必要なアプリの導入を減らせる。
-Tagger用モデルの最新版を使える((厳密に言うと「導入しやすい」。webui版でも改造次第で対応はできる))。
--sd-scripts版ではモデルを指定できる。モデルは定期的に更新され、次第に判定精度が向上している。
最新版の方が、新しい作品のキャラ名タグを生成できるかもしれない。
-カスタマイズ性がある。
--こちらはpythonのスクリプトで直接動かすため、他のスクリプトと連携しやすい。
---スクリプト実行時時にundesired tagを別途テキストファイル等で読み込む、複数のフォルダに対して連続実行、etc
*インストール [#l7bb1b9e]
**sd-scriptsをインストール [#ef1845a3]
誘導→[[LoRA]]
**onnxライブラリのインストール [#d7f290aa]
公式ドキュメントを参照してインストールする。
https://github.com/kohya-ss/sd-scripts/blob/main/docs/wd14_tagger_README-ja.md
*使い方 [#v2d1f27b]
**画像の準備 [#j0903e77]
教師画像を任意のフォルダに置く。
**Tagger実行 [#bebfc928]
-sd-scriptsのfinetunieフォルダ内のpythonのコードを実行。
--下記はbatファイルの場合の実行例。
python finetune/tag_images_by_wd14_tagger.py ^
--onnx ^
--repo_id <モデルのrepo id> ^
--batch_size <バッチサイズ> <教師データフォルダ>
--下記はPythonコードでの実行例
各行の2列目の変数の代わりに、数値または文字列を書いてください。
#pre{{
import subprocess
#(中略)
subprocess.run([
"python", scripts_code,
"--onnx",
"--repo_id", "SmilingWolf/wd-swinv2-tagger-v3",
"--model_dir", model_dir,
"--character_tags_first",
"--undesired_tags", undesired_tags,
"--tag_replacement", replacement_tags,
"--batch_size", "10",
"--thresh", str(thresh),
"--character_threshold", str(character_threshold),
"--recursive",
"--frequency_tags",
"--always_first_tags", always_first_tags,
image_path
], check=True)
}}
-オプションなどで除外タグや判定しきい値の設定が可能です。
公式ドキュメントを参照のこと
**オプションについて [#s5296add]
公式ドキュメントに説明がない情報の補足です。
***use_rating_tags/use_rating_tags_as_last_tag [#e6059f44]
-レーティングタグを追加する。例えば、
questionable, explicit , sensitive
-このオプションを使う意味はあまりない。
個人利用では、年齢制限について考慮する必要性が薄いし、
そもそもNSFWなワードを別途使ってしまうと、意味がなかった。
**モデルのダウンロード(任意) [#c43eec9b]
-初回実行時は、デフォルトで
SmilingWolf/wd-swinv2-tagger-v3
がダウンロードされる。
-これを変更したい場合は、
--repo_id "SmilingWolf/wd-swinv2-tagger-v3"
の部分を変更すると良い。
huggingfaceに実在する「ユーザー名/モデル名」を代入すれば、
Tagger実行時に自動でダウンロードされる。
-モデルは、HuggingFaceのSmilingWolf氏のリポジトリから探すと良い。
https://huggingface.co/SmilingWolf
***モデルの選び方 [#we59a174]
-同じカテゴリのモデルならば、
--最新Ver.を選ぶ。
--F1スコアが高いほうが良い。
-モデルによって、確実なタグだけを生成するか、可能性のあるタグをできるだけ生成するか、という違いがある。
-自分の持っているデータセットによって、最適なモデルは異なる。
--それぞれどのようなタグが生成されるかは、ネット上に多くの検証があるので探してみてください。
-モデルの種類
|カテゴリ|特徴|h
|wd-v1-4-swinv2-tagger|偏りのあるマニアックな情報への対応力が高い|
|wd-vit-large-tagger|大規模のデータセットに対する速度が早い。|
|wd-v1-4-moat-tagger|swinvよりも速度早め、ただし、更新頻度遅い?|
※雰囲気で書いているので、違う場合は修正をお願いします。
-どのモデルでも正答率100%ではないことに留意する。
--企業レベルの場合は、別途タグ修正を行うことが前提
--個人レベルの場合は、除外タグリストを作ってundesired tagsオプションで除去する、誤検知は放置しつつ沢山のデータセットを準備することで誤答の影響を下げる、などの方法で誤検知による対策を行うと良い。
*Tips [#n8a34e74]