1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Amazon SageMaker Studio LabでStable Diffusion Web UI環境を構築する

Last updated at Posted at 2024-10-02

はじめに

画像生成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が押せるようになります。

SageMaker_launch.png

起動に失敗することがある
起動できるユーザー数?か分かりませんが一定の制限があるようです。

なんどもリトライすればいずれ起動します。
経験上5~20試行すればだいたい起動できます。

たまにログインできなくなることがありますが、少し待てばなおります。
根気よく待ちましょう
error.png

Stable Diffusion Web UIのインストール

プロジェクトを開くと、Jupyter Labが起動します。
起動したら新規NoteBookを起動(dafult:Python)
スクリーンショット 2024-10-02 20.21.23.png

インストールをしていきます。以下のコードを順に実行
上部の▶️ボタンで実行

  • ルートフォルダに移動
%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が開きます!🎉

スクリーンショット 2024-10-02 20.31.51.png

コマンドライン引数について
--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
1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?