見出し画像

【SD.Next】の導入方法と所感【vladmandic/automatic】

はじめに




 これまで、私のAIイラストは主に Stable Diffusion AUTOMATIC1111 を使用して作成してきました。

 以前メインで更新していた FANBOX 及び、この note の記事は、そもそも ローカル版 Stable Diffusion AUTOMATIC1111 を前提としています。


 しかし、最近どうにも 私の環境では Stable Diffusion AUTOMATIC1111 の動作が不安定になってしまいました。

 アップデートをかけると謎のエラーで起動できなくなったり、クリーンイストールしても4日後にまたエラーで動かなくなったり。
 もう一度クリーンインストールしたものの、今度はイラストの生成速度が以前の倍近くかかるようになってしまいました。

 もしかすると、よくわからないまま色々と対抗策を講じた結果、間違った操作をしてしまったのかもしれません。


 とはいえ、生成速度の鈍化は、何とかお金を工面してグラボを買い替えた私にとっては看過しがたい遅さでした。

 そのため、4月ごろに一度話題になったフォーク版(改造版)のvladmandic/automatic に、いよいよ手を出してみようと考えた次第です。


 現在では名称が SD.Next となっています。





SD.Next とは?



 実は Stable Diffusion AUTOMATIC1111 は長らくWindows環境でしか使えませんでした。
 Mac をお使いの方や、 Linax をお使いの海外の方なんかは、フォーク版から入ったという方も多いそうですね。
 現在では Mac でも Linax でも AUTOMATIVC1111は使えるようになったようですが。

 私の海外の友人も、Linax環境でしたので、以前は vladmandic/automatic(SD.Next) を使うしかなかったと言っていました。



 そんな SD.Next とは、一体どのようなものなのでしょうか?

 こちらがその GitHub のページになっています。

 英語が読める方や、面倒でない方は直接飛んで読んで頂くとして、

 私のページは英語なんて読む気が無い、面倒くさい、どうせわからないからお前が説明してくれというメンタルの方向けに書いてますので、私なりに説明させて頂きます。




 このフォーク版は、最高のパフォーマンス最新の技術を追いつつ、クロスプラットフォームの実現を目指すものだそうです。

 とはいえ、簡単に使えるものを目指しているわけではないということですので、その点は覚悟が必要です。






主要な拡張機能が事前インストールされている



 また、最初から主要な拡張機能が事前にインストールされています。
 具体的には以下の通り。

Dyanmic ThresholdingCFG Scaleを上げても破綻しなくなる
ControlNetコントロールネット
Agent Scheduler(エージェントスケジューラー)
Multi-Diffusion Tiled Diffusion and VAEVRAMを節約し巨大な画像を生成
LoRA & LyCORISLoRAつよつよLoRA)
Image Browser
イメージブラウザー
CLiP Interrogator(画像をprompt化)
Rembg Background Removal背景を除去し、キャラを抜きし

( )内は日本語の解説記事へのリンクになってます

 どれも強力な拡張機能ばかりですが、すべて使うと起動なんかが重くなってしまうことも考えられますので、そのあたりは人によってはsettingから無効化しておくのも良いかと思います。

ControlNet LoRA & LyCORISあたりが標準装備なのはありがたいですね。 

 解説リンクもつけてますが、私も使った事の無い拡張機能がいくつか見受けられますので、また追々そのあたりも解説記事を作りたいと思います。






PyTorch 2.0 に最適化されていて、生成が速い



PyTorch 2.0SDPA による高速化がデフォルトで有効という話。

なんやそれ???と思う方もいらっしゃるかとおもいますが、私もそう思います


 まぁ、先に上げた 最高のパフォーマンス最新の技術 という謳い文句の一旦だと思って差し支えないです。

PyTorch 2.0 を使うことで Stable Diffusion 生成速度が1.5倍になった、とか。
SDPA は環境によってはxFormersよりも高速化するなんてお話もありますね。


 どちらも Stable Diffusion AUTOMATIC1111 で導入するには手間がかかるのですが、SD.Next であればデフォルトで導入済みになっているそうです。

 とはいえ、本領を発揮するにはある程度のPC性能が必要とのことですので、そのあたりは個人の環境によりけりでしょう。


 今回は私のPCの環境下での所感を語りたいので、スペックを簡単に載せておきます。

CPU  : Corei7-8700
メモリ : 32GB
グラボ : RTX3060

2023/07/09 時点







インストール手順



SD.Next そのものをインストールする前に、事前準備がとしてインストールしておくものが3つほど必要です。



Python


Git


Nvidia のグラボがあれば CUDA toolkit




 以上の物がインストールできてましたら、次に進みます。



 今回は例として、Dドライブに SD_NEXT20230710 というフォルダを作りまして、こちらにインストールしていきます。

 はかな鳥は Windows 11 Home の環境です。



 アドレスバーをクリックし、そこに「 cmd 」と打ち込み、Enter。



 すると、別ウィンドウでコマンドプロンプトを開くことができました。

場所がちゃんと D:\SD_NEXT20230710> となっていますね。





 ここに、以下のコマンドをコピペしましょう。

git clone https://github.com/vladmandic/automatic


そして、Enter


 すると、以下のような文章がすぐに出てきます。


 すると、先ほどの SD_NEXT20230710 フォルダ内に、automatic というフォルダが作成されており、中にはいろいろなファイルがダウンロードされています。

 それが確認できたら、先程のコマンドプロンプトは閉じてください。






 次に、\SD_NEXT20230710\automatic 内の webui.bat が起動ファイルになっているので、ダブルクリックして起動してください。







 後半、モデルをダウンロードするかを聞かれます。

 結構重いものですし、私は自分でマージしたモデルを使っているので「n」と打ち込みました。




 モデルをダウンロードしなかったので、「check point(モデル)が見つからないんですけど~?」と言ってますが、後で追加するので大丈夫です。

 オレンジ枠で囲んだように、URLが表示されてますので、Ctrl +クリックして、ブラウザで SD.Next を開くことができます。

 この辺りは Stable Diffusion AUTOMATIC1111 と同じですね。





 無事、開くことができました。

 左下には ControlNet なんかも見えますね。




 フォルダ構成も Stable Diffusion AUTOMATIC1111 とほぼ同じです。

\SD_NEXT20230710\automatic\models\Stable-diffusion

にモデルを入れます。





SD.Next の画面左上でリロードボタンを押して、入れたモデルを選択すれば生成の準備は完了です。







PNG Infoタブ どこ行った?



 君のような勘の良いg


Process Image タブでそのあたりは補完されている。




Q&A で様々な疑問に答えているので困った時は確認しておきたい。








VAEってどこに入れるの???



 私の環境ではVAEフォルダが作られておらず、代わりに置かれていた
VAE-approx とかいうフォルダに入れてみていたのですが、一向に読み込んでくれませんでした。

VAE-approx こんなフォルダあったっけ? 普通のVAE無いんやが???



SD.Next 内の setting の Path to directory with VAE files を見てみると、
普通に D:\SD_NEXT20230710\automatic\models\VAE って書いてあるんですよね。

いや、やっぱ VAE ファイル無いとおかしいやろ!!




 ということで、自分で VAE フォルダを作成して手持ちのVAEファイルをぶちこみました。

ただのインストールミスだったのかな?




 いつでも簡単に VAE を変更できるように、

SD.Next 内の setting → User Interface の  Quicksettings list で sd_model_checkpoint, に続けて sd_vae を設定しておきましょう。




 設定を Apply setting で確定し、SD.Next を再起動したら、画面上部でしっかりと VAE を読み込めるようになっていました。

解決!!!








AUTOMATIC1111の拡張機能はどこまで使える?



SD.Next WebUI が更新されたらできるだけ同じ状態にする

SD.Nextの便利機能も、できるだけwebui側にも導入してもらう

 という話があるそうです。



 こちらの AUTOMATIC1111の日本語化 拡張機能に関しては、私が見た限りでは使え無さそうでした。

 私はそもそも AUTOMATIC1111 を日本語化しないまま使っていたので、もし詳しい方で SD.Next への導入法がわかるのであればコメント頂けると助かります。




 とりあえず、個人的に必須な拡張機能に関しては対応してましたのでホっと胸をなでおろした次第です。

前回の記事 で設定ファイルの配布を再開した 【easy-prompt-selector】【wildcards】の拡張機能も問題なく動作しました。




 最近のクオリティアップには欠かせない、ADetailer ももちろん大丈夫。






 不安だった 3D Openpose Editor ですら、ちゃんと動作しました。
 かなりの 拡張機能 に対応してるように感じます。





 一応、Extentions タブの Update installed extentions を押して名前の出てきた拡張機能を列挙しておきます。
 知りたい名前があれば、ブラウザの検索機能で確認してみてください。

SwinIR ScuNET Lora  LDSR  a1111-sd-webui-lycoris sd-webui-controlnet sd-extension-system-info  sd-webui-agent-scheduler
sd-dynamic-thresholding  clip-interrogator-ext multidiffusion-upscaler-for-automatic1111 stable-diffusion-webui-images-browser  stable-diffusion-webui-rembg stable-diffusion-webui-wildcards sdweb-easy-prompt-selector adetailer --sd-webui-ar-plus sd-webui-aspect-ratio-helper sd-webui-3d-open-pose-editor OneButtonPrompt  sd-webui-neutral-prompt openOutpaint-webUI-extension model-keyword sd-webui-lobe-theme civitai-shortcut Styles-Editor sd-face-editor  sd-webui-infinite-image-browsing  prompt-fusion-extension SD-WebUI-BatchCheckpointPrompt sd-dynamic-prompts  a1111-sd-webui-tagcomplete sd_dreambooth_extension Cozy-Nest sd-webui-supermerger sd-webui-inpaint-anything danbooru-prompt sd-webui-roop sd-webui-txt-img-to-3d-model sd-webui-stable-horde-worker  sd-webui-ar  sd-webui-3d-editor stable-diffusion-webui-depthmap-script PromptGallery-stable-diffusion-webui  canvas-zoom sd-webui-prompt-all-in-one stable-diffusion-webui-prompt-travel sd-webui-openpose-editor sd-webui-qrcode-toolkit unprompted sd-webui-text2video SadTalker sd-webui-deforum stable-diffusion-NPW sd-webui-enable-checker Auto-Photoshop-StableDiffusion-Plugin sd-webui-stablesr sd-webui-regional-prompter  stable-diffusion-webui-embedding-merge sd-infinity-grid-generator-script Config-Presets sd-webui-lua IF_prompt_MKR  shift-attention  seed_travel Hypernetwork-MonkeyPatch-Extension sd-extension-steps-animation sd-canvas-editor  sd-3dmodel-loader sd-webui-prompt-history PBRemTools stable-diffusion-webui-distributed sd-webui-segment-anything  sd-webui-model-converter sd-webui-pixelart stable-diffusion-webui-composable-lora Clip_IO  sd-webui-kitchen-theme-legacy a1111-sd-webui-haku-img  stable-diffusion-webui-artists-to-study miaoshouai-assistant sd-model-organizer  webui-qrcode-generator sd-model-downloader stable-diffusion-aws-extension  animator_extension  sd-webui-lora-block-weight kandinsky-for-automatic1111 stable-diffusion-Latentshop sd-webui-e621-prompt sd-webui-bluescape grid_add_image_number ultimate-upscale-for-automatic1111 a1111-stable-diffusion-webui-vram-estimator discord-rpc-for-automatic1111-webui  a1111-mini-paint stable-diffusion-webui-state sd-webui-riffusion stable-diffusion-webui-dataset-tag-editor  sd-webui-easy-tag-insert sd-discord-rich_presence  stable-diffusion-webui-auto-tls-https openpose-editor stable-diffusion-webui-eyemask SDAtom-WebUi-client-queue-ext  sd-pixel  ebsynth_utility  a1111-sd-webui-quickswitch SD-CN-Animation model_preset_manager  stable-diffusion-webui-auto-translate-language sd-webui-panorama-viewer sd_web_ui_preset_utils batch-face-swap sd-webui-StableStudio  sd-webui-additional-networks  Stable-Diffusion-Webui-Civitai-Helper batch-face-swap sd-webui-StableStudio  sd-webui-additional-networks Stable-Diffusion-Webui-Civitai-Helper sd-model-preview-xd sd-extension-aesthetic-scorer weight_gradient stable-diffusion-webui-model-toolkit custom-diffusion-webui  gif2gif DiffusionDefender  sdweb-merge-board  sd-webui-tunnels Stable-Diffusion-Webui-Prompt-Translator stable-diffusion-webui-sonar stable-diffusion-webui-Prompt_Generator  TemporalKit  prompt_translator  sd-webui-llul Llul infinite-zoom-automatic1111-webui auto-sd-paint-ext  batchlinks-webui posex db-storage1111 ABG_extension sd-webui-bilingual-localization  sd-web-ui-quickcss DreamArtist-sd-webui-extension video_loopback_for_webui stable-diffusion-webui-stable-horde Abysz-LAB-Ext StylePile depthmap2mask stable-diffusion-webui-dumpunet sd-webui-gelbooru-prompt  stable-diffusion-webui stable-diffusion-webui-two-shot mine-diffusion corridor-crawler-outpainting sd_save_intermediate_images stable-diffusion-webui-cafe-aesthetic stable-diffusion-webui-wd14-tagger SD-latent-mirroring embedding-inspector sd_delete_button CFG-Schedule-for-Automatic1111-SD multi-subject-render  stable-diffusion-webui-text2prompt stable-diffusion-webui-anti-burn  training-picker stable-diffusion-webui-pixelization depth-image-io-for-SDWebui table-diffusion-webui-randomize novelai-2-local-prompt stable-diffusion-webui-daam sd_smartprocess stable-diffusion-webui-promptgen sdweb-merge-block-weighted-gui sd-webui-multiple-hypernetworks stable-diffusion-webui-aesthetic-gradients stable-diffusion-webui-conditioning-highres-fix sd_auto_fix stable-diffusion-webui-visualize-cross-attention-extension stable-diffusion-webui-aesthetic-image-scorer  stable-diffusion-webui-tokenizer  stable-diffusion-webui-nsfw-censor stable-diffusion-webui-inspiration stable-diffusion-webui-embedding-editor ddetailer booru2prompt asymmetric-tiling-sd-webui  sd-webui-color-enhance

2023/07/10時点



 もちろん、urlからのインストールにも対応していますので、お目当てのものが上の中に無くてもインストールすることはできるかと思います。

 正常に動作するかは保証できませんが、かなり期待はできそうです。







おわりに





 前回私がフォーク版が気になっていたのは4月後半あたりだったのですが、その頃はまだ対応された拡張機能などがわからなかったことや、漠然とした不安で実際に手を出すことはしていませんでした。


 今回、実際に触ってみた感じ、もうあまり身構えなくても十全に対応されているなと感じました。

 何より生成速度が確かに体感できるほど早くなったのもありますし、個人的にはどうしても外せない拡張機能も全て対応されてましたので、しばらくは SD.Next に乗りかえようと思っています。




 また、7月中旬に発表されるはずの SDXL 1.0 への対応も、SD.Next であれば早く対応してくれるかもしれません。



 AIイラストで一般人から一番口を出される部分が指の崩壊でしたので、そのあたりの改善の見られる SDXL は今後主力になっていくことでしょう。

 今後もAIイラストを最前線で楽しむ為にも、一度導入を検討されてみてはいかがでしょうか。


 それでは、また。

 はかな鳥でした。





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