Stable Diffusion Web UIの便利な拡張機能紹介記事です。
今回はキャプションデータの作成と、タグの一括編集ができるdataset-tag-editorについて、解説します。
dataset-tag-editorとは?
dataset-tag-editorは、キャプションデータ作成・編集が簡単にできる拡張機能です。
複数の画像からタグを抽出し、LoRA学習に必要なキャプションデータを作成できます。
また作成時に残すタグ・削除するタグの選択や、検索・置換も可能。
既に作成されたキャプションデータの編集もできるため、LoRA作成に非常に便利なツールです。
dataset-tag-editorのインストール
Stable Diffusion Web UIを起動して、Extensions→Install from URL→URL for~に以下のURLを入力し、Installボタンをクリックしてください。
https://github.com/toshiaki1729/stable-diffusion-webui-dataset-tag-editor.git
Web UIをリスタート、または再起動して、「Dataset Tag Editor」タブが追加されていればインストール完了です。
dataset-tag-editorの使い方
学習データは今回も「ずんだもん」をお借りしました。
細かい機能が多いので、以下2点のみご紹介します。
- 画像からキャプションデータを作成
- キャプションデータから特定のタグを削除
複数画像からキャプションデータ作成&特定のタグを削除
まず「Dataset Tag Editor」タブに行き、Dataset directoryに画像フォルダのパスを指定します。
Use Interrogator Captionは「If Empty」を選択してください。フォルダ内にキャプションデータがなければ作成するというものです。
既にキャプションデータがあり、上書きする場合は「Overwrite」を選択します。
次にInterrogatorsでタグ解析に使用するモデルを選択します。
今回は「wd-v1-4-vit-tagger」を選択しました。
上記が設定できたらLoadをクリックしてください。画像が解析が始まりキャプションを編集できるようになります。
解析が終わったらトリガーワードを追加します。トリガーワードはLoRAを使用するためのキーワードみたいなものです。
右側の画面から「Batch Edit Captions」→「Search and Replace」を開き、「Edit Tags」にトリガーワードを入力して、「Apply changes to filtered images」をクリックします。
今回「zundamon」と入力しました。
これでトリガーワードの追加は完了です。
次に隣の「Remove」タブを開きます。
画像から抽出されたタグ一覧が表示され、並び替えや検索が可能です。
①Search Tags | 検索したいタグの文字列を入力 |
②Prefix | 入力した文字列が接頭辞にあるタグを抽出 |
③Suffix | 入力した文字列が接尾辞にあるタグを抽出 |
④Use regex | 正規表現を使用 |
⑤Sort by(並び替え) | Alphabetical Order:A~Z Frequency:タグの出現率 Length:タグの長さ(文字列) Token Length:トークンとしての長さ |
⑥Sort Order(並び順) | Ascending:昇順 Descending:降順 |
⑦Select Tags | 削除するタグを選択 |
自分の好きなように並び替えや検索を行い、Select Tagsで削除するタグを選択してください。
なお、LoRA学習では削除したタグを強く学習します。ですので、一般的に画像に反映させたいタグをチェックして削除します。
今回はずんだもんの特徴である「green hair, green shorts, hair between eyes」などをチェックしました。
チェックしたら上にあるRemove selected tagsをクリックして、タグを削除してください。
この状態で画面左上にある「Save all changes」をクリックすれば、キャプションデータが作成されます。
中身を見ると、トリガーワードのzundamonが追加され、チェックしたタグが消えているのがわかります。
zundamon, 1girl, solo, looking at viewer, blush, smile, simple background, white background, closed mouth, :3, blush stickers, portrait, personification
このキャプションデータ使って、LoRA学習を行うことが可能です。
LoRA学習方法については別途解説した記事があるので、こちらを参考にしてみてください。
dataset-tag-editorはスタンドアローンでも使用可能
上記はStable Diffusion Web UIを起動しないと使えませんが、スタンドアローン版をインストールすると単体で使用できます。
拡張機能との違いは以下の通りです。
- gradioによるバグを回避
- 起動と実行が超高速
- Interrogatorで使えるモデルが多い
LoRA学習をWeb UI以外で行う方は、スタンドアローン版の方が便利かもしれません。
dataset-tag-editor スタンドアローン版のインストール
インストールしたいフォルダに行き、空白部分を右クリックして「ターミナルを開く」を選択してください。
以下のコマンドをコピペして実行します。
git clone https://github.com/toshiaki1729/dataset-tag-editor-standalone.git
そうすると「dataset-tag-editor-standalone」をいうフォルダが作られるので、中にあるinstall.batを起動してください。
自動で必要なものがインストールされるので、終わったらlaunch_user.batを起動します。
うまく起動できるとURLが表示されます。Ctrl+左クリックで開いてください。
以下のようなUI画面が表示されればインストール完了です。
なお、2回目以降も「launch_user.bat」から起動できます。
インストールが上手くいかない場合
上記の方法だと私は以下のエラーで起動できませんでした。
'"C:\dataset-tag-editor-standalone\venv\Scripts\activate.bat"' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
Traceback (most recent call last):
File "C:\dataset-tag-editor-standalone\scripts\launch.py", line 90, in
prepare_environment()
File "C:\dataset-tag-editor-standalone\scripts\launch.py", line 81, in prepare_environment
run(f'"{python}" -m {torch_command}')
UnboundLocalError: local variable 'torch_command' referenced before assignment
続行するには何かキーを押してください . . .
公式に書いてある手動インストールを試したら直ったので、dataset-tag-editor-standaloneのフォルダで以下を実行してみてください。
python -m venv --system-site-packages venv
./venv/Scripts/activate
pip install -r requirements.txt
1行で仮想環境を作成、2行目で仮想環境をアクティブ化、3行目で必要な依存関係をインストールしています。
コピペでも問題ないですが、一気にやると3行目実行前に止まるのでEnterを押してください。不安な場合は1行ずつでも大丈夫です。
終わったらlaunch_user.batを起動すれば、UIが開けると思います。
使えるモデルやタグ解析速度が違うだけで、使い方は「dataset-tag-editorの使い方」と同じです。
dataset-tag-editorの使い方まとめ
今回はStable Diffusion Web UI、またはスタンドアローンで使えるdataset-tag-editorについて、紹介しました。
キャプションデータを作成できるツールはいろいろありますが、今のところ一番使いやすい印象です。
とにかくキャプションデータを1つずつ編集するというのが手間だったので、dataset-tag-editorを使えばそれが秒で終わります。
以前紹介したkohya-ssやtaggerにはそういった機能がなかったので、LoRA学習を頻繁に行う方はdataset-tag-editorがあると便利かもしれません。
参考になれば幸いです。