![見出し画像](https://assets.st-note.com/production/uploads/images/124130747/rectangle_large_type_2_14e0bc687ae7a3da8a838f3f3cad7ee9.png?width=800)
コピー機学習法による絵柄LoRAの検証(8種類の絵柄で)
実はここ数週間ほど、月須和さんにとりにく絵LoRAの作成とその学習ノウハウのまとめを有償依頼していました。
月須和さんが作られたとりにく絵LoRAの成果はこちら。
人力で描いたとりにく絵
![](https://assets.st-note.com/img/1702170534695-wPg7ubPw4R.png?width=800)
AIが描いたとりにく絵
![](https://assets.st-note.com/img/1702170685816-SVf4god51f.png)
うおおおお!私の絵の特徴を取り入れつつ、破綻を抑えてくれています。
純粋にとりにく絵を学習させるだけだと(絵が伸びしろがありすぎて)崩れていたから助かる……!
しかしこれ、とりにく絵を構成する要素が単純だから再現できたのでは?
もっと美麗な塗や繊細なストロークの持ち主がやったらどうなるのか??
という疑問がわきましたので、Twitterで協力者を募りました。
【ゆるぼ】
— とりにく (@tori29umai) December 9, 2023
自分の絵柄でコピー機LoRA作ってもいいよって人。
この画像を『自分自身の絵柄』概念でトレースして頂けませんか。
この画像とそのトレース画像の差分を学習して絵柄を覚えられないかの実験をしています。 pic.twitter.com/bVOA0VjHju
以下、協力していただいた結果です。
ベース画像
![](https://assets.st-note.com/img/1702195174832-wK6ZiZ6lEr.png?width=800)
こちらを皆さんに自分の絵柄で描いてもらう試みでした。
考えてみれば学習のベースモデルにするSDHKで出力すればよかったですね。以下は各LoRAなしで生成したイラストです。
![](https://assets.st-note.com/img/1702195914675-K0B5EakiuL.png)
![](https://assets.st-note.com/img/1702195950922-HygH1MHVfS.png)
猫黒夏躯様(@NatsukuPhoto)
![](https://assets.st-note.com/img/1702180607442-zxBkZP6VHQ.png?width=800)
![](https://assets.st-note.com/img/1702180757641-3IYvAk4TL3.png)
![](https://assets.st-note.com/img/1702180621645-wbWR858CAi.png)
![](https://assets.st-note.com/img/1702186411498-SDTRk7Ysjt.png)
ケロリビドー様(@keroribido)
![](https://assets.st-note.com/img/1702182473460-Xhp1yOYYue.png?width=800)
![](https://assets.st-note.com/img/1702183264048-fBoRBOwC5H.png)
![](https://assets.st-note.com/img/1702184314628-6EMWzNizr3.png)
![](https://assets.st-note.com/img/1702186429215-biGFprrsW3.png)
SHINTARO(@Shintar98306319)様
![](https://assets.st-note.com/img/1702180691385-MmVreinJqZ.png)
![](https://assets.st-note.com/img/1702182438326-6e154q1vGO.png)
![](https://assets.st-note.com/img/1702180721824-YoLdTm4WOz.png)
![](https://assets.st-note.com/img/1702186441429-fxQyubO1iY.png)
三明(@miake02)様
![](https://assets.st-note.com/img/1702180785057-H1Sjs3S2Xf.png?width=800)
![](https://assets.st-note.com/img/1702180800263-eU7aJiUsa4.png)
![](https://assets.st-note.com/img/1702180805676-6RVL8Xq12C.png)
![](https://assets.st-note.com/img/1702186458342-BpERvjhc7x.png)
夜は行く(@norvulingkha)様
![](https://assets.st-note.com/img/1702180944738-7QrX9RlDqB.png?width=800)
![](https://assets.st-note.com/img/1702180994952-y5t6inyId6.png)
![](https://assets.st-note.com/img/1702181002123-BvYke3DYP8.png)
![](https://assets.st-note.com/img/1702186471162-KRAUpJEUwS.png)
ZubaE(@zubae)様
![](https://assets.st-note.com/img/1702180845267-EpQZVxdcpF.png?width=800)
![](https://assets.st-note.com/img/1702180866564-SykcZho6Y7.png)
![](https://assets.st-note.com/img/1702180872668-MhPu3ShQsl.png)
![](https://assets.st-note.com/img/1702186486084-Zoty1L89KJ.png)
ちゅんちゅん亭すがさ(@LuvTeaLatin)様
![](https://assets.st-note.com/img/1702185456436-8Y26DTxEGC.png)
![](https://assets.st-note.com/img/1702185559278-hr09mr7B5L.png)
![](https://assets.st-note.com/img/1702185566935-Q1RjRwCzo1.png)
![](https://assets.st-note.com/img/1702186503006-14VEWDRAK7.png)
かれこのぎ(karny)@karekonogi様
![](https://assets.st-note.com/img/1702185891598-lN1byV9kPK.png?width=800)
![](https://assets.st-note.com/img/1702185919637-V75YctQ3Rh.png)
![](https://assets.st-note.com/img/1702185924179-oqw1Ba7uEm.png)
![](https://assets.st-note.com/img/1702186527509-U6vAMq6kPX.png)
まとめ
う、ううううーん!トレスイラスト1枚で簡単に絵柄LoRAが作れる!!と断言できる感じではないですが、なんらかの特徴はつかんでいるっぽいですね。
やっぱり品質の高い絵柄LoRAを作るには細かい微調整が必要になりそうです。
なお、1つのLoRAを学習するのにRTX3090で20分位かかります。
簡単レシピ
以下は上記のLoRA群を作るのに作った環境メモです(月須和さんPDFのように細かい微調整はしていません)
git clone -b sdxl https://github.com/kohya-ss/sd-scripts.git
cd sd-scripts
python -m venv venv
.\venv\Scripts\activate
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu117
pip install -U xformers
pip install --upgrade -r requirements.txt
python -m pip install bitsandbytes==0.41.1 --prefer-binary --extra-index-url=https://jllllll.github.io/bitsandbytes-windows-webui
accelerate config
- This machine
- No distributed training
- NO
- NO
- NO
- all
- fp16
フォルダ名は適当(繰り返し数は適当に10000とかでOK、step数指定なので)
256,384,512にそれぞれリサイズして保存。キャプションは適当につけておく。
![](https://assets.st-note.com/img/1702181669339-iTpqPXH4lH.png?width=800)
copi-ki.toml(GPUによってtrain_batch_sizeは変えること)
pretrained_model_name_or_path = "C:/stable-diffusion-webui/models/Stable-diffusion/SDHK04.safetensors"
network_module = "networks.lora"
xformers = true
persistent_data_loader_workers = true
max_data_loader_n_workers = 12
enable_bucket = true
save_model_as = "safetensors"
lr_scheduler_num_cycles = 4
mixed_precision = "fp16"
learning_rate = 0.0001
resolution = "512,512"
train_batch_size = 12
network_dim = 128
network_alpha = 128
optimizer_type = "AdamW8bit"
bucket_no_upscale = true
clip_skip = 2
save_precision = "fp16"
lr_scheduler = "linear"
min_bucket_reso = 64
max_bucket_reso = 1024
caption_extension = ".txt"
seed = 42
network_train_unet_only = true
コマンド一覧
#baseの絵柄LORA学習
accelerate launch ^
--num_cpu_threads_per_process 12 ^
train_network.py ^
--config_file="C:\sd-scripts\user_config\style\copi-ki.toml" ^
--train_data_dir="C:\sd-scripts\user_config\style\base" ^
--output_dir="C:\sd-scripts\user_config\output\style" ^
--output_name=copi-ki-base ^
--max_train_steps 1500
#学習させたい絵柄LORA学習
accelerate launch ^
--num_cpu_threads_per_process 12 ^
train_network.py ^
--config_file="C:\sd-scripts\user_config\style\copi-ki.toml" ^
--train_data_dir="C:\sd-scripts\user_config\style\〇〇" ^
--output_dir="C:\sd-scripts\user_config\output\style" ^
--output_name=copi-ki-〇〇 ^
--max_train_steps 1500
#絵柄の差分抽出
python .\networks\merge_lora.py ^
--save_to "C:\sd-scripts\user_config\output\style\〇〇.safetensors" ^
--models "C:\sd-scripts\user_config\output\style\copi-ki-〇〇.safetensors" "C:\sd-scripts\user_config\output\style\copi-ki-base.safetensors" ^
--ratios 1.4 -1.4 ^
--concat ^
--shuffle ^
--save_precision fp16
#LoRAのリサイズ
python .\networks\svd_merge_lora.pyy ^
--save_to "C:\sd-scripts\user_config\output\style\〇〇_128.safetensors" ^
--models "C:\sd-scripts\user_config\output\style\〇〇.safetensors"
--ratios 1
--new_rank 128
--device cuda
--save_precision fp16
この記事が気に入ったらサポートをしてみませんか?