pytorch 寻找好的方法来准备自定义数据集,用于训练带有huggingface扩散器的控制网

nuypyhwy  于 2023-06-23  发布在  其他
关注(0)|答案(1)|浏览(181)

我想亲自训练controlnet,但我发现准备数据集很不方便。正如我在此链接中提供的huggingface教程:https://huggingface.co/blog/train-your-controlnet,我相信我应该以huggingface数据集格式组织数据集。我的目的是使用各种提示设置来训练controlnet并比较结果。然而,我意识到我需要为每个实验创建多个数据集,这是耗时且空间效率低下的,因为每个数据集中的图像和条件图像保持不变。
我应该创建多个仅在提示列中不同的数据集,还是有更有效的方法来实现这一点?

ep6jt1vc

ep6jt1vc1#

创建多个只有提示列的数据集(例如controlnet_prompts_1controlnet_prompts_2等)和一个具有图像、条件图像和除提示列(例如,controlnet_features)。
然后,每当你想使用提示数据集与主特征数据集的特定组合时,使用concatenate_datasets连接两个数据集,如下所示(文档):

  1. from datasets import concatenate_datasets
  2. username = "" # add your username here
  3. for i in range(10): # assuming you have 10 distinct prompt settings
  4. controlnet_prompts = load_dataset(f"{username}/controlnet_prompts_{i+1}")
  5. controlnet_features = load_dataset(f"{username}/controlnet_features")
  6. dataset = concatenate_datasets([controlnet_prompts, controlnet_features], axis=1)
  7. # perform your experiments with the dataset

相关问题