存在しないあすけんの女の記憶を作りたい
あすけんの女とは
健康管理アプリ「あすけん」に登場するマスコットキャラクター。AI栄養士さんらしい。アプリトップページに登場し、色々アドバイスくれる。
余談だが「未来(みき)」さんってちゃんと名前あるらしい。今回画像収集するまで知らなかったw
やりたいこと
で、 なんとなくあすけんの女こと未来さんのチアリーダー姿を見てみたいと思ってしまった。が当然画像検索しても無い。
ならば生成AIで作るしかない
画像収集
公式サイトの画像だと解像度が低すぎて学習に使えないので、Google画像検索とツイッター検索を駆使してなんとか32枚の未来さんの画像をゲットした。
あとはこれの背景を消してタグ付けし、学習
学習にはおなじみkohya-ss/sd-scriptsでモデルは当然animagine-xl-3.1を使用した。
config.tomlは以下
[general]
seed = 99
pretrained_model_name_or_path = "/app/models/animagine-xl-3.0.safetensors"
save_model_as = "safetensors"
xformers = true
mixed_precision = "bf16"
save_precision = "bf16"
[network]
# SDXLはテキストエンコーダーを学習せずにUnetのみ
network_train_unet_only = true
# cache_text_encoder_outputs = true
network_module = "networks.lora"
[optimizer]
optimizer_type = "AdamW"
learning_rate = 1e-4
lr_scheduler = "cosine_with_restarts"
lr_scheduler_num_cycles = 100
network_dim = 16 #この値を変化させる (2,4,8,16,32,64,128,256)
network_alpha = 1
network_args = ["conv_dim=8"]
[training]
save_every_n_epochs = 10
# max_train_steps = 100
max_train_epochs = 1000
output_dir = "/data/asuken/output/"
output_name = "asuken"
[memory]
# trueにすると削減
gradient_checkpointing = true
# falseにすると削減
persistent_data_loader_workers = false
[sample]
sample_every_n_epochs = 10
sample_sampler = "k_euler_a"
sample_prompts = "/data/asuken/sample_prompt.txt"
database.tomlは以下
[[datasets]]
resolution = 1024
batch_size = 1
bucket_no_upscale = true
enable_bucket = true
caption_extension = '.txt'
keep_tokens = 1
[[datasets.subsets]]
image_dir = '/data/asuken/train/'
num_repeats = 4
color_aug = true
flip_aug = true
random_crop = true
shuffle_caption = true
結果
とりあえず料理させてみる
おおー
秘書っぽい感じで
で、チアガール
満足の出来にはなったので、あすけん頑張ります