AMD RadeonでAIイラスト Stable diffusionが出来ない?ComfyUIでやる方法と高速化

パソコン・インターネット
パソコン・インターネット
記事内に広告が含まれています。

はじめましての方ははじめまして。
当ブログ管理人のDAsanです。

AMD RadeonでStable diffusionをやろうと思ったときに、「簡単にできる」と紹介されているブログや動画通りにやっても出来ませんでした。そこでいろいろと調べて、普通にStable diffusionを楽しめるような状態に出来たので、インストール手順や、高速化について書いてみたいと思います。

※投稿日時点2024年2月の段階でできていた方法の紹介です。
様々なバージョンアップの影響により現状できない可能性があります。

※2025年1月段階でZLUDAをインストールしたところかなり高速化してインストールも簡単だったのでそちらも紹介しています。

スポンサーリンク

Stable diffusion WebUIは簡単にインストールして使えない。

いろんなブログや、動画でStable diffusion WebUIを簡単にインストールして使う方法が紹介されています。

その方法は、

  1. Gitをインストール
  2. Pythonをインストール
  3. Gitでgit clone https://github.com/lshqqytiger/stable-diffusion-webui-directml.gitを実行
  4. 出来たフォルダ内のwebui.batを実行してインストール完了

どこでも紹介されているのはだいたいこの手順です。

しかし、これではインストール出来ません。

AMD RadeonでAIイラスト Stable diffusionが出来ない?ComfyUIでやる方法と高速化

AMD Radeonでは、エラーが出るので、対策が必要です。

AMD RadeonでAIイラスト Stable diffusionが出来ない?ComfyUIでやる方法と高速化

webui_user.batを編集して、エラー対策してインストールすることは出来ます。

AMD RadeonでAIイラスト Stable diffusionが出来ない?ComfyUIでやる方法と高速化

インストールが出来て、いざ動作テストをしても、GPUが稼働しません。

CPUで生成されるのでめちゃくちゃ時間がかかって、話になりません。

ということで、現状は「簡単に・・・」と書かれている方法では、AMD RadeonでStable diffusionを使うのは出来ませんでした。

AMD公式が紹介するStable diffusionを動作する方法。

[UPDATED HOW-TO] Running Optimized Automatic1111 Stable Diffusion WebUI on AMD GPUs
: The Automatic1111-directML branch now supports Microsoft Olive under the Automatic1111 WebUI interface, which allows f...

AMDの公式でStable diffusionを利用する方法が公開されています。

この方法も試してみました。

AMD RadeonでAIイラスト Stable diffusionが出来ない?ComfyUIでやる方法と高速化

確かにこの方法だと、ちゃんとGPUでAIイラストを作成することが出来ました。

しかし、良く使われている、配布されているモデルデータをそのまま使うことが出来ません。

この方法でStable diffusionは使えても、他の人が使えているようなモデルが使えないというのはかなり厳しい制限だと思って、この方法も実質的には使えないと思いました。

WebUIを諦めて、ComfyUIでStable diffusionを使う。

今までの操作画面はWebUIというソフトでStable diffusionを動かしていたわけですが、いろいろと探していたところ、ComfyUIというソフトもあるということで、試してみました。

この動画を参考にしてインストールしました。

AMD RadeonでAIイラスト Stable diffusionが出来ない?ComfyUIでやる方法と高速化

これがComfyUIの操作画面です。

インストール手順と基本的な操作方法を書いていきたいと思います。

Stable diffusion ComfyUIのインストール手順

上で紹介した動画の手順通りに進めればインストール出来ますが、コマンドをコピペできるように手順を書いていきます。

1,Gitをインストール

Stable diffusion WebUIをインストールしようと試みた人はすでにインストール済みかと思います。

Redirecting…

最新のWindowsを使っているのなら殆どの場合は64-bit Git for Windows Setupをダウンロードして、ダウンロードして手順に沿ってインストールすれば問題ありません。

2、Pythonをインストール(注意点あり)

こちらもすでにStable diffusion WebUIのインストールを試みた人ならPython3.10.6をすでにインストールしていると思います。

まだインストールしていない場合はPythonをインストールしてください。

WebUIをインストールする場合はPython3.10.6とバージョンの指定があるのですが、ComfyUIを使う場合は、特にバージョンの指定はありません。

最初にインストール成功したときはPython3.11.7でも問題なく動作しました。

Python Releases for Windows
The official home of the Python Programming Language

こちらからPythonのバージョンを選んでダウンロードします。

ただし、インストールするときに注意点があります。

AMD RadeonでAIイラスト Stable diffusionが出来ない?ComfyUIでやる方法と高速化

Pythonをインストールする流れの中で、この画面が出てきます。

このときに赤枠内のチェックを必ず入れてインストールしてください。

また、インストールしたバージョンは覚えておきましょう。

3、Anaconda Minicondaのインストール(注意点あり)

ここからComfyuiならではの手順になります。

Anaconda Minicondaという環境構築するソフトをインストールします。

Anaconda Documentation - Anaconda

こちらからダウンロードできます。

こちらのMinicondaもインストールするときに注意点があります。

AMD RadeonでAIイラスト Stable diffusionが出来ない?ComfyUIでやる方法と高速化

Pythonと同じように、赤枠にチェックを入れてインストールしてください。

4、ComfyUIをインストールする

ここからComfyUIをインストールしていきます。

4-1、フォルダを作ってコマンドを起動

Stable diffusion ComfyUIをインストールしたいフォルダを作ります。

Cドライブはデータを圧迫するとWindows自体が遅くなったりするので、Cドライブ以外にフォルダを作るといいと思います。

AMD RadeonでAIイラスト Stable diffusionが出来ない?ComfyUIでやる方法と高速化

作ったフォルダを開いて、上のアドレスバーに「cmd」と入力してエンターを押します。

cmd
AMD RadeonでAIイラスト Stable diffusionが出来ない?ComfyUIでやる方法と高速化

すると、Windowsのコマンド画面が表示されます。

今回はF:/testというフォルダを作ってそこでComfyUIを使えるようにしていますが、フォルダ名は日本語でなければなんでもいいです。

4-2、ComfyUIのインストール

次に用意したフォルダ内にComfyUIに必要なデータをインストールします。

AMD RadeonでAIイラスト Stable diffusionが出来ない?ComfyUIでやる方法と高速化
git clone https://github.com/comfyanonymous/ComfyUI.git

こちらのコマンドを入れてエンターを押すとインストールが始まります。

AMD RadeonでAIイラスト Stable diffusionが出来ない?ComfyUIでやる方法と高速化

この画面になったらOKです。

AMD RadeonでAIイラスト Stable diffusionが出来ない?ComfyUIでやる方法と高速化

作ったフォルダ内に「ComfyUI」というフォルダが出来ているはずです。

4-3、ComfyUIフォルダに移動

次に、作られたComfyUIフォルダで作業するために移動します。

AMD RadeonでAIイラスト Stable diffusionが出来ない?ComfyUIでやる方法と高速化
cd comfyui

こちらのコマンドを入れてエンターを押します。

AMD RadeonでAIイラスト Stable diffusionが出来ない?ComfyUIでやる方法と高速化

このように作業フォルダが作ったフォルダから、ComfyUIフォルダに移動します。

4-4、AnacondaでComfyUI環境を作る

次に、Anaconda MinicondaでComfyUIを動かす環境を作ります。

AMD RadeonでAIイラスト Stable diffusionが出来ない?ComfyUIでやる方法と高速化
conda create -n comfyui python=3.10.6

スクショでは「comfyui2」としていますが、投稿主はすでに「comfyui」という環境でComfyUIを使えるようにしているので、今回は説明用に「comfyui2」として作りましたが、初めてこの作業をするのなら、「comfyui」でいいですし、自分がわかるなら任意の名前でも大丈夫です。

最後のPythonのバージョンは自分がインストールしたバージョンを入力してください。

これを入力したらエンターを押します。

AMD RadeonでAIイラスト Stable diffusionが出来ない?ComfyUIでやる方法と高速化

すると実行するか聞かれるので、「y」をいれてエンターを押します。

AMD RadeonでAIイラスト Stable diffusionが出来ない?ComfyUIでやる方法と高速化

この画面になればComfyUI用の環境が完成です。

4-5、作ったComfyUI環境に入る

次は、作ったComfyUI環境に入ります。

AMD RadeonでAIイラスト Stable diffusionが出来ない?ComfyUIでやる方法と高速化
conda activate comfyui

最後の名前は作ったComfyUI環境の名前を入れて、エンターを押します。

AMD RadeonでAIイラスト Stable diffusionが出来ない?ComfyUIでやる方法と高速化

すると、コマンドの頭に(comfyui2)と環境の名前が付きます。

4-5、必要ファイルのインストール

次は、Stable diffusion ComfyUIに必要なファイルをインストールします。

AMD RadeonでAIイラスト Stable diffusionが出来ない?ComfyUIでやる方法と高速化
pip install torch-directml

こちらのコマンドを入れてエンターを押して実行します。

AMD RadeonでAIイラスト Stable diffusionが出来ない?ComfyUIでやる方法と高速化

完了するとこの画面になります。

AMD RadeonでAIイラスト Stable diffusionが出来ない?ComfyUIでやる方法と高速化
pip install -r requirements.txt

次は、このコマンドを入力してエンターを押して実行します。

AMD RadeonでAIイラスト Stable diffusionが出来ない?ComfyUIでやる方法と高速化

これでComfyUIのインストールは完了です。

5、起動batファイル作りと終了方法

インストールしたStable diffusion ComfyUIの起動方法は作った環境でコマンドを入力します。

AMD RadeonでAIイラスト Stable diffusionが出来ない?ComfyUIでやる方法と高速化
python main.py --directml

このコマンドを入力してエンターを押すと起動します。

AMD RadeonでAIイラスト Stable diffusionが出来ない?ComfyUIでやる方法と高速化

この画面になったら起動完了です。

(http://127.0.0.1:8188)を、「CTRL」を押したままクリックするとブラウザでComfyUIの画面が開きます。

AMD RadeonでAIイラスト Stable diffusionが出来ない?ComfyUIでやる方法と高速化

使い方は後ほど説明します。

毎回コマンドを入れて起動するのは面倒なのでComfyUIを起動するためのbatファイルを作ります。

とりあえず開いたブラウザの画面はそのまま閉じます。

AMD RadeonでAIイラスト Stable diffusionが出来ない?ComfyUIでやる方法と高速化

コマンドの画面では「CTRL」+「C」を押すと「Sropped server」と表示され終了されます。

そしたらコマンドの画面も閉じてOKです。

AMD RadeonでAIイラスト Stable diffusionが出来ない?ComfyUIでやる方法と高速化

起動用のbatファイルを作っていきます。

「ComfyUI」フォルダ内で新しいテキストドキュメントを作ってメモ帳などで開きます。

AMD RadeonでAIイラスト Stable diffusionが出来ない?ComfyUIでやる方法と高速化
call conda activate comfyui

python main.py --directml --auto-launch --lowvram --disable-smart-memory

このように入力します。

内容を説明します。

1行目は、ComfyUI用に作った環境に入るコマンドです。名前は自分が作った環境の名前を入れてください。

2行目はComfyUI起動コマンドです。

緑部分は追加のコマンドです。

  • –auto-launch 自動でブラウザにComfyUI画面を表示する
  • –lowvram 8GB以下の少ないグラフィックメモリーのグラボの場合は入れたほうがいいです。
  • –disable-smart-memory グラフィックメモリーが少ない場合に通常のメモリーも使用するコマンド

ComfyUIに使える起動コマンドはこちらで紹介されているので、自分の環境にあったものを試してみてください。

このコマンドを入力したら保存をしてください。

AMD RadeonでAIイラスト Stable diffusionが出来ない?ComfyUIでやる方法と高速化

保存したテキストドキュメントの名前を「Comfyui_start.bat」など自分がわかりやすい名前をつけて「.bat」の拡張子にして変更してください。

AMD RadeonでAIイラスト Stable diffusionが出来ない?ComfyUIでやる方法と高速化

これで、このbatファイルを起動すればコマンドを入力せずにStable diffusion ComfyUIを起動できます。

AMD RadeonでAIイラスト Stable diffusionが出来ない?ComfyUIでやる方法と高速化

ただし、終了時はコマンドの画面で「CTRL」+「C」を押して「y」で終了してください。

6、モデル「Checkpoint」を入れる

次にAIイラストを作る上で必要なモデルデータを入れます。

様々なものが配布されていますが、今回は「chilled_remix_v2」というモデルを使います。

sazyou-roukaku/chilled_remix at main
We’re on a journey to advance and democratize artificial intelligence through open source and open science.
AMD RadeonでAIイラスト Stable diffusionが出来ない?ComfyUIでやる方法と高速化

この中から「chilled_remix_v2.safetensors」というファイルをダウンロードします。

AMD RadeonでAIイラスト Stable diffusionが出来ない?ComfyUIでやる方法と高速化

ComfyUIフォルダ内の「models」を開き、

AMD RadeonでAIイラスト Stable diffusionが出来ない?ComfyUIでやる方法と高速化

「checkpoints」を開きます。

AMD RadeonでAIイラスト Stable diffusionが出来ない?ComfyUIでやる方法と高速化

この中に、ダウンロードした「chilled_remix_v2.safetensors」を入れます。

いろんなモデルを使いたい場合はこのフォルダに入れておくとComfyUIで選択して使用できます。

これでStable diffusion ComfyUIを使う準備は整いました。

Stable diffusion ComfyUIの基本的な使い方と実行

AMD RadeonでAIイラスト Stable diffusionが出来ない?ComfyUIでやる方法と高速化

Stable diffusion ComfyUIを起動すると最初に表示される画面がこちらです。

よく使われているWebUIとは違うので戸惑うと思いますが、とりあえずAIイラストを作る基本的な使い方を説明します。

AMD RadeonでAIイラスト Stable diffusionが出来ない?ComfyUIでやる方法と高速化

Load Checkpoint

ComfyUI/models/checkpointsに
格納したモデルデータを選択します。

AMD RadeonでAIイラスト Stable diffusionが出来ない?ComfyUIでやる方法と高速化

CLIP Text Encode(Prompt)

デフォルトの配置では上がPositiveで下がNegativeになっています。

ここにはプロンプトや呪文と言われる描画したい内容、したくない内容を書き込んでいきます。

Positiveには描画したい内容を書きます。

Negativeには描画したくない内容を書きます。

AMD RadeonでAIイラスト Stable diffusionが出来ない?ComfyUIでやる方法と高速化

Empty Latent Image

生成するイラストのサイズを指定します。
512×512がデフォルトで、
大きくすると生成時間が多くかかり、
小さくすると生成時間が少なくなります。
基本はデフォルトでいいと思います。

AMD RadeonでAIイラスト Stable diffusionが出来ない?ComfyUIでやる方法と高速化

KSampler

ここの設定項目は多いですが、ここでは基本的な赤枠の2箇所だけ説明します。

steps - 描画の試行回数のようなものです。
多くするとよりはっきりとしたイラストになりますが、
より時間がかかります。
少なくするとぼんやりしたイラストになりますが、
時間は少なくすみます。

cfg - プロンプトへの忠実度の設定です。
上げるとプロンプトにより忠実になりますが、上げすぎると破綻します。
使いながら調整しましょう。

それでは、このデフォルトの設定で、ポジティブプロンプトを「1girl」、ネガティブプロンプトを無しにして描画してみます。

AMD RadeonでAIイラスト Stable diffusionが出来ない?ComfyUIでやる方法と高速化

このようにしばらくしたらイラストが生成され「Save Image」に表示されます。

AMD RadeonでAIイラスト Stable diffusionが出来ない?ComfyUIでやる方法と高速化

作られたイラストデータはComfyUIフォルダ内の「output」フォルダ内に作られます。

AMD RadeonでAIイラスト Stable diffusionが出来ない?ComfyUIでやる方法と高速化

これが作られたイラストデータです。

AMD Radeon RX7600での生成時間と高速化

AMD RadeonでAIイラスト Stable diffusionが出来ない?ComfyUIでやる方法と高速化

先程のイラストを生成するのにかかった時間はこのコマンド画面の赤枠です。

モデルを選んで最初の生成はモデルデータの読込み時間があるので、かなり時間がかかります。

AMD RadeonでAIイラスト Stable diffusionが出来ない?ComfyUIでやる方法と高速化

2回目の実行はモデルデータの読み込みは入らないので早くなります。

使用しているAMD Radeon RX7600ではこのデフォルトの設定だと一枚あたり20秒位かかります。

20秒でイラストが出来るのはすごいことですが、AIイラストは求めるイラストが出来るまでプロンプトの書き換えや設定を詰めたりするので、何度も何度も描画することになるので、毎回20秒待つのは結構つらいです。

そこでLCM LoRAというのを使います。

LCM-LoRA Weights - Stable Diffusion Acceleration Module - LCM for SDXL (Latest) | Stable Diffusion XL LoRA | Civitai
LCM-LoRA - Acceleration Module! Tested with ComfyUI, although I hear it's working with Auto1111 now! Step 1) Download Lo...

CIVITAIというモデルデータを配布しているサイトです。

ダウンロードするにはユーザー登録の必要がありますが、Stable diffusionを使ううで必要なモデルデータの配布場所としていちばん有名なサイトでもありますので、登録して損は無いと思います。

AMD RadeonでAIイラスト Stable diffusionが出来ない?ComfyUIでやる方法と高速化

このLCM LoRAの配布をしているページの赤枠のボタンをクリックして、青枠をクリックするとダウンロード出来ます。

AMD RadeonでAIイラスト Stable diffusionが出来ない?ComfyUIでやる方法と高速化

ダウンロードしたファイルは、「ComfyUI/models/」の中の「loras」の中に入れます。

AMD RadeonでAIイラスト Stable diffusionが出来ない?ComfyUIでやる方法と高速化

こんな感じです。スクショは2つありますが、「LCM_LoRA_Weights_SD15.safetensors」があればとりあえずOKです。

LoRAというのは、追加のモデルデータだと思ってもらえればOKです。

AMD RadeonでAIイラスト Stable diffusionが出来ない?ComfyUIでやる方法と高速化

ComfyUIの画面に「Refresh」というボタンがあるのでクリックします。

これで入れたLCM LoRAをComfyUIで使えるようにしていきます。

AMD RadeonでAIイラスト Stable diffusionが出来ない?ComfyUIでやる方法と高速化

ComfyUIの空いたところで「右クリック」して、

Add Node > loaders > Load LoRA

この順にクリックしていきます。

AMD RadeonでAIイラスト Stable diffusionが出来ない?ComfyUIでやる方法と高速化

すると、「Load LoRA」というウィンドウが追加されます。

これを「Load Checkpoint」の直後に入れます。

それぞれをつなぐ線はクリックで簡単につけ外し出来ます。

AMD RadeonでAIイラスト Stable diffusionが出来ない?ComfyUIでやる方法と高速化

つなぎ方

  • Load Checkpoint MODEL → MODEL Load LoRA
  • Load Checkpoint CLIP → CLIP Load LoRA
  • Load LoRA MODEL → model KSampler
  • Load LoRA CLIP → CLIP Text Encode(Prompt) Positive
  • Load LoRA CLIP → CLIP Text Encode(Prompt) Negative
AMD RadeonでAIイラスト Stable diffusionが出来ない?ComfyUIでやる方法と高速化

次は、KSamplerの設定です。

  • steps 2~8
  • cfg 1~2
  • sampler_name lcm
  • scheduler sgm_uniform

これがLoad LoRAを使う場合のKSamplerの設定です。

stepがデフォルトの20と比べてもかなり少なくてすむので、その分高速化につながるということです。

これでPositive「1girl」Negativeなしで生成してみます。

AMD RadeonでAIイラスト Stable diffusionが出来ない?ComfyUIでやる方法と高速化

問題なく生成されればOKです。

AMD RadeonでAIイラスト Stable diffusionが出来ない?ComfyUIでやる方法と高速化

生成にかかった時間は、4.9秒と、Load LoRAなしのデフォルトの状態で23.72秒だったのに比べると圧倒的に速くなっています。

何度か繰り返し生成してみました。

AMD RadeonでAIイラスト Stable diffusionが出来ない?ComfyUIでやる方法と高速化

このようにLoad LoRAを使うとおおよそ4秒で生成されるようになりました。

AMD RadeonでAIイラスト Stable diffusionが出来ない?ComfyUIでやる方法と高速化

生成されるイラストがこちらです。

stepを大幅に減らしてもクオリティが落ちず、むしろ上がっているようにも思います。

AMD RadeonでAIイラスト Stable diffusionが出来ない?ComfyUIでやる方法と高速化

リアル系だけでなく、アニメ系のモデルでも使用することが出来ます。

AMD Radeonでも4秒でStable diffusionでAIイラストが出来た。

ということで、Stable diffusion WebUIを諦めて、ComfyUIを使うことでAMD RadeonでもStable diffusionを使えるようになり、Load LoRAを使うことで、4秒でイラストが出来るようになりました。

AMD RadeonでのちゃんとStable diffusionが動作する方法を紹介しているのは少ないと思うので、参考にしてもらえればと思います。

ComfyUIの使い方については「ComfyUI」を入れてで検索したら結構出てくるのでそちらも参考にするといいと思います。

それではまた次の記事でお会いしましょう。

この記事がためになったと感じましたら下のボタンからSNSで紹介してください☺️

タイトルとURLをコピーしました