今回はLoRAの学習環境であるsd-scriptsのセットアップ方法について解説します。
LoRAで自分好みのキャラクターを追加させ、LoRAファイルを作成することでキャラクターを固定して画像生成をすることが可能になります。
非常に役に立つ機能ですが、セットアップ方法がかなり複雑であるため、今回は導入編として手順を解説します。
また、当ブログのStable Diffusionに関する記事を以下のページでまとめていますので、あわせてご覧ください。
Stable Diffusionの導入方法から応用テクニックまでを動画を使って習得する方法についても以下のページで紹介しています。
sd-scriptsとは
LoRA(Low-Rank Adaptation)はStable Diffusionの既存モデルを、20枚程度の画像を用いて追加学習させることにより微調整することができる仕組みです。
LoRAを用いることにより、キャラクターや服装などの特徴を固定して画像生成することが可能になります。
そして、このLoRAの学習環境として利用するのが、kohya-ssさんがGitHubで公開されているsd-scriptsというツールです。
sd-scriptsの入手先
sd-scriptsの公式リポジトリは以下となります。
GitHub
日本語解説
サンプルデータセット
sd-scripts製作者のKohya S.さんがサンプルデータセットも公開してくれています。
sd-scriptsのインストール
ここからは、具体的なセットアップ手順を解説します。
Paperspaceでもカーネルリスタート時にpipでインストールしたライブラリが初期化されてしまうので、毎回以下の手順で再インストールする必要があります。
Paperspace、Google Colabratoryでのインストール
PaperspaceとGoogle Colabratoryでのインストール方法を解説します。
掲載するコードをjupyter notebookで実行してください。
尚、解説で使用するコードと画像はPaperspaceの場合のものとなりますので、Google Colabratoryで使用する場合はパスを/notebooks/
→/notebooks/
に読み替えて実行してください。
Pythonのアップデート
Pythonを推奨バージョンにアップデートします。
以下のコマンドをjupyter notebookで実行してください。
#推奨のPython 3.10にアップデート
!sudo apt-get -y update
!sudo apt-get -y install python3.10
#デフォルトをデフォルトでPython 3.10に設定
!sudo cp `which python3.10` /usr/local/bin/python
#pipのインストール
!wget https://bootstrap.pypa.io/get-pip.py
!sudo python get-pip.py
#Pythonのバージョンを確認
!python --version
必要なライブラリのインストール
sd-scriptsのリポジトリのダウンロードと、必要なライブラリのインストールを行います。
%cd /notebooks/
#sd-scriptのリポジトリをダウンロード
!git clone https://github.com/kohya-ss/sd-scripts.git
!cd sd-scripts
#必要なライブラリをインストール
!pip install torch==1.13.1+cu117 torchvision==0.14.1+cu117 torchaudio==0.13.1 --extra-index-url https://download.pytorch.org/whl/cu117
!pip install --upgrade -r requirements.txt
!pip install -U --pre triton
!pip install xformers==0.0.16rc425
ここで[Errno 2] No such file or directory: 'requirements.txt'
というエラーが発生した場合は、発生したエラーの項目をご確認ください。
ターミナルを起動
ここからはコマンド実行時に設定内容を入力する必要があるため、ターミナルで作業を行います。
Paperspaceの画面のタブの+
をクリックします。
Terminal
をクリックします。
accelerate configの設定
ターミナルが起動したら、以下のコマンドを実行します。
cd /notebooks/sd-scripts/
accelerate config
accelerateの設定内容を聞かれますので、以下のように設定してください。
- This machine
- No distributed training
- NO
- NO
- NO
- all
- fp16
各質問を以下のように入力します。
これでsd-scriptsの設定は完了しました。
Windows(ローカル環境)でのインストール
Windowsでsd-scriptsをインストールする手順を解説します。
Pythonのインストール
Pythonをインストールします。以下のURLからインストーラをダウンロードし、実行してください。
Python 3.10.6: https://www.python.org/ftp/python/3.10.6/python-3.10.6-amd64.exe
gitのインストール
続いてgitをインストールします。インストール方法は以下の記事で解説しています。
PowerShellのセキュリティ設定
PowerShellでPythonの仮想環境venvを使用するためのセキュリティ設定を行います。
PowerShellを管理者として開きます。起動したら以下のコマンドを入力してください。
Set-ExecutionPolicy Unrestricted
実行したらy
と回答を入力します。
sd-scriptsのインストール
gitからsd-scriptsのリポジトリをダウンロードします。
git clone https://github.com/kohya-ss/sd-scripts.git
cd sd-scripts
Pythonの仮想環境を有効にします。
python -m venv venv
.\venv\Scripts\activate
必要なライブラリのインストールをします。
以下のコマンドを一行ずつ実行していってください。
pip install torch==1.12.1+cu116 torchvision==0.13.1+cu116 --extra-index-url https://download.pytorch.org/whl/cu116
pip install --upgrade -r requirements.txt
pip install -U -I --no-deps https://github.com/C43H66N12O12S2/stable-diffusion-webui/releases/download/f/xformers-0.0.14.dev0-cp310-cp310-win_amd64.whl
cp .\bitsandbytes_windows\*.dll .\venv\Lib\site-packages\bitsandbytes\
cp .\bitsandbytes_windows\cextension.py .\venv\Lib\site-packages\bitsandbytes\cextension.py
cp .\bitsandbytes_windows\main.py .\venv\Lib\site-packages\bitsandbytes\cuda_setup\main.py
accelerate configの設定
accelerate config
の設定を行います。
以下のコマンドを実行してください。
accelerate config
設定の内容を質問されますので、以下のように順番に設定をしてください。
- This machine
- No distributed training
- NO
- NO
- NO
- all
- fp16
これでsd-scriptsの設定は完了しました。
発生したエラー
ライブラリのインストール時にrequirements.txt
が存在しているにもかかわらず、以下のようなエラーが発生する場合があります。
ERROR: Could not open requirements file: [Errno 2] No such file or directory: 'requirements.txt'
対策
以下の手順で対策してください。
まずrequirements.txt
のバックアップを作成します。
!cp requirements.txt requirements_backup.txt
requirements.txtの修正
requirements.txt
から.
(ドット)を削除またはコメントアウトします。これにより、現在のディレクトリがパッケージとしてインストールされるのを防ぎます。- 再度
pip install --upgrade -r requirements.txt
を実行します。
以下のコマンドを実行します。
%cd /notebooks/sd-scripts/
!pip install --upgrade -r requirements.txt
#エラーでライブラのリインストールが止まったので再度インストール
!pip install -U --pre triton
!pip install xformers==0.0.16rc425
sd-scriptsを使ってLoRA学習を実行する
今回環境構築を行ったsd-scriptsを使って、実際にLoRA学習を実行する方法を以下の記事で解説しています。
Stable Diffusionのテクニックを効率よく学ぶには?
Stable Diffusionを使ってみたいけど、ネットで調べた情報を試してもうまくいかない…
そんな時は、操作方法の説明が動画で見られるUdemyがおすすめだよ!
動画学習プラットフォームUdemyでは、画像生成AIで高品質なイラストを生成する方法や、AIの内部で使われているアルゴリズムについて学べる講座が用意されています。
Udemyは講座単体で購入できるため安価で(セール時1500円くらいから購入できます)、PCが無くてもスマホでいつでもどこでも手軽に学習できます。
Stable Diffusionに特化して学ぶ
Stable Diffusionに特化し、クラウドコンピューティングサービスPaperspaceでの環境構築方法から、モデルのマージ方法、ControlNetを使った構図のコントロールなど、中級者以上のレベルを目指したい方に最適な講座です。
画像生成AIの仕組みを学ぶ
画像生成AIの仕組みについて学びたい方には、以下の講座がおすすめです。
画像生成AIで使用される変分オートエンコーダやGANのアーキテクチャを理解することで、よりクオリティの高いイラストを生成することができます。
まとめ
今回はLoRAの学習環境であるsd-scriptsのセットアップ方法について解説しました。
sd-scriptsはWeb UI上でインストール、使用できないため少し大変ですが、一度確立できれば既存のNotebookを実行するだけで使用できるようになりますので、ぜひ挑戦してみてください。
また、以下の記事で効率的にPythonのプログラミングスキルを学べるプログラミングスクールの選び方について解説しています。最近ではほとんどのスクールがオンラインで授業を受けられるようになり、仕事をしながらでも自宅で自分のペースで学習できるようになりました。
スキルアップや副業にぜひ活用してみてください。
スクールではなく、自分でPythonを習得したい方には、いつでもどこでも学べる動画学習プラットフォームのUdemyがおすすめです。
講座単位で購入できるため、スクールに比べ非常に安価(セール時1200円程度~)に学ぶことができます。私も受講しているおすすめの講座を以下の記事でまとめていますので、ぜひ参考にしてみてください。
それでは、また次の記事でお会いしましょう。
コメント