MarkdownとBullet Journal

いわゆるプログラマーのつぶやき

Stable Diffusion 2.0が5つのモデルで登場

Stable Diffusion 2.0の5つのモデル

本日Stable Diffusionの最新版である2.0が、同時に5つのモデルを公開した。

5つのモデルの種類

  • 512x512の標準モデル(base)
  • 768x768の標準モデル
  • X4拡張モデル
  • depth2img:深度情報が扱えるモデル
  • inpaintingに優れるモデル

5種類の各モデルのDLサイトはこちら:

huggingface.co

 

①②標準モデル(512x512、768x768)

Stable Diffusion2.0は、StabilityAIのサポートを受けてLAIONが開発した新しいテキストエンコーダー(OpenCLIP)を使用してトレーニングされた堅牢なテキストから画像へのモデルが含まれており、以前のV1リリースと比較して生成された画像の品質が大幅に向上。このリリースのテキストから画像へのモデルでは、512 x 512 ピクセルと 768 x 768 ピクセルの両方の既定の解像度で画像を生成できる。

これらのモデルは、Stability AIのDeepFloydチームによって作成されたLAION-5Bデータセットの美的サブセットでトレーニングされ、LAIONのNSFWフィルターを使用してアダルトコンテンツを削除するためにさらにフィルタリングされる。

768x768の画像解像度でStable Diffusion2.0を使用して生成された画像の例

超解像アップスケーラ拡散モデル

Stable Diffusion2.0には、画像の解像度を4倍に向上させるアップスケーラー拡散モデルも含まれている。以下は、低解像度の生成画像(128x128)を高解像度の画像(512x512)にアップスケーリングするモデルの例。テキストから画像へのモデルと組み合わせることで、Stable Diffusion2.0は2048x2048以上の解像度の画像を生成できるようになった。

左:128x128の低解像度画像。右:アップスケーラーで作成した解像度512x512の画像

④Depth-to-Imageの拡散モデル

depth2imgと呼ばれる新しい深度ガイド付き安定拡散モデルは、V1の以前の画像間機能を拡張して、クリエイティブアプリケーションのまったく新しい可能性を提供する。Depth2imgは、(既存のモデルを使用して) 入力画像の深度を推測し、テキストと深度情報の両方を使用して新しいイメージを生成。

左側の入力画像は、いくつかの新しい画像を生成できる(右側)。この新しいモデルは、構造を維持する画像から画像への合成と形状条件付きの画像合成に使用できる

深度から画像までの一貫性を維持

⑤ インペインティング拡散モデル

Stable Diffusion.0ベースのテキストから画像への微調整された新しいテキストガイド付きインペインティングモデルも含まれており、画像の一部をインテリジェントかつ迅速に非常に簡単に切り替えることができる。

インペインティングモデルは、Stable Diffusion2.0 txt2imgモデルで微調整された

ジブリモデル:Ghibli-DiffusionV1, StudioGhibliV4

ジブリモデル

ジブリの絵を学習させたモデルが2つ登場。

①Ghibli-Diffusion

スタジオジブリのアニメ長編映画の画像(15,000枚)でトレーニングされたモデル。プロンプトに" ghibli style"を入力する必要がある。

プロンプト例: ghibli style beautiful Caribbean beach tropical (sunset) - Negative prompt: soft blurry

下記リンクでモデル入手可能:

huggingface.co

実行例

すべてプロンプト:ghibli style beautiful girl、 ネガティブプロンプト:bad anatomy、だけで生成。中々のクオリティだ。

②StudioGhibleV4.ckpt モデル

こちらの方は背景画が優れるようだ。必要なトークンは"studio_ghibli_anime_style"。

下記リンクでモデル入手可能:

huggingface.co

Nijijourney:二次元特化のMidjourney

Nijijourney

Midjourneyの二次元特化サービスであるNijijourneyのベータサインアップが提供されている。

サインアップのリンク先:

https://o9q981dirmk.typeform.com/nijijourney?typeform-source=gigazine.net

申請から1週間程度のウェイティングが過ぎて受付られると下記のメールが届く。

inviteメール

メールにある招待コードでアクセスするとMidjourney同様にNijijourneyが利用出来る。

NijiJourney画面

独特な絵

Stable DiffusionやWaifu、NovelAI DIffusionとはまた異なった、Midjourneyらしさを感じる風合いだ。

二次創作向け?

既存キャラの名前を入力すると、ほぼそのままの絵が出てくる。Nijiは二次創作の頭文字かもしれない。

プロンプト:Nezuko Kamado のみ

Adobe,Google,NVIDIAのAI画像生成ツール

各社から発表

Adobe,Google,NVIDIAの各社からAI画像生成ツールの発表があり、いずれも近日中に利用できる見込み。

Adobe - Creative Cloudに追加

Adobeは10月19日、クリエイター向けの画像生成AIを開発すると発表。倫理や法律面などをクリアにした画像生成AIツールの提供でクリエイターが正当な利益を得られる仕組みの構築を目指すとのこと。

Adobe情報のサイト:

venturebeat.com

Google - Imagen

Googleの画像生成AIのImagenが一部試せるようになる。まだまだ慎重だが、使える日は近そうだ。

Imagenのサイト:

imagen.research.google

NVIDIA - eDiffi

NVIDIAがDALL-E2やStable Diffusionを超える最高性能の画像生成AとするeDiffiを発表した(11/2)。比較は以下の通りで確かに記載した文章に最も合致する映像が作成できている。

eDiffiのサイト:

deepimagination.cc

二次元絵・アニメモデルが次々と登場

AnythingV3.0、EimisAnimeDiffusion、Evt_V2、Evt-V3、HD-17、デリダ、Elysium、ACertainModel、ACertainThing、8528d-final

記事の最後に各モデルのダウンロード先と利用方法をまとめた。

ハイレベルな二次元の絵が作成できるモデルが次々と登場している。高杉さんのツイッターによるとAnythingV3.0、EimisAnimeDiffusionはハイパーネットワークの掛かり方からルーツはNovelAIだろうと推察されている。

高杉さんの比較一覧

新登場のモデルの違い

10月までに登場していたアニメモデルは以下の通り

  • Waifu Diffusion
  • Trinart Diffusion
  • NovelAIDiffusion

NovelAIDiffusionが一歩抜きん出ているが、最近のネガティブプロンプトの研究によりWaifuやTrinartもクオリティの高い絵が生成出来る様になってきた。それらに対して最近登場したモデルはいずれもNovelAIDiffusionを参考やベースにしており背景が派手になるようだ。

  • AnythingV3.0は手の表現が良くなることが多い
  • EimisAnimeDiffusionはさらに背景が詳細に描かれることが多い
  • Evt_V2は構図の自由度が上がるようだ
  • HD-17はHENTAI Diffusionという名前だが反して可愛らしい絵が出る
  • デリダモデルはTrinartオリジナルから二次創作に振ったモデル
  • Elysiumは強力なモデル、背景描画性などが評価されている(Animeモデル)
  • ACertainModelは、Laionの悪影響を回避すべくSD1.2ベースで学習
  • ACertainThingは、上記のAnythingV3.0版
  • 8528d-finalは、852話さんが作った独自モデル

AnythingV3.0、Evt_V2、NovelAIの比較

NovelAI、Evt_V2、Evt_V3の比較

HENTAI Diffusion 17、ダリダ、Waifu1.3の比較

HENTAI Diffusion 17、デリダモデルの比較

HENTAI Diffusion 17の作例

デリダモデルの作例

NovleAI, Anything, Elysiumの比較

NovleAI, Anything, EimisAnimeDiffusion、HD-17、Elysiumの比較

NovleAI, Anything, EimisAnimeDiffusion、HD-17、Elysiumの比較

 

各モデルのcolabでの利用方法

過去記事のcolabノートで実行する例に従って説明する。

programmingforever.hatenablog.com

  1. それぞれの各モデルを所定のGoogleDriveのフォルダに保存する(/modelsなど)
  2. VAEが明記されているものは合わせて保存する
  3. それぞれ記載の内容でノートを修正して実行
  4. アレンジで複数のモデルやVAEを入れると、動的にモデルやVAEが切替可能になる(メモリに注意)
  5. いずれもネガティブプロンプトの利用が望ましい。標準のネガティブプロンプトを記載する。

※標準的なネガティブプロンプト:mutated hands and fingers, text, title, deformed, bad anatomy, disfigured, poorly drawn face, mutation, mutated, extra limb, ugly, poorly drawn hands, missing limb, floating limbs, disconnected limbs, malformed hands, out of focus, long neck, long body

 

①AnythingV3.0の利用:

  • Anything-V3.0.ckptと、Anything-V3.0-pruned.ckpt (VAE)をダウンロードする(huggingface.co)

colabノート:以下4つのコードセルを順に実行すると指定モデルでAUTOMATIC1111が起動する

# ①GoogleDriveをマウントする
from google.colab import drive
drive.mount('/content/drive')
# ②実行コードのロード (wgetなど不要な3行目以降を割愛)
!git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui
%cd stable-diffusion-webui
# ③GoogleDriveからモデルやVAEをコピー
!cp /content/drive/MyDrive/models/Anything-V3.0.ckpt /content/stable-diffusion-webui/models/Stable-diffusion/
!cp /content/drive/MyDrive/models/Anything-V3.0-pruned.ckpt /content/stable-diffusion-webui/models/VAE/
# ④実行コマンド
!COMMANDLINE_ARGS="--share --gradio-debug --gradio-auth me:qwerty" REQS_FILE="requirements.txt" python launch.py

②EimisAnimeDiffusionの利用:

  • EimisAnimeDiffusion_1-0v.ckptをダウンロードする(huggingface.co)
  • VAEを利用する場合は追加: 'kl-f8-anime2.ckpt' from Waifu Diffusion (https://huggingface.co/hakurei/waifu-diffusion-v1-4/tree/main/vae)、または①でも使用した'Anything-V3.0-pruned.ckpt'のどちらかを指定。モデルのルーツを考えると'Anything-V3.0-pruned.ckpt'の方がマッチすると思われる。

colabノート:以下4つのコードセルを順に実行すると指定モデルでAUTOMATIC1111が起動する

# ①GoogleDriveをマウントする
from google.colab import drive
drive.mount('/content/drive')
# ②実行コードのロード (wgetなど不要な3行目以降を割愛)
!git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui
%cd stable-diffusion-webui
# ③GoogleDriveからモデルやVAEをコピー
!cp /content/drive/MyDrive/models/EimisAnimeDiffusion_1-0v.ckpt /content/stable-diffusion-webui/models/Stable-diffusion/
# VAEを追加(動的にVAEを切替可能)
!cp /content/drive/MyDrive/models/kl-f8-anime2.ckpt /content/stable-diffusion-webui/models/VAE/
!cp /content/drive/MyDrive/models/Anything-V3.0-pruned.ckptt /content/stable-diffusion-webui/models/VAE/
# ④実行コマンド
!COMMANDLINE_ARGS="--share --gradio-debug --gradio-auth me:qwerty" REQS_FILE="requirements.txt" python launch.py

③Evt_V2 / Evt_V3の利用:

  • evt_v2-ema-pruned.ckptをダウンロードする場合(huggingface.co)
  • Evt_V3_ema.ckptをダウンロードする場合(huggingface.co)
  • VAEを利用する場合は追加: 'kl-f8-anime2.ckpt' from Waifu Diffusion (https://huggingface.co/hakurei/waifu-diffusion-v1-4/tree/main/vae)、または①でも使用した'Anything-V3.0-pruned.ckpt'のどちらかを指定。モデルのルーツを考えると'Anything-V3.0-pruned.ckpt'の方がマッチすると思われる。

colabノート:以下4つのコードセルを順に実行すると指定モデルでAUTOMATIC1111が起動する

# ①GoogleDriveをマウントする
from google.colab import drive
drive.mount('/content/drive')
# ②実行コードのロード (wgetなど不要な3行目以降を割愛)
!git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui
%cd stable-diffusion-webui
# ③GoogleDriveからモデルやVAEをコピー
!cp /content/drive/MyDrive/models/evt_v2-ema-pruned.ckpt /content/stable-diffusion-webui/models/Stable-diffusion/
# VAEを追加(動的にVAEを切替可能)
!cp /content/drive/MyDrive/models/kl-f8-anime2.ckpt /content/stable-diffusion-webui/models/VAE/
!cp /content/drive/MyDrive/models/Anything-V3.0-pruned.ckpt /content/stable-diffusion-webui/models/VAE/
# ④実行コマンド
!COMMANDLINE_ARGS="--share --gradio-debug --gradio-auth me:qwerty" REQS_FILE="requirements.txt" python launch.py

④HENTAI Diffusion 17の利用:

colabノート:以下4つのコードセルを順に実行すると指定モデルでAUTOMATIC1111が起動する

# ①GoogleDriveをマウントする
from google.colab import drive
drive.mount('/content/drive')
# ②実行コードのロード (wgetなど不要な3行目以降を割愛)
!git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui
%cd stable-diffusion-webui
# ③GoogleDriveからモデルやVAEをコピー
!cp /content/drive/MyDrive/models/HD-17.ckpt /content/stable-diffusion-webui/models/Stable-diffusion/
!cp /content/drive/MyDrive/models/kl-f8-anime2.ckpt /content/stable-diffusion-webui/models/VAE/
# ④実行コマンド
!COMMANDLINE_ARGS="--share --gradio-debug --gradio-auth me:qwerty" REQS_FILE="requirements.txt" python launch.py

※実行時にネガティブプロンプトにダウンロードしたUniversal Negative Prompt Text.txtのテキストをコピペする

デリダモデルの利用:

  • モデル:derrida_final.ckptと、VAE:autoencoder_fix_kl-f8-trinart_characters.ckptをダウンロードする(huggingface.co)

colabノート:以下4つのコードセルを順に実行すると指定モデルでAUTOMATIC1111が起動する

# ①GoogleDriveをマウントする
from google.colab import drive
drive.mount('/content/drive')
# ②実行コードのロード (wgetなど不要な3行目以降を割愛)
!git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui
%cd stable-diffusion-webui
# ③GoogleDriveからモデルやVAEをコピー
!cp /content/drive/MyDrive/models/derrida_final.ckpt /content/stable-diffusion-webui/models/Stable-diffusion/
!cp /content/drive/MyDrive/models/autoencoder_fix_kl-f8-trinart_characters.ckpt /content/stable-diffusion-webui/models/VAE/
# ④実行コマンド
!COMMANDLINE_ARGS="--share --gradio-debug --gradio-auth me:qwerty" REQS_FILE="requirements.txt" python launch.py

⑥Elysiumの利用:

3つモデルがあり、アニメモデルのElysium_Anime_V2.ckptが良さそうだ。

  • Elysium_Anime_V1.ckpt
  • Elysium_Anime_V2.ckpt
  • Elysium_V1.ckpt

huggingface.co

汎用モデル:Elysium_V1.ckptを使う場合:

  • Clip skip 1
  • VAE利用が望ましい: 'vae-ft-mse-840000' from StabilityAI (https://huggingface.co/stabilityai/sd-vae-ft-mse-original/tree/main)
  • Sampler: DPM++ 2M Karras
  • ネガティブプロンプト:以下を使用:Negative prompt: lowres, bad anatomy, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts, signature, watermark, username, blurry

アニメモデル:Elysium_Anime_V1.ckpt、Elysium_Anime_V2.ckptを使う場合:

  • Clip skip 1 (2でもよい)
  • VAE利用が望ましい: 'kl-f8-anime2.ckpt' from Waifu Diffusion (https://huggingface.co/hakurei/waifu-diffusion-v1-4/tree/main/vae)
  • Sampler: DPM++ 2M Karras
  • プロンプトに追加:booru
  • ネガティブプロンプト:以下を使用:Negative prompt: lowres, bad anatomy, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts, signature, watermark, username, blurry

colabノート:以下4つのコードセルを順に実行すると指定モデルでAUTOMATIC1111が起動する

# ①GoogleDriveをマウントする
from google.colab import drive
drive.mount('/content/drive')
# ②実行コードのロード (wgetなど不要な3行目以降を割愛)
!git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui
%cd stable-diffusion-webui
# ③GoogleDriveからモデルやVAEをコピー
!cp /content/drive/MyDrive/models/Elysium_Anime_V2.ckpt/content/stable-diffusion-webui/models/Stable-diffusion/
!cp /content/drive/MyDrive/models/kl-f8-anime2.ckpt /content/stable-diffusion-webui/models/VAE/
# ④実行コマンド
!COMMANDLINE_ARGS="--share --gradio-debug --gradio-auth me:qwerty" REQS_FILE="requirements.txt" python launch.py

⑦ACertainModelの利用:

  • ACertainModel.ckptと、animevae.pt(VAE、無ければ)をダウンロードする(huggingface.co)

colabノート:以下4つのコードセルを順に実行すると指定モデルでAUTOMATIC1111が起動する

# ①GoogleDriveをマウントする
from google.colab import drive
drive.mount('/content/drive')
# ②実行コードのロード (wgetなど不要な3行目以降を割愛)
!git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui
%cd stable-diffusion-webui
# ③GoogleDriveからモデルやVAEをコピー
!cp /content/drive/MyDrive/models/ACertainModel.ckpt /content/stable-diffusion-webui/models/Stable-diffusion/
!cp /content/drive/MyDrive/models/animevae.pt /content/stable-diffusion-webui/models/VAE/
# ④実行コマンド
!COMMANDLINE_ARGS="--share --gradio-debug --gradio-auth me:qwerty" REQS_FILE="requirements.txt" python launch.py

⑧ACertainThingの利用:

  • ACertainThing.ckptと、animevae.pt(VAE、無ければ)をダウンロードする(huggingface.co)

colabノート:以下4つのコードセルを順に実行すると指定モデルでAUTOMATIC1111が起動する

# ①GoogleDriveをマウントする
from google.colab import drive
drive.mount('/content/drive')
# ②実行コードのロード (wgetなど不要な3行目以降を割愛)
!git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui
%cd stable-diffusion-webui
# ③GoogleDriveからモデルやVAEをコピー
!cp /content/drive/MyDrive/models/ACertainThing.ckpt /content/stable-diffusion-webui/models/Stable-diffusion/
!cp /content/drive/MyDrive/models/animevae.pt /content/stable-diffusion-webui/models/VAE/
# ④実行コマンド
!COMMANDLINE_ARGS="--share --gradio-debug --gradio-auth me:qwerty" REQS_FILE="requirements.txt" python launch.py

⑨8528d-finalの利用:

  • 8528d-final.ckptをダウンロードしてGoogleDriveに保存する

huggingface.co

colabノート:以下4つのコードセルを順に実行すると指定モデルでAUTOMATIC1111が起動する

# ①GoogleDriveをマウントする
from google.colab import drive
drive.mount('/content/drive')
# ②実行コードのロード (wgetなど不要な3行目以降を割愛)
!git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui
%cd stable-diffusion-webui
# ③GoogleDriveからモデルをコピー
!cp /content/drive/MyDrive/models/8528d-final.ckpt /content/stable-diffusion-webui/models/Stable-diffusion/
# ④実行コマンド
!COMMANDLINE_ARGS="--share --gradio-debug --gradio-auth me:qwerty" REQS_FILE="requirements.txt" python launch.py

※実行に際してはDLサイトにある説明を参考

StableRes:Stable Diffusionのモデルなどのカタログ

StableRes

日々増えていくStable Diffusionのモデルや有益なツールを一覧化してダウンロード出来る便利なサイト。必要とするものをクリックするとモデルなどのダウンロードが行えるなど便利。但し毎日の様に新モデルが登場するのでリストの更新が遅れる場合もある。

リンク先:

StableRes.info

Civitai

主にDreamboothで作られたモデルを同様に用意しているサイト。すでに膨大なモデルがある。

リンク先:

civitai.com

その他多数存在するモデル一覧サイト

①Stable Diffusion Models

rentry.org

②Torrent検索

https://bt4g.org/search/ckpt/1

Gigazine記事

gigazine.net

④二次元モデル紹介記事

以上のサイトでもカバーし切れない勢いで次々とモデルが登場している。最近の二次元モデルだけを取り上げた過去記事

programmingforever.hatenablog.com

ジブリモデル紹介記事

programmingforever.hatenablog.com

DreamArtistをcolabで使う

1枚の絵だけで学習するDreamArtist

複数枚の絵で学習させるDreamBoothに対して1枚の絵だけで学習できるDreamArtistが登場した。AUTOMATIC1111で使えるとのことなので早速Google colabで試してみた。

DreamArtistとは

必要なファイルをDL出来るサイトは以下の通り。

github.com

DreamArtistは、1つのトレーニング画像でコンテンツとスタイルを学習し、制御性の高い多様な高品質の画像を生成します。 DreamArtist の埋め込みは、追加の説明や 2 つの学習した埋め込みと簡単に組み合わせることができます。

イメージ図。元画像のキャラが再現できている。

DreamArtistの例

Texture Inversion, DreamBooth,との比較(いずれも学習は1枚のみ)

3方式の比較

Imagicとの違い

同様に1枚の絵だけで学習するツールとしてImagicがある。下に実証記事を示す。

programmingforever.hatenablog.com

Imagicは絵とプロンプトをセットで学習させる方式で、絵のレイアウトもほぼ固定となる(プロンプトで指定した部位は異なる)。またプロンプトとのセットで都度モデルを作る方式なのでバリエーションの作業効率は悪く、DreamArtistの方が総合的に優れていると判断する。

実証手順

※記事の最後に学習用と実行用のノートをまとめている。

①colabでAUTOMATIC1111を使う準備

まずcolabでAUTOMATIC1111を動かす準備をする。モデルは何でも良いが今回はAnything-V3.0を使った。利用方法の解説記事はこちら。

programmingforever.hatenablog.com

Anything-V3.0は下記のサイトなどからckptとVAEをダウンロードする。

StableRes.info

ckptとVAE.ptのモデルの利用方法は下記参照(ファイル名を合わせる)。

programmingforever.hatenablog.com

②ノートブックを修正して実行

colabでAUTOMATIC1111を起動すると、エクステンションタブで色々と選べる様になっており、DreamArtistも存在している。しかしここで選択してもcolabの場合はエラーになってしまうので使えない。

エクステンション選択画面(しかしエラーになる)

そこでノートブックを編集する。先ほども例に挙げたノートブックに、エクステンションのダウンロードを追加する。例に示したノートブックを利用する場合、下記の様にコードセルを修正する。

追記は、DreamArtistのGitHubから、colabのエクステンションフォルダにロードするコマンドのみ。

# %cd stable-diffusion-webui
!git pull

# %cd stable-diffusion-webui
!git pull
!git clone https://github.com/7eu7d7/DreamArtist-sd-webui-extension.git /content/stable-diffusion-webui/extensions/DreamArtist

これで順番にコードセルを最後まで実行すると、DreamArtistのタブが出ているのが確認できる。

DreamArtinstのタブ

③トレーニング(1)

まずモデルとなる絵を1枚用意する。今回は下記を使用する。

DreamArtistで訓練させる絵(1枚のみ)

次にプロンプトとネガティブプロンプトの埋め込みを inTab で作成する。名前を適当に付けて(この例ではtest1)、修飾対象を記載し(この例ではgirl)、後は図の通りにセットして「create embedding」を押す。

④トレーニング(2)

引き続き下記を順に設定して訓練を開始する。

  • まず「DreamArtist train」のタブを選ぶ
  • Embeddingに先ほど付けた名前を入力(test1など)
  • Embedding learning rate:0.003
  • Hypernetwork leaning rate:0.00001
  • Train with DreamArtistにチェック
  • Train with Reconstructionのチェックを外す(注意!)
  • Dataset directoryを指定する:例:/content/drive/MyDrive/work/Dream/
  • その指定したフォルダに先ほどの画像を1枚入れる
  • Max stepsに学習させたいステップ数を入れる。500ステップで10分程度。例えば1000など。ステップ数が増えればより精度が高まる(と思われる)。長すぎた場合は中断も可能(途中まで行った学習は残る)。
  • 「Train Embedding」ボタンクリックで訓練開始

これでDreamArtistの学習は完了。

④実行

実行は普段通りのtxt2imgなどを行うと自動的に反映される。なおプロンプトに指定した「girl」と「by test1」が必要。すると図の様に同じキャラが描かれる。生成メッセージを見るとDreamArtistで訓練したEmbeddingを使っているメッセージが出ている(一番最後の行)。

一番下に used embedding test1 が表示

生成された絵を掲載する。

学習データの保存

DreamArtinstは、指定したname(ファイル名)とinitialization text(girlなどの汎用名称)を入れて学習すると、/content/stable-diffusion-webui/embeddings/に、「ファイル名.pt」と「ファイル名-neg.pt」の2つのTextual Inversion方式のファイルが作られる。

※例:name(ファイル名)がtest2の場合、test2.ptとtest2-neg.ptの2つが作られる。

学習データは/dream_artistフォルダにあり、利用する「ファイル名.pt」と「ファイル名-neg.pt」は/embeddingsフォルダに入っている

学習データの保存:

保存は、/content/stable-diffusion-webui/embeddings/フォルダに入っている、「ファイル名.pt」と「ファイル名-neg.pt」を保存する。

学習データの利用:

利用時はTextual Inversion同様に、/content/stable-diffusion-webui/embeddings/フォルダに「ファイル名.pt」と「ファイル名-neg.pt」を格納する。

プロンプトにname(ファイル名)を入力すると作動する。正しく使用された場合はログに「Used embeddings: ファイル名 [****]の表記が出る。

(例:initialization text:girl、name(ファイル名):test2で学習した場合:「girl」と「test2」が必要)

 

まとめ:ノート①DreamAction学習用:

# ①GoogleDriveをマウント
from google.colab import drive
drive.mount('/content/drive')
# ②AUTOMATIC1111をclone、DreamActionをclone
!git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui
%cd stable-diffusion-webui
!git clone https://github.com/7eu7d7/DreamArtist-sd-webui-extension.git /content/stable-diffusion-webui/extensions/DreamArtist
# ③GoogleDriveからモデルとVAEを所定の場所にコピー(Anything3.0)
!cp /content/drive/MyDrive/models/Anything-V3.0.ckpt  /content/stable-diffusion-webui/models/Stable-diffusion/
!cp /content/drive/MyDrive/models/Anything-V3.0-pruned.ckpt /content/stable-diffusion-webui/models/VAE/
# ④推論実行
!COMMANDLINE_ARGS="--share --gradio-debug --gradio-auth me:qwerty" REQS_FILE="requirements.txt" python launch.py

 

まとめ:ノート②DreamActionのTI利用:

# ①GoogleDriveをマウント
from google.colab import drive
drive.mount('/content/drive')
# ②AUTOMATIC1111をclone
!git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui
%cd stable-diffusion-webui
# ③GoogleDriveからモデル、VAE、学習データを所定の場所にコピー(Anything3.0)
# 学習データは/content/drive/MyDrive/work/embeddings/にあるものとする
!cp /content/drive/MyDrive/models/Anything-V3.0.ckpt  /content/stable-diffusion-webui/models/Stable-diffusion/
!cp /content/drive/MyDrive/models/Anything-V3.0-pruned.ckpt /content/stable-diffusion-webui/models/VAE/
!cp -r /content/drive/MyDrive/work/embeddings/ /content/stable-diffusion-webui/
# ④推論実行
!COMMANDLINE_ARGS="--share --gradio-debug --gradio-auth me:qwerty" REQS_FILE="requirements.txt" python launch.py