Stable Diffusion LoRAデータ作成 学習実行編
前回、「Stable Diffusion LoRAデータ作成 sd-scriptsインストール編」、「Stable Diffusion LoRAデータ作成 教師データ準備編」でLoRAデータを学習できるツールのインストールから教師データの準備までを紹介しましたが、今回はいよいよ学習、LoRAデータを作成していきます。
設定ファイル作成
テキストファイルを作成し拡張子を.tomlとして任意の場所に保存します。いつもの如く、日本語パスが交じるとパスが通らなくなるためご注意ください。
今回は[general]や[[datasets]]はコマンドラインから入力するため、記述はしませんでした。
.tomlの中に以下を記載
[general]
[[datasets]]
[[datasets.subsets]]
image_dir = 'ここに教師データのパス'
num_repeats = 1
# 以下は正則化画像を用いる場合のみ記述する。用いない場合は削除する
[[datasets.subsets]]
is_reg = true
image_dir = '正則化データのパス'
class_tokens = '正則化したいワード'
num_repeats = 1
num_repeatsは何回、繰り返し学習するかを設定するため、任意の数をいれましょう。初回は動作確認をしていくため「1」で良いと思います。
コマンド文を書く
動作させるためのコマンドを作成します。
いくつか環境によって書き換えなくてはいけませんが、必要な部分を書き換えて、改行を外せば、コマンド文が完成です。その他オプションの詳細やその他設定できる項目は公式のRead meをご覧ください。設定用に改行をいれていますが、実際は改行を全て外して1行にしてPowerShallに入れ込みます。
accelerate launch --num_cpu_threads_per_process 1 train_network.py
--pretrained_model_name_or_path=ここにモデルデータのパス
--output_dir=ここにアウトプット保存先フォルダのパス
--dataset_config=設定ファイル.tomlまでのパス
--train_batch_size=1
--max_train_epochs=1
--resolution=512,512
--optimizer_type=AdamW8bit
--learning_rate=1e-4
--network_dim=256
--network_alpha=128
--enable_bucket
--bucket_no_upscale
--lr_scheduler=cosine_with_restarts
--lr_scheduler_num_cycles=4
--lr_warmup_steps=500
--keep_tokens=1
--shuffle_caption
--caption_dropout_rate=0.05
--save_model_as=safetensors
--clip_skip=2
--seed=42
--color_aug
--xformers
--mixed_precision=fp16
--network_module=networks.lora
--persistent_data_loader_workers
--save_every_n_epochs=1
改行を外した状態のコマンド
accelerate launch --num_cpu_threads_per_process 1 train_network.py --pretrained_model_name_or_path=ここにモデルデータのパス --output_dir=ここにアウトプット保存先フォルダのパス --dataset_config=設定ファイル.tomlまでのパス --train_batch_size=1 --max_train_epochs=1 --resolution=512,512 --optimizer_type=AdamW8bit --learning_rate=1e-4 --network_dim=256 --network_alpha=128 --enable_bucket --bucket_no_upscale --lr_scheduler=cosine_with_restarts --lr_scheduler_num_cycles=4 --lr_warmup_steps=500 --keep_tokens=1 --shuffle_caption --caption_dropout_rate=0.05 --save_model_as=safetensors --clip_skip=2 --seed=42 --color_aug --xformers --mixed_precision=fp16 --network_module=networks.lora --persistent_data_loader_workers --save_every_n_epochs=1
学習の実行
sd-scriptsがインストールされているフォルダからPowerShellを起動し、以下のコマンドを入力しエンターキーを押します。
.venv/scripts/activate
その後、改行を外したコマンドをコピペしてエンターパスや設定などが間違えてなければ、機械学習がスタートし以下のようなStepが表示された画面がとなります。
100%となり処理され、設定したアウトプットフォルダにsafetensorsファイルが生成されていればLoRAデータの作成は完了です。
次回は実際にLoRAデータを生成してみた際のチューニングの履歴をご紹介したいと思います。