sd-scriptsをインストールする手順を紹介します。
「LoRA」により、独自の追加学習モデルを作成できます。LoRAのモデルを作成するスクリプトに "sd-scripts" があります。
この記事では、sd-scriptsのインストール手順を紹介します。
GitHubのsd-scriptsのリポジトリのページ(https://github.com/kohya-ss/sd-scripts)にアクセスします。
右側の[Releases]の枠から最新のリリースの項目をクリックします。
リリースのページが表示されます。
ページを下にスクロールします。[Source code(zip)]のリンクがありますのでクリックします。
ソースコードのzipファイルがダウンロードできました。
ZIPファイルを展開します。
コマンドプロンプトを起動し、カレントディレクトリをsd-scriptsを配置するディレクトリに変更します。
カレントディレクトリの変更後、以下のコマンドを実行します。
git clone https://github.com/kohya-ss/sd-scripts.git
sd-scriptsを動作させるためのPython仮想環境を作成します。仮想環境を作成し、その中でsd-scriptを動作させるためのライブラリや環境変数を設定し、
他のPythonプログラムに影響が出ないようにします。
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の初期設定を実行します。
.\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を選択します。
以上で設定完了です。default_config.yaml に設定内容が保存されます。
以上でsd-scripts のインストールは完了です。
アップデートはリポジトリからpullした後に、パッケージも更新する必要があります。
初めにgitコマンドで最新のコードをリポジトリからプルします。
cd (sd-scripts)のインストールディレクトリ
("git" または "git.exe のフルパス") pull
続いて仮想環境に切り替え、パッケージを更新します。
venv\Scripts\Activate.bat
pip install --upgrade -r requirements.txt