sd-scripts のインストール - Stable Diffusion
sd-scriptsをインストールする手順を紹介します。
概要
「LoRA」により、独自の追加学習モデルを作成できます。LoRAのモデルを作成するスクリプトに "sd-scripts" があります。
この記事では、sd-scriptsのインストール手順を紹介します。
メモ
ライブラリのインストールで実行するコマンドは古いバージョンでのコマンドが記載されている可能性があります。
最新のコマンドはGitHubのドキュメントを参照してください。
sd-scriptsのダウンロード(zipファイルでの入手)
メモ
長期的に運用する場合は、アップデートが容易なGitコマンドで取得する方法がおすすめです。
GitHubのsd-scriptsのリポジトリのページ(
https://github.com/kohya-ss/sd-scripts)にアクセスします。
右側の[Releases]の枠から最新のリリースの項目をクリックします。
リリースのページが表示されます。
ページを下にスクロールします。[Source code(zip)]のリンクがありますのでクリックします。
ソースコードのzipファイルがダウンロードできました。
ZIPファイルを展開します。
sd-scriptsのダウンロード(Gitコマンドで取得)
コマンドプロンプトを起動し、カレントディレクトリをsd-scriptsを配置するディレクトリに変更します。
カレントディレクトリの変更後、以下のコマンドを実行します。
git clone https://github.com/kohya-ss/sd-scripts.git
Python仮想環境の作成
sd-scriptsを動作させるためのPython仮想環境を作成します。仮想環境を作成し、その中でsd-scriptを動作させるためのライブラリや環境変数を設定し、
他のPythonプログラムに影響が出ないようにします。
ヒント
コマンドの実行は、PowerShelではなくDOSコマンドプロンプトで実行します。(PowerShellでは仮想環境への切り替わりが確認しづらいため)、
PowerShellのコマンドプロンプトを開いている場合は、cmd
コマンドを実行して、コマンドプロンプトをPowerShellから起動します。
展開したsd-scriptsのディレクトリにカレントディレクトリを移動し、次のコマンドを実行し"venv"という名前の仮想環境を作成します。
または
(python.exeのフルパス) -m venv venv
コマンドを実行しても特に変化はありません。
仮想環境へ切り替える
先ほど作成した仮想環境に切り替えます。
カレントディレクトリが、展開したsd-scriptsのディレクトリであることを確認し、次のコマンドを実行します。
.\venv\Scripts\activate.bat
コマンドを実行するとプロンプトの先頭に
(venv)
の文字列が表示され、仮想環境に切り替わったことが確認できます。
ライブラリのインストール
sd-scriptsに必要なライブラリをインストールします。次のコマンドを実行します。
pip install torch==2.1.2 torchvision==0.16.2 --index-url https://download.pytorch.org/whl/cu118
下図の画面イメージは旧バージョンのため、torchのバージョンが紹介しているコマンドと異なります。
コマンドを実行するとインストールが始まります。
インストールが完了しました。
以下のコマンドを実行して、必要なライブラリをアップデートします。
pip install --upgrade -r requirements.txt
アップデートが完了しました。
以下のコマンドを実行して、xformersライブラリをインストールします。
pip install xformers==0.0.23.post1 --index-url https://download.pytorch.org/whl/cu118
xformers ライブラリがインストールできました。
次のコマンドを実行してファイルをコピーします。
既にファイルが存在していますが、元のファイルはLinux用のファイルのため、上書きします。
copy .\bitsandbytes_windows\*.dll .\venv\Lib\site-packages\bitsandbytes\
copy .\bitsandbytes_windows\cextension.py .\venv\Lib\site-packages\bitsandbytes\cextension.py
copy .\bitsandbytes_windows\main.py .\venv\Lib\site-packages\bitsandbytes\cuda_setup\main.py
sd-scripts の初期設定
次のコマンドを実行して、sd-scriptsの初期設定を実行します。
.\venv\Scripts\accelerate.exe config
設定プログラムが起動します。動作させるマシンの確認です。デフォルトの[This machine]を選択します。[Enter]キーを押します。
分散処理の有り無しの確認です。デフォルトの[No distributing training]を選択します。[Enter]キーを押します。
CPUだけを利用して処理を実行するかの確認です。このマシンにはGPUがありますので、[NO]を入力します。入力後[Enter]キーを押します。
TorchDynamoを利用するかの確認です。TorchDynamoはPythonの実行をフックして実行状況から処理を最適化する機能です。
今回は利用しませんので、[NO]を入力します。入力後[Enter]キーを押します。
DeepSpeed(ディープラーニング最適化ライブラリ)の利用確認です。利用しませんので、[NO]を入力します。入力後[Enter]キーを押します。
このマシンのどのGPUを利用するかの確認です。GPUは1つしかありませんので、[all]を入力します。入力後[Enter]キーを押します。
FP16, BF16 の利用確認です。 FP16は新しいGPU(GTX 1080 以降、Tesla P100 以降)でサポートされています。BF16は精度が上がりますが、ハードウェアをより選びます。(nVidia A100 GPU, Ampere, Ada Lovelace)
新しめのnVidia GPUが搭載されていれば、[1]を入力して、FP16を選択します。古いGPUの場合は、[NO]を選択します。
Ampere以降の最新のGPUで精度を上げて学習をしたい場合は、[2]を入力してBF16を選択します。
メモ
- FP16 : 指数部5ビット, 仮数部 10ビット
- BF16 : 指数部8ビット, 仮数部 7ビット
以上で設定完了です。default_config.yaml に設定内容が保存されます。
以上でsd-scripts のインストールは完了です。
アップデートの手順
アップデートはリポジトリからpullした後に、パッケージも更新する必要があります。
初めにgitコマンドで最新のコードをリポジトリからプルします。
cd (sd-scripts)のインストールディレクトリ
("git" または "git.exe のフルパス") pull
続いて仮想環境に切り替え、パッケージを更新します。
venv\Scripts\Activate.bat
pip install --upgrade -r requirements.txt
著者
iPentecのメインプログラマー
C#, ASP.NET の開発がメイン、少し前まではDelphiを愛用