Diffusers0.27.0とAnimaginXL-3.1を試す
先週、Diffusersが0.27.0にバージョンアップしました。さらに好評のAnimaginモデルに3.1が出てきましたので試しました。0.27.0で追加された機能がありますが、まずは旧バージョンとの比較を行いました。AnimaginXLについても2.0との比較を行っています。なお、動作確認は以下の記事のDiffusersPipelineManagerとAPIサーバで行いました。
変更箇所
Difuusers0.27.0へのバージョンアップ
仮想環境をクローンして27用の仮想環境を準備します。その上で以下のアップデートを実施します。
pip install --upgrade diffusers
とくに問題なくアップデートは完了します。
AnimaginXL-3.1
DiffusersPipelineManagerではダウントードしたsafetenser形式のモデルをロードするために、Pipelineオプションをfrom_single_fileを用いいています。AnimaginXL-3.1ではhuggingfaceにsafetenser以外にも関連ファイルが有るので自動ダウンロードを有効にします。変更配下の部分です。variant="fp16"はサポート指定して以内とのメッセージが出るので無効にしています。
#pipe = StableDiffusionXLPipeline.from_single_file(
pipe = StableDiffusionXLPipeline.from_pretrained( #<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<For animagine-xl-3.1<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
model,
#variant="fp16", #<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<For animagine-xl-3.1<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
api_sdxl_v1_1_server.pyのモデル指定をAnimaginXL-3.1に変更します。
#model="./models/animagine-xl-2.0/animagine-xl-2.0.safetensors"
model="cagliostrolab/animagine-xl-3.1"
プロンプトとseed
プロンプトは2.0同様に以下のとおりです。
"masterpiece, best quality, 1girl, solo, flower, long hair, outdoors, letterboxed, school uniform, day, sky, looking up, short sleeves, parted lips, shirt, cloud, black hair, sunlight, white shirt, serafuku, upper body, from side, pink flower, blurry, brown hair, blue sky, depth of field",
freeu設定=[0.9, 0.2,1.2,1.4],
guidance_scale=1.0,
strength=0.1,
num_inference_steps=4,
seedは0と4で行いました。
AnimaginXL2.0と3.1の比較
Diffusers0.25.0
妙にリアルに振れています。精度は大きく向上しているようです。
Diffusers0.26.0
画風が変わってしまいました。
3.1はリアル寄りになるのが気持ち悪いのでAnime化します。プロンプトに"anime"を追加しました。確かにアニメ風に変わりました。
風景の精度が上がり、セーラー服の破綻もありません。構図も向上しています。
Diffusers0.27.0
AnimaginXL2.0モデルなのですが、0.25.0とも、0.26.0とも違う絵が生成され
れいます。
AnimaginXL2.0とAnimaginXL3.1
seed=4で比較
AnimaginXL2.0
AnimaginXL3.1
まとめ
簡単なテストでしたが、AnimaginXL3.1が大きく改良されていることがわかります。Diffusers0.27.0へのバージョンアップはAnimaginXL3.1では影響はなく、AnimaginXL2.0では0.25.0→0.26.0のときよりも変化は少ないものの、生成画像が変化しています。