- 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
40 lines
784 B
YAML
40 lines
784 B
YAML
services:
|
|
train:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
target: base
|
|
volumes:
|
|
- .:/workspace
|
|
- ./data:/workspace/data
|
|
deploy:
|
|
resources:
|
|
reservations:
|
|
devices:
|
|
- driver: nvidia
|
|
count: all
|
|
capabilities: [gpu]
|
|
command: make train
|
|
environment:
|
|
- CUDA_VISIBLE_DEVICES=${CUDA_VISIBLE_DEVICES:-0}
|
|
- WANDB_API_KEY=${WANDB_API_KEY:-}
|
|
|
|
test:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
target: cpu-only
|
|
volumes:
|
|
- .:/workspace
|
|
command: make check
|
|
|
|
data-gen:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
target: base
|
|
volumes:
|
|
- .:/workspace
|
|
- ./data:/workspace/data
|
|
command: make data-gen
|