見出し画像

【wd14-tagger-standalone】TaggerをWEB UIなしで使おう!

 こんにちは!【でんでん】です!
 以前にtaggerの新モデルの追加方法について記事を書きましたが、実はスタンドアローンで起動出来るリポジトリがあるんですよねェ。

 WEB UI側との相性の問題があったりでスタンドアローン型に需要があると分かったので、サックリ解説していきます。ついでに新型のtaggerモデルへの対応方法も書いておくので、良かったら参考にどうぞ!

前回の記事(WEB UI版の新モデル追加解説)

Taggerをスタンドアローンにする利点

  • WEB UIとの相性が悪い時に使える選択肢として使用する

wd14-taggerにはForgeやAUTOMATIC1111などのWEB UIで機能する拡張機能として公開されたリポジトリがあり、基本的には皆さんこれを使用していると思います。
 ですが、WEB UI側のverやお使いの環境によっては拡張機能が上手く動作しない事があったりします。時にはWEB UIの他の機能ごとおかしくなってしまった事例もあったり。

 現在大丈夫でも、何かの拍子に環境を変更したらTaggerがうまく動作しない!?なんて事もあるかもしれません。そんな時、WEB UI側の環境に影響せず使えるTaggerがあったらいいなぁ……え、使えるの!? 使えます!!!

  • たまにしか使わないので、拡張機能として入れたくない場合

 さらに、taggerなんてめったに使わない! 時々しか使わないし、LoRAを作る時にサクッと使えたらそれで充分……みたいな場合もスタンドアローン版は有用です。
 使用したい時にのみ使えるので、普段使いのWEB UIの拡張機能タブがスッキリ減量できますよ!

wd14-tagger-standaloneをインストール!

 ではさっそく、スタンドアローンバージョンをインストールしてみよう!
 今回使用するリポジトリは以下になります。corkborgニキありがとう!

 じゃあさっそくこのリポジトリを任意のフォルダにgit cloneしましょう。
git cloneってなんだよ!!!っていう人ももしかしたらいると思うので、丁寧に解説していきますね。

 まず、フォルダをどこに入れるか決めましょう。
 今回は『デスクトップ>AI>Tool』というフォルダを作ってそこに入れる事にしました。好きな所に決めて入れましょう。

 次に、その『Tool』フォルダを開いたらアドレスバーの所に「cmd」と入力してエンターを押しましょう。

自分WIN10なので11は違うかも!すまん!

 すると、そのフォルダの名前が入ったコマンドプロンプト画面が出てきます。フォルダ移動コマンド打たなくていいので、便利っすよ。
 ではさっそく、git cloneしていきましょう。

 出てきた黒画面に、以下をコピペしてからエンターを押します。

git clone https://github.com/corkborg/wd14-tagger-standalone

 すると、githubのリポジトリが勝手にダウンロードされます。上のような経過が表示され、再び今開いてるフォルダの名前が出てきたらダウンロード完了です。
 あ!コマンドプロンプト画面はまだ消さないでくださいね。

成功したらこんなフォルダが出来ているはず

 そうしたら、今度は更に必要なファイルをダウンロードしないといけないので、今インストールが終わったフォルダへコマンドプロンプトの現在位置から移動します。
 具体的には、以下を入力してエンターしてください。

cd wd14-tagger-standalone

 成功すれば、以下のようにフォルダ名が長くなっているはずです。
 この画面のまま、次は以下のコマンドをコピペエンターしてください。

python -m venv venv

 これはプロジェクト用の独立したPython環境のための、仮想環境を作成するコマンドです。ちょっと待ってから、何も表示されずにまた次のコマンドを待つ状態に移行するはずです。

 次は以下のコマンドをコピペエンターしてください。

pip install -r requirements.txt

 すると、ダバダバダバダバーーーーッ!と必要なパッケージがインストールされていくはずです。次のコマンドを待つ状態になったらインストール完了なので、コマンドプロンプトを閉じましょう。

インストールはこれで完了です。お疲れさまでした!

使い方

 では実際に使っていきましょう。
 使用にはコマンドプロンプトを使用するのですが、めんどくさいのでbatファイルを作りました。よかったらご使用ください。

@echo off
python run.py --dir ./image --model wd-eva02-large-tagger-v3
pause

 zipファイルをダウンロードしてrun.batをwd14-tagger-standaloneフォルダに配置するか、自分で右クリック→新規作成→テキストドキュメント→新規 テキスト ドキュメント.txtをrun.batに名前変更して、上のコードを内部に貼り付けて保存しなおし……のどっちでも動作します。

 このrun.batコードはwd14-tagger-standaloneフォルダ内に『imageフォルダ』を新たに作り、その中に画像を突っ込んでおいてrun.batをダブルクリックすると動きます。

 コード内容は、『imageフォルダ内に入ってる画像を、wd-eva02-large-tagger-v3モデルで解析してタグをtxtファイルに出力するよ!』というものです。簡単だね!!

 他のモデルを使いたい時は、元リポジトリを参照して『wd-eva02-large-tagger-v3』の部分を変更してください。
 一応以下に対応モデルを引用しておきます。

# SmilingWolf large model. (released 2024)
wd-vit-large-tagger-v3
wd-eva02-large-tagger-v3

# SmilingWolf v3 model. (released 2024)
wd-v1-4-vit-tagger.v3
wd-v1-4-convnext-tagger.v3
wd-v1-4-swinv2-tagger.v3

# SmilingWolf v2 model. (released 2023)
wd-v1-4-moat-tagger.v2
wd14-vit.v2
wd14-convnext.v2

# SmilingWolf v1 model. (released 2022)
wd14-vit.v1
wd14-convnext.v1
wd14-convnextv2.v1
wd14-swinv2-v1

# Z3D-E621-Convnext
z3d-e621-convnext-toynya
z3d-e621-convnext-silveroxides

# kiriyamaX model.
mld-caformer.dec-5-97527
mld-tresnetd.6-30000

 デフォルトだとCPU動作なので、GPUで動かしたい人は以下のpip installコマンドをwd14-tagger-standaloneフォルダで走らせてください。

pip install onnxruntime-gpu --extra-index-url https://aiinfra.pkgs.visualstudio.com/PublicPackages/_packaging/onnxruntime-cuda-12/pypi/simple/

 他、元リポジトリを見て貰えば除外タグの設定や、しきい値の変更に関するコマンドも記載されていますので、詳細な設定を希望の方はそちらをご確認ください。

※新モデルへの対応方法

 リポジトリ元のアニキが更新してくれると思うんですが、アプデが遅くなった時のために書いておきますね。

 モデル対応コードはtaggerフォルダ内の『interrogators.py』というファイルに記述してあります。
 例えば、SmilingWolfアニキがwd-Adam03-large-tagger-v1という新しいモデルを追加した時の対応方法は以下になります。

'wd-adam03-large-tagger-v1': WaifuDiffusionInterrogator(
    'WD Adam03-Large Tagger v1',
    repo_id='SmilingWolf/wd-adam02-large-tagger-v1'
),

 このモデルをrun.batで実行する時は以下のようなコードに変更します。

python run.py --dir ./image --model wd-adam03-large-tagger-v1

 他、新モデルの探し方やリポジトリIDの指定方法などに疎い方は、拙作の以下の記事から『また新モデルが出てきた時の対応方法』の項目に詳細を載せているので良かったらご覧ください。

 以上、超短いんですがtaggerをスタンドアローンで動かす方法についての記事でした!

 よければイイネ&拡散して頂き、ついでに他の記事も読んでいってもらえたら嬉しいです✨

この記事が気に入ったらサポートをしてみませんか?