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 -m venv 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を愛用
掲載日: 2023-05-14
iPentec all rights reserverd.