paperspace gradientでkohya-ss/sd-scriptsを動かすメモ

カスタムコンテナ

paperspacegradientはデフォルト設定で入るpythonバージョンは3.9なのでsd-scriptsは動かない

そこでカスタムコンテナというと難しげだが、Engineer-of-Stuff/stable-diffusion-paperspaceで書かれたように入力するだけ

cyberes/gradient-base-py3.10:latest

venvは使わない

これは最初だけ

!git clone https://github.com/kohya-ss/sd-scripts.git

マシンを起動する度に必要

apt update -y
apt upgrade -y

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 dadaptation #dadaptationオプティマイザ使うために
pip install prodigyopt #prodigyopt オプティマイザは使ったことはない
pip install -U --pre triton
pip install xformers   #xformerは使わないが入れないとエラーが出る。 ちゃんと検証していない
accelerate config

コマンドライン引数とか

一応動くが、うまくいってはいない

accelerate launch --num_cpu_threads_per_process 32 train_network.py \
--network_module=networks.lora \
--network_dim=64 --network_alpha=64 \
--max_data_loader_n_workers=64 \
--train_batch_size=4 \
--pretrained_model_name_or_path=/notebooks/NAIfull-latest.ckpt \
--vae=/notebooks/waifu-diffusionv14kl-f8-anime2.vae.pt \
--train_data_dir=/notebooks/lora_train_data/train_dir \
--in_json=/notebooks/raikou_v06/marge_clean.json \
--caption_extension=".txt" \
--output_dir=/notebooks/raikou_v06/lora \
--output_name="raikou_v066" \
--save_model_as="safetensors" \
--save_precision="fp16" \
--logging_dir=/notebooks/raikou_v06/log \
--log_prefix="raikou_v066" \
--output_config \
--save_state \
--save_last_n_epochs_state=1 \
--resolution=512,512 \
--enable_bucket \
--min_bucket_reso=512 \
--max_bucket_reso=2048 \
--bucket_reso_steps=64 \
--bucket_no_upscale \
--color_aug \
--max_train_epochs=20 \
--save_n_epoch_ratio=10 \
--dataset_repeats=10 \
--learning_rate=0.5 \
--max_grad_norm=1.0 \
--seed=23 \
--clip_skip=2 \
--noise_offset=0.1 \
--min_snr_gamma=5 \
--lr_scheduler="cosine_with_restarts" \
--lr_scheduler_num_cycles=2 \
--lr_scheduler_power=1 \
--gradient_accumulation_steps=1 \
--mixed_precision="fp16" \
--optimizer_type="DAdaptation" \
--max_token_length=225 \
--caption_dropout_rate=0.0 \
--caption_tag_dropout_rate=0.1 \
--caption_dropout_every_n_epochs=1 \
--sample_every_n_epochs=1 \
--sample_prompts=/notebooks/raikou_v06/kagerou_v6sample.txt \
--sample_sampler="euler_a"
 #7zipインストール 
!sudo apt-get install -y p7zip-full 

paperspace gradient対応のxformers

試してない

GitHub - Cyberes/xformers-compiled: xformers compiled for specific graphics cards.

2023-06-22追記

試した結果xformersはPython3.9用らしく無理だった

2023-07-05追記

これでxformersが0.0.17であるが動くっぽいぞ

#venv使わない
!sudo apt update -y && sudo apt upgrade -y

%cd sd-scripts
!git pull
#derrian-distro/LoRA_Easy_Training_Scripts参考
!pip install torch==2.0.0+cu118 torchvision==0.15.1+cu118 --index-url https://download.pytorch.org/whl/cu118
!pip install -U --pre triton
!pip install dadaptation #dadaptationオプティマイザ使うために --optimizer_type="DAdaptation"
!pip install prodigyopt #prodigyoptオプティマイザ用  --optimizer_type="prodigy" dyloraで使える
!pip install --use-pep517 --upgrade -r requirements.txt
!pip install xformers==0.0.17
# accelerate config  これはターミナルで実行

2023-07-05追記

libnvinfer.so.7無いよみたいに言われる 入ってるのが「7」でなく「8」であるのでそうなるまではわかったが、「8」に対応させる「7」にダウングレードする方法は不明

それでも一応動くのでOKとする*1

*1:満足行くLoRAはできてないから問題がここにある可能性も否めない、切り分けはできてない