- StableDiffusionWebUI1.6の追加要素
- WebUIバージョンアップ方法
こんにちは、「学びが人生を豊かにする」をテーマに本日は「StableDiffusionVer1.6」についてです。
2023年9月に入りStableDiffusionWebUIのメジャーバージョンアップが入りVer1.6になりました。
既にStableDiffusionバージョン1.5を使用している人はVer1.6にバージョンアップしたほうが良いのか気になる人も多いかもしれません。
本記事ではStableDiffusionWebUIバージョン1.6で何が追加されたのか、簡単に紹介したいと思います。
合わせてWebUIのバージョンアップ方法も解説するので、是非参考にしていただければと思います。
今から新しく始める場合には、最新のStableDiffusionWebUIをインストールする方法は従来と変わらないので下記記事を参考に最新版をインストールしてみてください。
StableDiffusionWebUI Ver.1.6追加情報
2023年8月31日にAUTOMATIC1111版StableDiffusionWebUIがVer1.6にアップデートされました。
詳細は公式のGitHubリリースノートを確認していただければと思いますが、Ver1.6での個人的な重要要素を紹介したいと思います。
主要な追加要素
StableDiffusionWebUI Ver1.6での主な追加要素は以下の通りです。
- リファイナーサポート
- 乱数ジェネレーターのソース設定にNVオプションを追加し、CPU/AMD/MacでもNVIDIAビデオカードと同様の画像生成が可能
- スタイルエディタダイアログの追加
- 2回目のパスで異なるチェックポイントを使用するオプションを追加
- メモリ内に複数のロードモデルを保持するオプションを追加
- 新しいサンプラーの導入
- k-拡散サンプラーと同様のCFGデノイザーを使用するDDIM、PLMS、UniPCの再構築:これによりimg2imgでの動作、プロンプト構成(AND)、SDXLでの使用が可能
- UIで常に追加のネットワークタブを表示
- モデル作成時のRAM使用量を削減
- SDXLのテキスト反転推論(textual inversion)のサポート
- 追加のネットワークUI:SDチェックポイントのメタデータ表示
- チェックポイントマージャー:メタデータサポートの追加
- プロンプト編集と注意:数字の後に空白をサポート
- VAE:各チェックポイントごとに独自のVAEを選択可能
- VAE:選択したVAEを情報テキストに追加
- メインUIのオプション:txt2imgとimg2imgにそれぞれ独自の設定を追加し、貼り付けられた情報テキストからの値の正確な読み取りと列数設定の追加
- txt2imgとimg2imgタブにサイズ変更ハンドルを追加し、生成パラメータと結果の画像ギャラリーに割り当てられる水平スペース量を変更可能
- cond/uncondのバッチ処理のデフォルト動作を変更:現在はデフォルトでオンになっており、UI設定(最適化 -> バッチcond/uncond)で無効化可能
- キュー内の現在位置を表示し、リクエストが到着順に処理
- SDXLモデル専用に–medvramを有効化する–medvram-sdxlフラグの追加
- プロンプト編集タイムライン:最初のパスと高解像度修正パスの範囲が異なる
リファイナーなどVer1.5では対応しきれていなかったSDXL系のサポートが充実している印象です。
メモリ削減など内部処理についても効率化が図られており、SDXLを使用しない場合でもメリットは多そうですね。
SDXL系サポート以外の大きい要素としてはサンプラーの追加があり、新しく7種類のサンプラーが追加されました。
また画面UIもいくつか変更されており、リファイナーのUI追加だけでなくLoraなどのネットワークがタブ化されたりしています。
SDXLサポートの充実
SDXL系のサポートとして重要なリファイナーサポートが今回のバージョンから追加されました。
リファイナーとはSDXLの重要な要素の一つで、BASEモデルで生成した画像をRefinerモデルで再生成することで品質を上げる技術です。
Ver1.5のWebUIではリファイナーはサポートされていませんでしたが、Ver1.6ではリファイナーを指定することが出来るようになりました。
これによってSDXL本来のパフォーマンスをStableDiffusionWebUIでも実現できるようになったと言えそうです。
その他にもSDXL用のtextual inversionや起動オプション(–medvram-sdxlフラグ)追加など細かい部分でも機能が追加されています。
Ver1.5でもSDXLを使用できましたが、微妙に物足りない部分があったため、今回のバージョンアップでかなり改善したように思います。
既存機能の改善
既存機能の改善として一番大きい要素はサンプラーの追加でしょう。
Ver1.5まででもサンプラーはかなりの種類がありましたが、さらに新規に以下のサンプラーが追加されました。
- DPM++ 2M SDE Exponential
- DPM++ 2M SDE Heun
- DPM++ 2M SDE Heun Karras
- DPM++ 2M SDE Heun Exponential
- DPM++ 3M SDE
- DPM++ 3M SDE Karras
- DPM++ 3M SDE Exponential
サンプラーは必ずしも新しいメソッドが性能の良いメソッドであるとは限らず、モデルやステップ数による違いだけでなく好みによる部分もあります。
そのため一概に新しいバージョンを選択したほうが良いとは言えないため、是非自分のモデルで試してみてください。
その他にも、メモリ削減など全体的にパフォーマンスが向上する改修がされています。
また、VAE情報を出力結果のメタデータ情報に追加するなど、細かい部分でも使いやすさが改善されました。
画面UI
画面UI系では大きく二つのインタフェース修正があります。
一つ目がリファイナー用のUIが追加されたことです。
合わせてHires.fixなどがチェックボックスからコンテンツ開閉式のアコーディオンブロックになりました。
また、Loraなどのエキストラネットワークのモデル選択が「Generate」ボタン下の花札ボタンからタブ選択になっています。
機能としては基本的には変わりはありませんが、従来よりも直感的に画面切り替えが出来、また表示速度なども改善しているように思います。
WebUIバージョンアップ方法
最新のStableDiffusionWebUIにバージョンアップする方法について解説します。
バージョンアップすることで、先ほど説明したような追加機能を使えるようになりますが、一方で一部拡張機能が対応していないこともあります。
また最新バージョンはバグなども発生しやすいため、アップデートすべきかどうかは事前によく検討したうえで実施すると良いでしょう。
また、アップデート後に拡張機能が動作しなかった場合など古いバージョンに戻したい場合もあると思うので、切り戻し方法についても事前に把握しておきましょう。
なお、本記事で解説するのはGitを使用してWindowsローカル環境にWebUIをインストールした環境でのバージョン変更方法です。
Dockerを使用した場合や、クラウド環境(Colab)にインストールした場合は、別の方法となるため注意してください。
StableDiffusionWebUIのバージョン変更
バージョンアップ方法
バージョンアップ方法はGitを使用している場合、非常にシンプルかつ簡単です。
まずはWebUIをインストールしているフォルダを開き、右クリックメニューから「Git Bash Here」を選択してください。
他にもプロンプトなどのCUIから該当ディレクトリにカーレントを移動するという方法でも構わないので、gitコマンドを打てる状態にします。
次に下記コマンドを入力してエンターを押してください。
$ git pull
「git pull」コマンドは、gitリポジトリにある最新のソースコードを取得することができます。
デフォルトでは最新(master)ブランチと連携しているため、git pullコマンドで現在の最新であるver1.6.0のソースにローカルが更新されます。
この状態で「webui-user.bat」を実行することで最新バージョンでStableDiffusionWebUIが起動します。
起動時のスクリプトに「Version: v1.6.0」と表示されればOKです。
初回起動時には実行に必要なリソースを自動ダウンロードするため、ある程度時間がかかるのでしばらく待ちましょう。
またVer1.6からはブラウザ自動起動がデフォルトになるため、無事インストールできていれば勝手にUIが立ち上がります。
バージョンを戻す方法
拡張機能を色々と導入していると、最新のStableDiffusionWebUIに対応していない場合などもあります。
そのようなバージョンを元に戻したいときに備えてバージョンを元に戻す方法についても事前に確認しておきましょう。
バージョンを元に戻す方法もいくつかあるかと思いますが、ここではcheckoutコマンドを使用する方法を紹介したいと思います。
事前準備としてどのバージョンに戻したいのか「commit hash」を確認しておいてください。
「commit hash」はバージョンのハッシュ値ですが、WebUI起動時に表示される下記画像の赤線部分のランダムな文字列の部分です。
アップデートする前に現在のバージョンでWebUIを起動して、このcommit hashの文字列をコピーしておきましょう。
次は実際にバージョンアップ後に元のバージョンに戻す手順についてです。
まずは、バージョンアップ実施時と同じように「Git Bash Here」からCUIを開いてください。
次に下記のコマンドを打ち込んでエンターボタンを押してください。
$ git checkout [コピーしたhash値]
例:git checkout f865d3e11647dfd6c7b2cdf90dde24680e58acd8
上記コマンドを実行することで元のバージョンにソースが戻るので、ここから「webui-user.bat」を実行すると元のバージョンで起動します。
なお、上記コマンドを実行するとローカルブランチが該当バージョンに切り替わった状態になります。
そのため、最新バージョンにしたい場合にはcheckoutコマンド(git checkout master)を使用してブランチを切り替えるのを忘れないようにしましょう。
まとめ
本記事ではStableDiffusionWebUIの2023年9月最新版(ver.1.6)について、更新情報の紹介を行いました。
また、バージョンアップ方法についても切り戻し方法含めて紹介をしています。
今回のWebUIバージョンアップの主な改修点はSDXL系のサポート充実化と既存機能の一部強化になります。
既存機能についてはサンプラーの追加やメモリ効率化などです。
一方でSDXL系は今まで対応していなかったリファイナーが対応されており、SDXL系をメインで使用する場合には重要なバージョンアップでしょう。
拡張機能などの対応状況によってバージョンアップすべきかは人に依るかと思いますが、SDXLを使用する場合は是非バージョンアップすることをおススメめします。
本記事を参考にStableDiffusionWebUIv1.6にバージョンアップするかどうか是非検討してみてください。