Caption tagger tool
Project description
fm_image_tagger
fm_image_taggerは、画像に対するキャプションやタグを管理するためのツールです。CLIを通じて、タグやキャプションの作成、編集、表示を行うことができます。
概要
- ディレクトリ内の画像に対して WD1.4 によるキャプションファイルを一括で作成します
- ローカルで動作している ollama と Vision LLM を利用したキャプションを作成できます
- 主に LoRA モデルを作成するときの学習データ作成時に使用します
- SmilingWolf 氏作成の wd-tagger のソースコードとモデルデータを使用しています
- https://huggingface.co/spaces/SmilingWolf/wd-tagger/tree/main
- これらモデルデータは初回起動時にダウンロードされます
注意事項
- WD1.4 tagger / wd-tagger では著名キャラクター名を表示する事ができますが、本ツールの目的には不必要なものなので削除しています
インストール
以下の手順で fm_image_tagger をインストールしてください。
pip を使用する場合
pip install fm_image_tagger
uv を使用する場合(オススメ)
uv tool install fm_image_tagger
予め uv (astral-sh.uv) をインストールしておく必要があります。pip なり winget なりでインストールしておいてください。 python 仮想環境を作るので、python そのもののインストールが無くても uv だけで動くはずです。
ソースコードからの起動
リポジトリをクローンした場合、インストール無しに uv を使って起動できます。
uv run fm_image_tagger <コマンド> [オプション]
使用方法
各種サブコマンドの使用で様々な操作を行うことができます。
- ディレクトリ下の全画像ファイルからタグファイルを作成 (LoRA作成用)
- ディレクトリ下の全画像ファイルに対し ollama の画像認識 LLM を使ったキャプションファイルを作成 (FLUX LoRA作成用)
- ディレクトリ下の全画像ファイルを連番にリネーム
- ディレクトリ下の全タグファイルからタグネームを集計して表示
- ディレクトリ下の全タグファイルに指定単語を追加、削除
- 指定した画像ファイル単体のタグやキャプションを表示
ユースケース
SDXL LoRA 作成用にキャプションファイルを用意したい
- 学習用画像を
./images内に用意 - LoRA 用タグ作成を実行
fm_image_tagger tagger ./Images - 作成されたタグを確認
fm_image_tagger total ./Images - 生成されたタグのうち LoRA モデルに覚えさせたい特徴を表すタグを削除していく、キャラクター LoRA なら髪型や目の色などを徹底的に削除する、衣装は着せ替えしたい場合は残した方が良い
fm_image_tagger remove blue_eyes ./Images - 特徴ワードがなくなるまで 4. を繰り返す
- モデルの特徴を集約させるトリガーワード(任意)を先頭に追加
fm_image_tagger add -f my-original-lora-1 ./Images
FLUX LoRA 作成用にキャプションファイルを用意したい
- 学習用画像を
./images内に用意 - LoRA 用キャプション作成を実行(
minicpm-v:latestは任意の ollama model を指定する)fm_image_tagger caption minicpm-v:latest ./Images -l - モデルの特徴を集約させるトリガーワード(任意)を先頭に追加
fm_image_tagger add -f my-original-lora-1 ./Images
fm_image_tagger コマンドラインリファレンス
fm_image_taggerは、画像のタグ付け、キャプション生成、ファイル名変更などを行うためのツールです。clickライブラリを使用してコマンドラインインターフェースが構築されています。
基本的な使い方:
pip もしくは uv tool でインストールしている場合、単体ツールとして起動できます。
fm_image_tagger <コマンド> [オプション]
インストールせずソースコードリポジトリから直接起動する場合は uv run を使います。
uv run fm_image_tagger <コマンド> [オプション]
コマンド一覧:
-
tagger: 画像ファイルにタグファイルを生成します。-
使い方:
fm_image_tagger tagger <パス> [オプション]
-
引数:
<パス>: 画像ファイルを含むディレクトリのパス。
-
オプション:
-t,--threshold: スコアの閾値 (デフォルト: 0.35)。例:-t 0.5
-
-
caption: Ollama vision-modelを使用してキャプションファイルを生成します。-
使い方:
fm_image_tagger caption <ollama-vision-model> <パス> [オプション]
-
引数:
<ollama-vision-model>: 使用するOllama visionモデルの名前。<パス>: 画像ファイルを含むディレクトリのパス。
-
オプション:
-l,--for-lora: LoRAキャプションモードを有効にします。
-
-
rename: ファイルに連番でリネームします。-
使い方:
fm_image_tagger rename <サフィックス> <パス>
-
引数:
<サフィックス>: ファイル名に付加するサフィックス。<パス>: ファイルを含むディレクトリのパス。
-
-
add: ディレクトリ内全てのタグファイルにキーワードを追加します。-
使い方:
fm_image_tagger add <キーワード> <パス> [オプション]
-
引数:
<キーワード>: 追加するキーワード。<パス>: タグファイルを含むディレクトリのパス。
-
オプション:
-f,--first: タグの先頭にキーワードを追加します。
-
-
remove: ディレクトリ内全てのタグファイルからキーワードを削除します。-
使い方:
fm_image_tagger remove <キーワード1> [<キーワード2> ...] <パス>
-
引数:
<キーワード1> [<キーワード2> ...]: 削除する1つ以上のキーワード。スペースで区切って複数指定できます。<パス>: タグファイルを含むディレクトリのパス。
-
-
total: ディレクトリ内全てのタグファイルを集計して全タグと使用数を集計します。-
使い方:
fm_image_tagger total <パス>
-
引数:
<パス>: タグファイルを含むディレクトリのパス。
-
-
display: 画像情報を表示します。-
使い方:
fm_image_tagger display <パス> [オプション]
-
引数:
<パス>: 画像ファイルのパス。
-
オプション:
-m,--meta: メタ情報(プロンプトなど)を表示します。-t,--threshold: スコアの閾値 (デフォルト: 0.35)。-c,--caption-model: Ollamaモデルを指定した場合、キャプションを表示します。-l,--for-lora: LoRA向けのキャプション出力を有効にします。(キャプション表示時-cとの併用時のみ有効)
-
例:
fm_image_tagger tagger images/:images/ディレクトリ内の画像にタグファイルを生成します。fm_image_tagger caption llama2-vision images/:images/ディレクトリ内の画像にllama2-visionモデルを使用してキャプションファイルを生成します。fm_image_tagger rename photo images/:images/ディレクトリ内のファイル名をphoto_0001.jpgのようにリネームします。fm_image_tagger add beautiful images/:images/ディレクトリ内のタグファイルにbeautifulというキーワードを追加します。fm_image_tagger display image.png -m:image.pngのメタ情報に含まれている A1111 形式のプロンプト情報を表示します。fm_image_tagger display image.png -c minicpm-v:latest:image.jpgのキャプションを minicpm-v モデルで生成し表示します。
ライセンス
このプロジェクトは MIT ライセンスの下で公開されています。詳細は LICENSE ファイルを参照してください。
更新履歴
- Jan.05.2025 - v0.4.0
- ファーストリリース
作者
rerofumi
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file fm_image_tagger-0.4.2.tar.gz.
File metadata
- Download URL: fm_image_tagger-0.4.2.tar.gz
- Upload date:
- Size: 39.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.7.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6172f948a4ee60114494f498b8727e5a6d9e49a8fae9b2ca9dd09e0c9452441f
|
|
| MD5 |
47661eb03a37e70342a2cdb993bac71c
|
|
| BLAKE2b-256 |
4921f0d7d968e2c31ce421b89e433983150fac40434f28947d03fa60543c3a8f
|
File details
Details for the file fm_image_tagger-0.4.2-py3-none-any.whl.
File metadata
- Download URL: fm_image_tagger-0.4.2-py3-none-any.whl
- Upload date:
- Size: 12.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.7.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0c92d4cee1b27975ccd0fa585666ee5cffc32dc4512b522d20759e8972543339
|
|
| MD5 |
02cae7e33c6697034c33f3c2bcda1a3d
|
|
| BLAKE2b-256 |
e600b5bbecb3d4cc0c0b177c56c86362df614b078b1f01bc8ffa7a5a77a25bf2
|