- Project structure: solver/, freecad/, export/, configs/, scripts/, tests/, docs/ - pyproject.toml with dependency groups: core, train, freecad, dev - Hydra configs: dataset (synthetic, fusion360), model (baseline, gat), training (pretrain, finetune), export (production) - Dockerfile with CUDA+PyG GPU and CPU-only targets - docker-compose.yml for train, test, data-gen services - Makefile with targets: train, test, lint, format, type-check, data-gen, export, check - Pre-commit hooks: ruff, mypy, conventional commits - Gitea Actions CI: lint, type-check, test on push/PR - README with setup and usage instructions
43 lines
697 B
YAML
43 lines
697 B
YAML
# Synthetic pre-training config
|
|
phase: pretrain
|
|
|
|
dataset: synthetic
|
|
model: baseline
|
|
|
|
optimizer:
|
|
name: adamw
|
|
lr: 1e-3
|
|
weight_decay: 1e-4
|
|
|
|
scheduler:
|
|
name: cosine_annealing
|
|
T_max: 100
|
|
eta_min: 1e-6
|
|
|
|
training:
|
|
epochs: 100
|
|
batch_size: 64
|
|
gradient_clip: 1.0
|
|
early_stopping_patience: 10
|
|
amp: true
|
|
|
|
loss:
|
|
edge_weight: 1.0
|
|
graph_weight: 0.5
|
|
joint_type_weight: 0.3
|
|
dof_weight: 0.2
|
|
redundant_penalty: 2.0 # safety loss multiplier
|
|
|
|
checkpointing:
|
|
save_best_val_loss: true
|
|
save_best_val_accuracy: true
|
|
save_every_n_epochs: 10
|
|
checkpoint_dir: checkpoints/pretrain
|
|
|
|
logging:
|
|
backend: wandb # or tensorboard
|
|
project: kindred-solver
|
|
log_every_n_steps: 50
|
|
|
|
seed: 42
|