コマンドラインでQwen-Imageの画像編集を実行(AMD GPU/CPU対応)

この記事は約5分で読めます。
スポンサーリンク

やりたいこと

stable-diffusion.cppを使用してコマンドラインからQwen-Imageの画像編集を実行します。

この画像編集機能はGoogleのNanoBananaと比肩するらしいです。

AMDのGPUでもCPUでも実行可能です。

スポンサーリンク

環境構築

stable-diffusion.cpp

以下のページから自分の環境にあったZipファイルをダウンロードします。

Releases · leejet/stable-diffusion.cpp
Diffusion model(SD,Flux,Wan,Qwen Image,Z-Image,...) inference in pure C/C++ - leejet/stable-diffusion.cpp

AMDのGPUで動かしたい場合はvulkanとつくものかrocmとつくものです。

(基本的にはvulkanでいいと思います。rocmはどうするGPUが限られるはずです。)

NVidiaのGPUはcudaが付くものが対象です。

avx512,avx2,avx,noavxはCPU動作です。お使いのCPUで使用できるavxのバージョンを調べてダウンロードしてください。(私は誤解していたのですがAMDのCPUもAVX使えるようです。どのバージョンが使用できるかはAIに聞いちゃうのが楽です。)

対象のダウンロードしたファイルを任意のフォルダに解凍したら準備完了です。

モデル

以下のページから一つづつ、計3つのモデルをダウンロードしてください。

VaeとLLMのモデルは以下で記事で使用したものと同じです。(Diffusionモデルは別の者なので気を付けてください。)

複数ファイルがあるものに関しては、ファイルサイズが大きいほどメモリが必要で精度がいいです。

環境と相談の上、どのモデルを使用するか決めてください。

私の環境(Ryzen 7 7735HS with Radeon Graphics + メモリ32G)ではQwen_Image_Edit-Q4_0.ggufを使用しました。

diffusion-model(Qwen Image Edit)

QuantStack/Qwen-Image-Edit-GGUF at main
We’re on a journey to advance and democratize artificial intelligence through open source and open science.

vae

Comfy-Org/Qwen-Image_ComfyUI at main
We’re on a journey to advance and democratize artificial intelligence through open source and open science.

llm

mradermacher/Qwen2.5-VL-7B-Instruct-GGUF at main
We’re on a journey to advance and democratize artificial intelligence through open source and open science.
スポンサーリンク

実行

コマンドラインを起動してstable-diffusion.cppを解凍したフォルダに移動します。

以下のコマンドを実行します。(モデルパス部分は使用するmodelのパスに置き換えてください。インプットファイルを入力画像のパスにしてください。)

sd-cli.exe --diffusion-model Diffusionモデルパス --vae VAEモデルパス  --llm llmモデルパス --cfg-scale 2.5 --sampling-method euler  --offload-to-cpu --diffusion-fa --flow-shift 3 -r インプットファイル -p "change eye color to red" --seed -1

./output.pngに入力画像の目が赤くなった画像が生成されれば成功です。

入力画像

出力画像

(上の例ではいい感じだったのですが”Close eyes”のプロンプトだと入力画像がそのまま出力されました。)

オプション(引数)

オプションは以下のページにまとめられています。

stable-diffusion.cpp/examples/cli/README.md at master · leejet/stable-diffusion.cpp
Diffusion model(SD,Flux,Wan,Qwen Image,Z-Image,...) inference in pure C/C++ - leejet/stable-diffusion.cpp

よく使われる基本的なものだけ以下に記載します。

-mモデルのパス
-pプロンプト
-sシード値
ランダムで生成するには-1を指定する。
指定しない場合、毎回同じ画像が生成されるため注意。
-H画像高さ
-W画像幅
--vaeVAEのパス
--stepsステップ。初期値20
モデルによっては少ない数字の方がいいので注意。
(Qwen Imageの公式の例では50でした。)

実行速度

画像の生成速度は以下の通りです。(モデルのロード時間やイテレーション後の時間は含んでいません)

モデル生成時間(s)
stable-diffusion(Vulkan)36
Qwen Image(Vulkan)623
Qwen Image 編集(Vulkan)1683
スポンサーリンク

Qwen Image Edit 2509に関して

Qwen Image Edit 2509のモデルは以下のページにあります。

上記のQwen Image Editの実行コマンドのDiffusionモデルを以下でダウンロードしたモデルのパスに書き換えれことで動作しました。

Comfy-Org/Qwen-Image-Edit_ComfyUI at main
We’re on a journey to advance and democratize artificial intelligence through open source and open science.
公式ドキュメントではQwen Image Edit 2509を実行時に--llm_visionを加えていましたが、この引数を渡すと実行できませんでした。(環境の問題の可能性もありますが)

実行結果

生成時間 : 2034.03s

たまたまかもしれませんがQwen Image Edit 2509では”Close eyes”もいい感じでした。

コメント

タイトルとURLをコピーしました