Skip to content

akatsuki-neo/anima-edit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

71 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

anima-edit

大概流程和kohya ss的sd-scripts训练lora的流程是一样的

要用cui跑训练出来的东西的话用这个节点https://github.com/spawner1145/comfyui-adapters.git

首先, 数据集

传一个文件夹--train_data_dir 你的文件夹路径, 里面有多个子文件夹, 子文件夹前面是2_这种前缀代表这个子文件夹里面内容重复几次

子文件夹里面放图片和txt对

如何加参考图?

如果你要练ccip_adapter, 例如train_ccip_adapter.sh, 建议直接自指训练, 直接加--anima_self_reference_test这个命令行会自指训练

如果是latent参考训练如train_latent.sh, 不建议自指, 这里假设你的一个目标图和txt对是114514.jpg114514.txt, 要加参考图就在那个子文件夹里面放个114514_ref.jpg这种, 在末尾加上_ref后缀

多图的话就按这样的顺序_ref_ref1_ref2......这种后缀依次作为第一个参考图第二个参考图和第三个参考图, 这些参考图和目标图以及txt文件为一组数据

接下来是正式训练

懒得看我说的就直接看三个train的sh脚本train_full.sh, train_latent.sh, train_ccip_adapter.sh, 功能分别是联合训练(所有都开), 只训练latent参考的lora, 以及训练ccip adapter(同时训练lora)

值得一提的是训练ccip adapter的时候可以选择不训练lora/lycoris, 在命令行中加入--anima_disable_network_training, 不过一般效果很烂不建议开

--anima_multi_image_edit   #是否开启latent参考
--anima_ip_adapter   #是否开启adapter
--anima_ip_adapter_weights out/name_ip_adapter.safetensors   #加载预训练的ccip adapter权重
--network_weights 你的lora或者lokr地址   #加载预训练的lora/lokr权重

注意事项

当你训练ccip adapter的时候, 这几个参数必开

--anima_ip_adapter \
--anima_train_ip_adapter \
--anima_sample_reference_dir /root/autodl-tmp/ckn/test \
--anima_ip_adapter_feature_backend ccip_tokens \
--anima_ip_adapter_feature_model /root/autodl-tmp/ckn/ccip_model/ccip-caformer_b36-24.ckpt \
--anima_ip_adapter_lr 5e-5 \

这里的ccip文件可以在这里拿到:https://huggingface.co/deepghs/ccip/blob/main/ccip-caformer_b36-24.ckpt

训练latent参考时, 开lora训练以及加--anima_multi_image_edit这个参数

关于lora, 感觉没什么好说的

标准lora:

--network_module networks.lora_anima \
--network_dim 128 \
--network_alpha 128 \

lokr:

--network_module networks.lokr \
--network_dim 114514 \
--network_alpha 114514 \
--network_args "factor=4" \

LoRA vs LoKr 效果对比(LoRA rank=128 / LoKr full f4)

组别 LoRA(r128) 样图 LoKr(full f4) 样图
第1组 lora1 lokr1
第2组 lora2 lokr2

实验结论:根据两组宽幅图像测试结果,同等条件下 LoRA(r128) 生成效果明显优于 LoKr(full f4)

测试参数说明:LoRA rank=128,LoKr 全矩阵 f4 结论:实测两组样本下 LoRA 整体表现优于 LoKr

我在仓库里面支持了训练dora,测了下效果很不错,但是我不知道cui有没有支持加载

--network_module networks.dora \
--network_dim 128 \
--network_alpha 128 \

还有一点采样

众所周知我们训练会开wandb

--log_with wandb \
--logging_dir logs \
--log_tracker_name anima-edit \
--wandb_run_name anima_ipadapter_self_ref_overfit \

然后有时候想看效果, 首先先把必要参数写了

--sample_every_n_steps 200 \
--anima_sample_reference_dir /root/autodl-tmp/ckn/test \

这里这个test文件夹就可以放我们的参考图和txt文件对

关于命名和训练数据集是一样的,几个_ref后缀图片加一个txt文件

txt文件内部支持写参数,会自动解析

--w width
--h height
--s sample steps
--d seed
--l scale / CFG
--n negative prompt
--fs flow_shift

我有点懒得写文档了, 具体的看几个sh脚本吧, 都放在那里了(

About

1

Resources

License

Stars

7 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages