【生成AI】Stable Diffusion WebUI導入手順_Windows版

# 1. Stable Diffusion WebUIとは
## 1.1 Stable Diffusionとは

https://ja.stability.ai/stable-diffusion

Stability AIが開発、一般公開した画像を生成することができるAIです。
いまではたくさんの派生モデルが登場しており、いろいろなタイプのイラストを簡単に作成することが可能です。
（モデルによっては商用利用などはできない場合があります。しっかり確認のちご利用ください。）
めっちゃ強いです。

## 1.2 Stable Diffusion WebUIとは

https://github.com/AUTOMATIC1111/stable-diffusion-webui

Stable Diffusionをブラウザ上のGUIで動かせます。
使いやすいし見やすい。
PCスペックがある程度あればどんどん画像が生成できる。
しかも無料。
（モデルによっては商用利用などはできない場合があります。しっかり確認のちご利用ください。）
ガチツヨです。


# 2. 導入環境
* Windows11
* Pythonなどはまだ入っていないことを想定
* GPUドライバインストール済み（NvidiaのGPUが推奨らしい）
* 今回はローカルに導入します

# 3. 導入方法
## 3.1 Gitのインストール
stable diffusion webuiのプログラムが格納されているGitHubというソフトウェア開発管理のプラットフォームとやりとりするためにWindowsにgit for windowsをダウンロードします。

https://gitforwindows.org/

以下のページを参考にインストールするのがいいと思います。
かなりわかりやすいです。ありがとうございます。

https://www.curict.com/item/60/60bfe0e.html

## 3.2 pyenvのインストール
stable diffusion webuiを動かすためにはPythonというプログラミング言語をPC上でうごくように設定する必要があります。
Pythonをインストールしてもいいのですが、わたしはpyenvというPythonのバージョン管理ができるツールを導入することを推奨します。

Pythonにはバージョンが存在し、3.10というバージョンで動くものもあれば、3.10では動かず3.9でのみ動くプログラムもあります。
pyenvを使えば逐一Pythonのバージョンを切り替えることができるため大変便利です。
ちなみにstable diffusion webuiはいまのところ3.10.6で動くと書いてありました。

pyenvはwindows用にpyenv-winというものが用意されており、インストール方法は以下のGitHubにありますが超簡単です。

https://github.com/pyenv-win/pyenv-win

1. windowsの検索窓で"powershell"を検索しでてきたWindows PowerShellを開く。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3475030/ed0182e1-575d-75ab-6808-a9e2fd4673e2.png)

2. デフォルトではpyenvのスクリプトが実行できない状態になっているかもしれませんので、以下のコマンドで実行ポリシーを確認します。
    ```powershell
    Get-ExecutionPolicy
    ```
    結果が"Restricted"の場合は以下のコマンドを実行してスクリプトを実行できる状態にします。
    ```powershell
    Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope Process
    ```
    もう一度ポリシーを確認すると"RemoteSigned"になっているはずです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3475030/08b8f76f-d100-2037-0109-9c4c0b8164b2.png)

3. powershellからpyenv-winをインストールします。

    ```powershell
    Invoke-WebRequest -UseBasicParsing -Uri "https://raw.githubusercontent.com/pyenv-win/pyenv-win/master/pyenv-win/install-pyenv-win.ps1" -OutFile "./install-pyenv-win.ps1"; &"./install-pyenv-win.ps1"
    ```

4. PowerShellを一回閉じてもう一度開きます。

5. 以下のコマンドを実行してpyenvのバージョンが表示されることを確認してください。
    ```powershell
    pyenv --version
    ```
    ※ポリシーで動かない場合はもう一度以下のコマンドを実行してください。
    ```powershell
    Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope Process
    ```

6. 以下のコマンドで管理、導入できるPythonのバージョンを確認できます。
    ```powershell
    pyenv install -l
    ```

7. 今回はstable diffusion webuiに3.10.6を使えって書いてあるので3.10.6をインストールします。
    ```powershell
    pyenv install 3.10.6
    ```

8. pyenvのデフォルトに3.10.6を設定します。
    ```powershell
    pyenv global 3.10.6
    ```

## 3.3 stable-diffusion-webuiのインストール
ここまできたらあとはGitHubの説明に沿ってstable-diffusion-webuiを入れていきます。

1. PowerShellで以下のコマンドを実行します。
    ```powershell
    git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
    ```

2. フォルダを移動します。
    ```powershell
    cd stable-diffusion-webui
    ```

3. stable-diffusion-webuiを実行します。
    ```powershell
    .\webui-user.bat
    ```

最初の実行時には時間がかかりますが、待っていればブラウザ上でstable diffusion webuiが起動されます！

# 4. stable diffusion webuiで遊ぶ！
あとは好きなだけ画像を生成して遊ぶのみです！
（モデルによっては商用利用などはできない場合があります。しっかり確認のちご利用ください。）
細かい使い方はまた機会があれば記事を書きます！
設定時にここで躓いたとか、ここ間違っているよっていうのがあればコメントいただけますと幸いです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3475030/403aafd4-a640-e3d1-4000-aa11b912c35c.png)

# 5. あとがき
アイコン用に魔法使いブルドッグ獣人を生成しました。
![image6.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3475030/b42dc431-85f1-fa7f-6097-23c7fe670ad2.png)