ConceptLab 项目使用教程
1. 项目目录结构及介绍
ConceptLab 项目的目录结构如下:
ConceptLab/
├── configs/
│ └── new_pet.yaml
├── docs/
├── environment/
│ └── env.yaml
├── kandinsky2/
├── scripts/
│ ├── infer.py
│ ├── train.py
│ └── train_evolution.py
├── training/
├── .gitignore
├── LICENSE
├── README.md
└── requirements.txt
目录介绍
- configs/: 包含项目的配置文件,例如
new_pet.yaml
,用于定义训练新概念的配置。 - docs/: 存放项目文档的目录。
- environment/: 包含用于创建 Conda 环境的
env.yaml
文件。 - kandinsky2/: 项目依赖的 Kandinsky2 库。
- scripts/: 包含项目的脚本文件,例如
infer.py
用于生成图像,train.py
用于训练新概念,train_evolution.py
用于进化生成。 - training/: 存放训练数据的目录。
- .gitignore: Git 忽略文件。
- LICENSE: 项目许可证文件。
- README.md: 项目介绍和使用说明。
- requirements.txt: 项目依赖的 Python 包列表。
2. 项目启动文件介绍
启动文件
- scripts/infer.py: 用于生成图像的脚本。可以通过命令行参数指定提示词和输出目录。
- scripts/train.py: 用于训练新概念的脚本。可以通过配置文件定义训练参数。
- scripts/train_evolution.py: 用于进化生成的脚本。可以通过命令行参数定义父代图像目录和混合权重。
使用示例
生成图像
python -m scripts.infer --prompts="['a photo of a []', 'a plush toy []']" --output_dir <output_dir> --learned_embeds_path <learned_embeds_path.bin>
训练新概念
python -m scripts.train --config configs/new_pet.yaml --output_dir=<output_dir>
进化生成
python -m scripts.train_evolution --parents_images_dirs="['<parent1_dir>', '<parent2_dir>']" --initializer_token <initializer_token> --output_dir <output_dir> --mix_weights="[0.4, 0.6]"
3. 项目的配置文件介绍
配置文件
- configs/new_pet.yaml: 用于定义训练新宠物概念的配置文件。包含训练参数、数据路径等信息。
配置文件示例
# configs/new_pet.yaml
train:
batch_size: 16
learning_rate: 0.0001
num_epochs: 100
data_path: "path/to/data"
output_dir: "path/to/output"
配置文件参数说明
- batch_size: 训练批次大小。
- learning_rate: 学习率。
- num_epochs: 训练轮数。
- data_path: 数据路径。
- output_dir: 输出目录。
通过配置文件,用户可以自定义训练参数,以适应不同的训练需求。