RTX 3060 laptop にStable Diffusionをインストール&プロンプト等ご紹介(23/6/4版)
こちらの記事のブラッシュアップ版です。
(古い記事は閲覧非推奨です。意図的にほぼ中身はそのままです。近々消します。)
本記事ではローカル環境でStable Diffusionを動作させる方法を紹介しています。
また、実際に設定しているパラメータ(ネガティブプロンプト)等も記載していますので、参考までにどうぞ。
インストール手順
Pythonのインストール→gitのインストール→AUTOMATIC1111のインストールの順で解説します。
Pythonをインストールしよう
推奨されるバージョンは3.10であるため、今回は3.10.11をインストールします。
Windowsであれば下記のアドレスから対象のファイルをダウンロードし、インストールしましょう。
Add~を選択し、Install Nowを押します。
Gitをインストールしよう
Gitは以下からダウンロードし、インストールします。
様々選択肢が出ますが、すべてデフォルト設定で大丈夫です。
AUTOMATIC1111をインストールしよう
インストールしたフォルダに移動します。
今回は、Cドライブの直下に「sd」というフォルダを作成します。
この中にインストールをしていきます。
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
インストールには時間がかかります。
途中で作業を中断した場合、インストールが不完全になる可能性がありますので気長に待ちましょう。
最終的に以下のアドレスが表示されれば一旦完了です。
お疲れ様でした!
以下のアドレスにアクセスすることで画像生成はできますが、おそらく期待したものは作れないでしょう。
次の章から具体的にどのように設定が行われているか等紹介させていただきます。
拡張機能をインストール&設定を最適化しよう
以下、自分が実際に行っている設定や拡張機能等を紹介します。
あくまで自分が今時点でそうしているというだけであり、もっとより良くなる設定があるかもしれません。
今後検証を重ねて、より良くなる設定があった場合、更新させていただきます。
拡張機能のインストール
以下、日本語の拡張機能をインストールする手順を簡単に紹介します。
これでインストールは終わりですが、このままでは日本語化されていませんので、設定から変更していきます。
Setteings→bilingual localization をクリックします。
そして、localization fileをja_JPとします。
その後に、Reload UIをクリックすることで日本語化されるはずです。
うまくできなかった場合、一旦本体(webui.bat)を再起動してみてください。
さて次にその他拡張機能のご紹介です。
過去記事1、過去記事2、でもサラッとご紹介させていただきましたが、以下に自分がインストールしているものをただ書き並べました。
人によっては不要なものもあるかと思いますので、上記記事や他の方のブログ、また実際に使ってみて判断してください。
https://github.com/DominikDoom/a1111-sd-webui-tagcomplete.git
https://github.com/Bing-su/adetailer
https://github.com/mattyamonaca/layerdivider
https://github.com/fkunn1326/openpose-editor
https://github.com/adieyal/sd-dynamic-prompts.git
https://github.com/Mikubill/sd-webui-controlnet
https://github.com/jexom/sd-webui-depth-lib.git
https://github.com/hnmr293/sd-webui-matview
https://github.com/hako-mikan/sd-webui-regional-prompter
https://github.com/ashen-sensored/sd_webui_masactrl
https://github.com/blue-pen5805/sdweb-easy-prompt-selector
https://github.com/opparco/stable-diffusion-webui-two-shot
https://github.com/AUTOMATIC1111/stable-diffusion-webui-wildcards.git
https://github.com/ultralytics/ultralytics
インストール方法ですが、拡張機能のURLからインストールを選択することでインストールできます。
手間ですが、1つずつ選んでインストールしていきましょう。
インストールする都度再起動は不要です。
すべてインストールが終わりましたら、本体(webui.bat)を再起動してください。
その際に、具体的にインストールが開始されます。時間がかかりますがこれも気長に待ちましょう。
モデル&VAEを導入しよう
Stable Diffusionのモデルには様々なものがあり、主に以下のサイトで公開されています。(一部職場閲覧非推奨)
その中でも個人的に気に入って使っているモデル4つをご紹介します。
https://civitai.com/models/6424/chilloutmix
これらモデルをダウンロードした後に、以下の場所に格納します。
「C:\sd\stable-diffusion-webui\models\Stable-diffusion」
次にVAEを導入します。
VAEについては各モデルに推奨されるVAEが記載されている場合があります。
今回は、orangemix.vaeを入れる手順でご紹介します。
ダウンロードしたvaeは下記のフォルダに格納します。
「C:\sd\stable-diffusion-webui\models\VAE」
次に設定をしていきます。
モデルについては、起動直後のUIの左上からいつでも変更できます。
今回は一旦、「Counterfeit-V2.5_pruned」を選びます。
表示されない場合は、青色のボタンを押して再読込してください。
次にVAEを適用させます。
VAEを適用させない場合、乱暴に言ってしまえば色味が薄い絵が出来上がります。
VAEは厳密にはそういうものでは無いですが、技術的なところは省略させていただきます。
さて、以下の設定→Stable DiffusionからVAEの自動から「Orangemix.vae」を選択します。
ネガティブプロンプトを設定しよう
作りたい絵については、プロンプト、の箇所に入れることで作る事が出来ます。他方、ネガティブプロンプトには「作ってほしくないもの」を入れることができます。
ここに、「変な手」や「駄目な絵」等を入れることで、生成される絵の品質を向上させることができます。
以下に汎用的に自分が使用しているプロンプトを紹介します。
以下のプロンプトは全てにおいて正ではなく、作りたいものに応じて変えることをオススメします。
これを貼り付ければ、ではOKかというとそうでもありません。
EasyNegative等は別途入れなければいけないファイルがあります。
以下からファイルを取得します。
3つ紹介しましたが、他にもたくさん種類があります。
いろいろ試してみるのも良いと思います。
取得したファイルは以下の場所に格納します。
「C:\sd\stable-diffusion-webui\embeddings」
さて、これでいよいよ準備が整ってきましたが、起動する度にパラメータを弄るのが面倒ですよね。
ということで、デフォルトの値を弄っておきましょう。
起動直後のパラメータを変更しておく
「C:\sd\stable-diffusion-webui」の中にある、「ui-config.json」をメモ帳で開きます。
この値を書き換えておくことで、起動時の設定を変更しておくことができます。
例えば、「txt2img/Negative prompt/value」の所にネガティブプロンプトを入れておきます。
すると、これが挿入された状態で立ち上がります。
起動時の引数を設定しておこう
このまま起動して生成を続けた場合、何らかエラーが起こった際に止まってしまうことがあります。
例え真っ黒な意味をなさない画像が生成された場合にも、止めたくない!という場合や、VRAMがあまりないPC等に最適化された起動を行う事が出来ます。
「C:\sd\stable-diffusion-webui」のwebui-user.batをメモ帳で開きます。
自分は以下のように設定しています。
・no-half-vae:黒画像発生が軽減されますが、VRAM使用量が増加します。
・disable-nan-check:黒画像発生時の警告をスキップ出来ます。黒画像はそのままにどんどんバッチ処理を行ってくれますので、放置して使用する際には入れた方が良いでしょう。
・opt-channelslast:Tensorコアを積んでるグラボは高速化されます。
・xformers:画像生成速度向上、VRAM使用量の低減が期待できる?
set COMMANDLINE_ARGS=--no-half-vae --disable-nan-check --opt-channelslast --xformers
さらなるパラメータについては以下が参考になります。
画像生成時のパラメータ等
以下に自分が実際に設定していますパラメータ等をのせておきます。
汎用的な画像生成に際して、以下のように設定することが多いです。
あくまで一例ですので、いろいろ試してみることをオススメします。
バッチサイズについては、3060 laptop版では1、3060 デスクトップ版では2にして使用することが多いです。
さて、ここまで導入できた後には、様々機能を試すことができるかと思います。
あまりに機能があるため、初めは使いたいものに絞って試すことをオススメします。あえて使わない機能を設けることも大事かと思います。
推奨PCについての雑談
市場には様々なパソコンが販売されていますが、具体的に何を買ったら良いか悩みますよね。何をしたいか、を具体的にすることで買うべきパソコンが見えてくるかもしれません。
単に生成するだけであれば、さほど性能が求められることはなさそうです。(VRAM 6Gはほしい)
しかし、学習(LoRA等)に使用する際には、VRAM容量が極めて重要になります。
基本的には、VRAM容量が8GB以上のGPU(例:NVIDIA RTX 3070またはそれ以上)を選択することを推奨します。しかし、より大規模なモデルのトレーニングを行う場合や、マルチタスクを行う場合には、VRAM容量が16GB以上、あるいは24GBのGPU(例:NVIDIA RTX 3080、RTX 3090)が必要になることもあります。
自分が今使用している環境は、3060 Desktop版(VRAMが12G)と、3060 Laptop版(VRAMが6G)と、Google Colabです。
一般的にCUDAコア数やVRAMが多い方が速くなることが考えられます。
公式の仕様では上記の3060の2モデルでは、VRAM・クロック数・消費電力に差があることが分かります。
しかしながら、自分の環境ではこの逆転現象が発生しています。
考えられる事として、GPUのクロック速度、メモリの帯域幅と速度、 データ転送、ソフトウェアの最適化といったところでボトルネックとなっていることが考えられます。すなわち、デスクトップ側が最適化されていない、ということです。
デスクトップ版については、もともとBTOで1050tiが搭載されていたものを、別途購入した3060に差し替えて使用しています。
その際には、特にbiosの設定は弄っていませんので、この辺が怪しい気がします。また、電源も550W推奨ですが、500Wのものを使っていますので、これも問題がある可能性があります。
(一応電力測定を挟んでFFベンチマークを動かし、最大350W使用されることは確認しています。)
つまり、単に良いグラボを買って載せれば、快適に動くと言うことでは無く、様々な構成を考慮しなければより良い性能は発揮できないということかもしれません。
全体のバランスを考慮したときには、実はゲーミングノートPCとして販売されているモデルがベターな選択肢になる可能性もあると思います。
しかしながら一般的には、上記で述べたようにCUDAコア数やVRAMが主として影響しますので、ここを確認してから購入することをオススメします。
個人的に一番コスパがいいのは、GeForce 3060のデスクトップ版かなと思います。周りにもひたすらこれをすすめていますし、他と比べて安価ですので。今現在持っているPCがレイトレーシングに対応していないようなものであれば、買い換える価値もあると思います。飽きたらゲーム専用機にしても良いですし。
まとめ
かなりざっくりと長々記事にしましたが、上記手順でとりあえず動かせるようにはなるかと思います。
今回記事にはしませんでしたが、Google Colab版についてもそのうち簡単に記事にしようと考えています。
また、過去記事については理解度の浅さからかなりいい加減なものもありますので、段階的にこのように修正していく予定です。
優先して修正してほしい、また追加してほしい情報等ありましたらお気軽にコメント等で教えて頂ければと思います。
(通知がリアルタイムには来ないようにしているので、遅くなるか、見逃す可能性もあります。ご了承ください。)
おまけ
カバー用に作成した画像です。
耳の形、足について明らかな問題がありますが、これらはインパクトスケッチといった機能で補正すると良さそうです。
その辺も記事にしたいな、と思っています。
この記事が気に入ったらサポートをしてみませんか?