DeepCAD 项目使用教程
1. 项目目录结构及介绍
DeepCAD 项目的目录结构如下:
DeepCAD/
├── cadlib/
├── config/
├── dataset/
├── evaluation/
├── model/
├── trainer/
├── utils/
├── LICENSE
├── README.md
├── lgan.py
├── pc2cad.py
├── pc2cad_train.py
├── requirements.txt
├── teaser.png
├── test.py
└── train.py
目录结构介绍
- cadlib/:包含与 CAD 相关的库文件。
- config/:存放项目的配置文件。
- dataset/:存放数据集文件,包括原始 JSON 文件和向量化表示的 CAD 序列。
- evaluation/:包含用于评估模型性能的脚本。
- model/:存放模型的定义和实现。
- trainer/:包含训练模型的相关代码。
- utils/:包含各种实用工具脚本,如可视化和导出 CAD 模型。
- LICENSE:项目的开源许可证文件。
- README.md:项目的介绍文档。
- lgan.py:用于训练潜在 GAN 的脚本。
- pc2cad.py:用于处理 CAD 数据的脚本。
- pc2cad_train.py:用于训练 CAD 模型的脚本。
- requirements.txt:项目所需的 Python 依赖包列表。
- teaser.png:项目的宣传图片。
- test.py:用于测试和评估模型的脚本。
- train.py:用于训练模型的主脚本。
2. 项目启动文件介绍
train.py
train.py
是 DeepCAD 项目的主要启动文件,用于训练深度生成网络。以下是该文件的主要功能:
- 训练自动编码器:通过指定超参数和配置文件,启动自动编码器的训练过程。
- 保存训练日志和模型:训练过程中生成的模型和日志将保存在
proj_log/
目录下。
test.py
test.py
用于测试和评估训练好的模型。以下是该文件的主要功能:
- 自动编码:加载训练好的自动编码器模型,对测试数据进行重建。
- 随机生成:结合潜在 GAN 生成新的 CAD 序列。
- 结果保存:测试结果将保存在
proj_log/
目录下的指定路径中。
lgan.py
lgan.py
用于训练潜在 GAN(生成对抗网络)。以下是该文件的主要功能:
- 训练潜在 GAN:在自动编码器的潜在空间上训练 GAN。
- 生成潜在向量:生成新的潜在向量,用于后续的 CAD 序列生成。
3. 项目的配置文件介绍
config/
目录
config/
目录下存放了 DeepCAD 项目的配置文件,这些文件定义了训练和测试过程中的各种超参数和配置选项。以下是该目录的主要内容:
- 配置文件:包含训练和测试过程中所需的各种配置参数,如数据路径、模型参数、优化器参数等。
- 超参数设置:定义了训练过程中的学习率、批量大小、迭代次数等超参数。
配置文件示例
# config/default.py
# 数据路径
data_path = "data/cad_vec"
# 模型参数
model_params = {
"latent_dim": 128,
"hidden_dim": 512,
"num_layers": 3
}
# 训练参数
train_params = {
"batch_size": 32,
"learning_rate": 0.001,
"num_epochs": 100
}
通过修改这些配置文件,用户可以自定义训练和测试过程中的各种参数,以适应不同的需求和环境。