見出し画像

StableDiffusionWebUIをAMDのGPUで動かす

最初に

本記事は説明のために正確さを砕いた説明を行っている箇所があります
書いた人は素人なので、間違いあっても許して下さい。
StableDiffusionは高速で開発が進んでいるため、この記事も古くなる可能性があります。

大雑把な説明

StableDiffusionといえばAUTOMATIC1111氏のstable-diffusion-webuiが有名ですがCUDA駆動なのでNVIDEAのGPUが必要です。
しかしstable-diffusion-webuiからフォーク(派生)したlshqqytiger氏のstable-diffusion-webui-directmlというDirectMLを利用してAMDのGPUでも動くようになったStableDiffusionがありました。これを動かすんだよおおお!

用意するもの

Git

StableDiffusionはGitHubというサイトからダウンロードします。
このダウンロードにGitというアプリを使うと楽にダウンロードできます。
無くてもZIP形式でダウンロードできる?良いからインストールするんだ

名前がよく似てますが「GitHubというクラウドがあって、自分のPCとやり取りするのにGitを使う」とイメージすれば良し、ひとまず

Miniconda

Python直接インストールしなくてもMinicondaで動いたのでこれを使います。

MinicondaというのはPythonをインストールする時に必要になる大量のパッケージを自動で選び用意してくれる便利なソフトウェアです。

といってもアイコンをダブルクリックしたらウィンドウが登場する・・・なんていう豪華な代物ではなく、コマンドプロンプトにテキストだけがでてくる最小限のプログラムです。

Anacondaという機能てんこ盛りバージョンも存在する、というかAnacondaの小型版としてMinicondaが開発された。

Python

StableDiffusionを動作させるプログラム言語の1つ
キーボードでコマンドを入力して動かすタイプ。
残念ながらマウスでポチポチ操作するような今どきのプログラムではない
あちらこちらで使われるので勉強しておいて損は無いよ。

学習データ

学習データを切り替えることでAIは様々な事ができます。
多分会員登録してないとダウンロードできません、しましょう。


インストール

Git

Windows Explorer InterrationのGit Bashにチェックが入っていれば良し

重要項目

Miniconda

ここから自分のOSにあったものをインストール

Add Miniconda3 to my PATH environment variable にチェックを入れます。
赤い文字で「競合する恐れがあります、いいですか?」と聞いています。

PythonはAnacondaから入れる方法と、Python公式から入れる方法もあって同時に入れると色々と面倒なことになるらしいです。そのための忠告文

重要項目

なおここで追加される環境変数はスタートから環境と入力すれば出てきます。

環境変数を編集

StableDiffusion

おまたせしました。
まずGitHubからダウンロードしてくるフォルダを用意します
ここではD:ドライブにRepositoryという名前でフォルダを作ります

D:\Repository

Repositoryフォルダ開いてGit Bashを実行

GithubからStableDiffusionをダウンロード(クローン)します
以下のコマンドを使います

$ git clone [リポジトリパス]

リポジトリパスは氏のページにあるCodeから確認できます

クローン開始

終わるとStableDiffusionが用意されます

StableDiffusionを構築する

学習データの配置

D:\Repository\stable-diffusion-webui-directml\models\Stable-diffusion
にあるフォルダにckptファイルを入れます。

データを置く

とりあえず動かす

起動するには、webui-user.batをダブルクリックします

これでCmdからPythonが実行されます
このときStableDiffusionに必要なパッケージがインストールされます

なおCMD内をクリックして選択とかになっていると処理が止まりますのでウィンドウ枠をクリックして直しましょう。

そのうちエラーでとまります、このバージョンのStableDiffusionは追加で必要なモジュールがあります。

D:\Repository\stable-diffusion-webui-directml\repositoriesに必要なものがないんだが?

追加モジュール

D:\Repository\stable-diffusion-webui-directml\repositoriesの
K-DiffusionとStable-Diffusion-stability-aiを確認します。
空になってると思います。

それぞれのフォルダを開いてGit Bashを実行し、以下のURLからそれぞれ対応したリポジトリをクローンして、その中にあるファイル群を移しましょう

K-Diffusion
https://github.com/lshqqytiger/k-diffusion-directml/tree/master

Stable-Diffusion-stability-ai
https://github.com/lshqqytiger/stablediffusion-directml/tree/main

たとえばD:\Repository\stable-diffusion-webui-directml\repositories\K-Diffusion
の中がこうなれば良し

モジュールを用意して再実行

モジュールを入れたら再実行してみましょう
最後にURLが登場したら成功です!

追加コマンドを入力して実行

directML版StableDiffusionはまだまだ安定してないので追加コマンドを入れないと、GPUのメモリ食い尽くしてPCが即落ちします(壊れないとは思う)

webui-user.batを右クリックから編集で開きます。
もしくはテキストエディタなどを開いて、webui-user.batをD&Dします

開きます

set COMMANDLINE_ARGS=という変数に次の値を追加して保存します。

set COMMANDLINE_ARGS=--opt-split-attention --medvram --disable-nan-check --autolaunch

StableDiffusionにようこそ!

CMDに出てくるURLを何らかのブラウザで入力すると
StableDiffusionをGUIで操作するこの画面が登場します。

終わり

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