StreamDiffusionをローカル環境で動かす方法を丁寧に解説
更新履歴
2023/12/31
StreamDiffusion の導入準備
Git のインストール手順を追加Node.js のインストール
インストールパッケージを nodejs から nodejs-lts に変更StreamDiffusion インストール手順
Python 仮想環境の作成コマンドにバージョン指定を追加
demo/realtime-img2img の動作に必要な手順を追加
各コマンドに簡単な説明を追加
2023/12/28
StreamDiffusionとは
公式 GitHub から引用する形で説明文を追加導入準備
Python3.10 のインストール手順を追加Node.js のインストール
PowerShell に環境変数を読み込ませる手順を追加
インストール後のバージョン確認手順を追加reaktime-text2img の使い方
動作中画面のスクショを追加FAQ
項目だけ追加 ( まだ中身はありません )その他
文中に登場するワードの一部について、解説サイトや公式サイトへのリンクを追加
2023/12/24
初版 ( 殴り書きレベル ) 公開
はじめに
こんにちは、JAPと申します。
今回は 2023年12月 に公開された StreamDiffusion をローカル環境に導入する手順を紹介します。
StreamDiffusionとは
一言でいうと「爆速画像生成AIツール」です。公式 GitHub では以下の様に説明されています。
StreamDiffusion の導入準備
StreamDiffusion を動作させるには、最低でも Python3.10 環境が必要です。また、一部の Demo を動作させるためには Node.js のインストールも必要になります。
この章では Python3.10 と Node.js のインストール手順を説明します。どちらも導入済みの方は読み飛ばしてください。
パッケージ管理システム Chocolatey 導入
Chocolatey は Windows 用のパッケージ管理システムです。Linux ( Debian系 ) の APT や MacOS の Homebrew みたいなものと考えてください。
Windows 用のパッケージ管理システムとしては、Microsoft 公式の Winget もありますが、この記事では実績面で Winget に勝っている Chocolatey を使用します。
Windows PowerShell を管理者権限で起動して、以下のコマンドを実行するだけでインストールできます。
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
インストールが完了したら exit コマンドで WindowsPowerShell を閉じておきましょう。
exit
Git のインストール ( Chocolatey 使用 )
Git は分散型バージョン管理システムの一つです。Linux カーネルのソースコード管理を行うために開発され、現在では多くの OSS の管理に用いられています。
Chocolatey を導入済みであれば、Windows PowerShell を管理者権限で起動して、以下のコマンドを実行するだけでインストールできます。
choco install -y git
続けて PowerShell に環境変数を再読み込みさせます。この手順は「おまじない」程度に考えてください。
Import-Module $env:ChocolateyInstall\helpers\chocolateyProfile.psm1
refreshenv
インストールされた Git のバージョンを確認しましょう。
git -v
上記コマンドの実行結果として、version 2.43.0 以上のバージョン番号が表示されればOKです。
Git は現在も活発に開発が行われていますので、インストールしたタイミングによっては、表示されるバージョンが異なる場合があります。
git version 2.43.0.windows.1
Python3.10 のインストール ( Chocolatey 使用 )
Python は「インタプリタ言語」に分類されるプログラミング言語の一つです。機械学習、データサイエンス、AIなどの分野で必要とされるライブラリが充実していることから、AI界隈では事実上のデファクト・スタンダードになっています。
Chocolatey を導入済みであれば、Windows PowerShell を管理者権限で起動して、以下のコマンドを実行するだけでインストールできます。
choco install -y python --version=3.10.11
続けて PowerShell に環境変数を再読み込みさせます。この手順は「おまじない」程度に考えてください。
Import-Module $env:ChocolateyInstall\helpers\chocolateyProfile.psm1
refreshenv
インストールされた Python のバージョンを確認しましょう。
python -V
上記コマンドの実行結果として、以下のように表示されればOKです。
Python 3.10.11
Node.js のインストール ( Chocolatey 使用 )
Node.js は、Google が開発した V8 JavaScript エンジンを使用してサーバーサイドの JavaScript アプリケーションを実行するためのランタイム環境です。Chocolatey を導入済みであれば、Windows PowerShell を管理者権限で起動して、以下のコマンドを実行するだけでインストールできます。
choco install -y nodejs-lts
続けて PowerShell に環境変数を再読み込みさせます。この手順は「おまじない」程度に考えてください。
Import-Module $env:ChocolateyInstall\helpers\chocolateyProfile.psm1
refreshenv
インストールされた Node.js のバージョンを確認しましょう。
node -v
上記コマンドの実行結果として、v20.10.0 以上のバージョン番号が表示されればOKです。
Node.js は今でも活発に開発が行われていますので、インストールしたタイミングによっては、表示されるバージョンが異なる場合があります。
v20.10.0
pnpm パッケージマネージャーをインストールします。
npm install -g pnpm
最後に
exit コマンドで WindowsPowerShell を閉じて完了です。
exit
StreamDiffusion インストール手順
Windows PowerShell を起動して、以下のコマンドを順に実行します。この手順通りに実行した場合、インストール先は c:\StreamDiffusion となります。
ソースファイルを GitHub からクローン ( コピー )
カレントディレクトリを ホームディレクトリ から c:\ に変更
cd c:\
StreamDiffusion リポジトリを c ドライブ直下にクローン ( コピー )
git clone https://github.com/cumulo-autumn/StreamDiffusion.git
Python 仮想環境の作成とアクティベート
カレントディレクトリを c:\StreamDiffusion に変更
cd ./StreamDiffusion
Python3.10 の仮想環境を作成
py -3.10 -m venv .venv
作成した仮想環境をアクティベート ( 有効化 )
./.venv/Scripts/activate
仮想環境内の pip パッケージを最新版にアップデート
python -m pip install --upgrade pip
PyTorch のインストール
pip install torch==2.1.0 torchvision==0.16.0 xformers --index-url https://download.pytorch.org/whl/cu121
StreamDiffusion 本体のインストール
pip install pywin32 accelerate
pip install git+https://github.com/cumulo-autumn/StreamDiffusion.git@main#egg=streamdiffusion[tensorrt]
python -m streamdiffusion.tools.install-tensorrt
demo / example を使いたい場合に必要な追加手順
demo/realtime-txt2img を動作させたい場合のみ必要
pip install -r ./demo/realtime-txt2img/requirements.txt
demo/realtime-img2img を動作させたい場合のみ必要
pip install -r ./demo/realtime-img2img/requirements.txt
examples/screen を動作させたい場合のみ必要
pip install -r ./examples/screen/requirements.txt
exit コマンドで WindowsPowerShell を閉じて完了です。
exit
実行方法
StreamDiffusion には Stable Diffusion webui の様な GUI ( グラフィカル・ユーザー・インターフェース ) はありません。自分で Python プログラムを書いて実行するのが基本となりますが、プログラミングが苦手な方でも簡単に試すことが出来る demo と examples が用意されています。
準備
Windows PowerShell を起動して、以下のコマンドを順に実行します。
cd c:/StreamDiffusion
./.venv/Scripts/activate
Windows PowerShell が以下のような表示になれば準備完了です。
(.venv) PS C:\StreamDiffusion>
realtime-txt2img
準備の手順を実施した後に、以下のコマンドを順に実行。
cd ./demo/realtime-txt2img/frontend
pnpm i
pnpm run build
cd ..
python main.py
Windows PowerShell の表示が以下の様になれば demo プログラムの起動は成功しています。
http://127.0.0.1:9090 部分を Ctrl キーを押しながらクリックすることでブラウザ画面が表示されます。
INFO: Started server process [22268]
INFO: Waiting for application startup.
INFO: Application startup complete.
INFO: Uvicorn running on http://127.0.0.1:9090 (Press CTRL+C to quit)
画面下部のフォームに好きなキーワードをどんどん入れていくだけ。入力されたキーワードに反応して、次々にイラストが描き変わっていきます!素晴らしい!
生成中画面 ( MP4版 )
text2image
準備の手順を実施した後に、以下のコマンドを実行。
3枚のイラストが c:\StreamDiffusion\output に出力されます。
python ./examples/txt2img/multi.py --output ./output --prompt "a girl with cat ears"
生成結果
FAQ
T.B.D.