ControlNet训练自己数据集(数据集处理+环境配置)
此项目在Windows环境下配置后很慢,无论是推理还是训练
所以尽可能在linux环境下跑会比较好
数据集可以按照fill50k的模式那样去配好
然后把clip-vit-large-patch14下载,放到项目目录里,然后在
class FrozenCLIPEmbedder(AbstractEncoder):
"""Uses the CLIP transformer encoder for text (from huggingface)"""
LAYERS = [
"last",
"pooled",
"hidden"
]
def __init__(self, version=r"/root/autodl-tmp/ControlNet-main/models/openai/clip-vit-large-patch14", device="cuda", max_length=77,
freeze=True, layer="last", layer_idx=None): # clip-vit-base-patch32
super().__init__()
class FrozenCLIPT5Encoder(AbstractEncoder):
def __init__(self, clip_version=r"/root/autodl-tmp/ControlNet-main/models/openai/clip-vit-large-patch14", t5_version="google/t5-v1_1-xl", device="cuda",
clip_max_length=77, t5_max_length=77):
以及SD模型下载,放到models文件夹,
直接看官方的教程, 按照以下配置去配环境即可,接下来是,提示缺什么包就装什么
xformers 0.0.27.post2+cu118
python 3.10.0
torch 2.4.0+cu118
(直接pip install xformers==0.0.27.post2)
然后把tool_add_control.py 运行一下
修改tutorial_train里的resume_path为上一步生成出来的ckpt文件路径
可以开始运行tutorial_train.py啦
顺便一提:
image_log 是训练时的测试图例,可以看到生成效果从而判断模型的收敛情况,每次训练都会覆盖此文件夹,建议每训练完一次就改名文件夹防止被覆盖。
lightning_logs 训练完保存到的权重,推理时要把里面的权重路径加上(废话)
tutorial_dataset.py 训练和推理都可以共用这个文件,也可以单独再复制一份出来用作读取推理时的condition。
参考资料:
https://cloud.tencent.com/developer/article/2391817
https://github.com/lllyasviel/ControlNet
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐


所有评论(0)