はじめに
画像生成AIであるStable Diffusion web UIをローカルではなく機械学習サービスを用いて使う際の環境構築手順のメモです。
今回はAmazon SageMaker Studio Labを使用します。
google colabはstable diffisonの場合制限がかかってしまうため、無料である程度不便なく使用できるSageMakerを採用しました。
Amazon SageMaker Studio Labとは
無料の機械学習 (ML) 開発環境であり、コンピューティング、ストレージ (最大 15 GB)、セキュリティをすべて無料で提供してくれます
GPUなら1日4時間使用可能です
参考
Amazon SageMaker Studio Labアカウントの作成
ここからアカウント作成の申請をします。
申請から数日後にアカウント作成のメールが届きます。
届いたリンクからアカウントを作成します。
ngrokアカウントの作成
SageMaker上で起動したStable Diffusion Web UIにアクセスするため、ngrokを用います。
ngrokとは
インターネット上でローカルのサーバーやアプリケーションに一時的な公開URLを提供するツール。
ここからngrokアカウントを作成
トークンの取得
ngrokを使用するためにトークンが必要なので取得します。
サイドバーのAuthTokensから作成します。
tokenは漏れないように注意!
Stable Diffusion Web UI環境構築
SageMaker Studio Labにログイン
作成したアカウントでログインします。
SageMaker Studio Labを起動
GPUを選択してStart runtime
を押下。
起動に成功するとOpen project
が押せるようになります。
Stable Diffusion Web UIのインストール
プロジェクトを開くと、Jupyter Labが起動します。
起動したら新規NoteBookを起動(dafult:Python)
インストールをしていきます。以下のコードを順に実行
上部の▶️ボタンで実行
- ルートフォルダに移動
%cd ..
/home/studio-lab-user
に移動するはず
- stable diffusionをgitからclone
!git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui
- ライブラリインストール(更新)
- ディレクトリは
stable-diffusion-webui
- ディレクトリは
%pip install -r requirements.txt
- opencv-python-headlessのインストール(2024/10/7追記)
- これを入れないと起動失敗する場合がある
- このエラーが起きるようです
ImportError: libgthread-2.0.so.0: cannot open shared object file: No such file or directory
%pip install opencv-python-headless
- webUIを起動
%cd stable-diffusion-webui
!COMMANDLINE_ARGS="--ngrok ここにngrokのトークンを入力 --ngrok-region jp --xformers --no-half-vae" REQS_FILE="requirements.txt" python launch.py --enable-insecure-extension-access
起動に成功するとhttps://xxxx-x-xxx-xxx-xxx.ngrok-free.app
というリンクが出力されるのでリンクを踏みます。
そうするとwebUIが開きます!🎉
コマンドライン引数について
--xformers
:VRAM使用量を抑えつつ、生成速度も上げる
--no-half-vae
:VRAM使用量は増えるが黒画像発生率を低減
終了するとき
- Jupyter Labの停止◾️ボタンでスクリプトを停止
- SageMakerでstop runtimeを押下
runtimeを止め忘れると残り時間が消費されてしまうので忘れずに停止しましょう
webUIのアップデート
%cd stable-diffusion-webui
!git pull
# ライブラリの再インストール
%pip install -r requirements.txt
おまけ
このままでも生成はできますが、モデルやLoraなどを導入することでより多彩な画像を生成できます。
civitaiやhuggingfaceなどで色々ダウンロードできます。
指定のフォルダにD&Dでも追加できますが、コマンドライン上でダウンロードもできます。
例:Anything v5
# anything -v5
!wget https://civitai.com/api/download/models/30163 -O ./models/Stable-diffusion/anything-v5-Prt-RE.safetensors