Refactor constants management to use Pydantic BaseModel for configuration

- Replaced module-level path variables in constants.py with a structured Pydantic Config class.
- Updated all relevant modules (train.py, augmentation.py, exports.py, dataset-visualiser.py, manual_run.py) to access paths through the new config structure.
- Fixed bugs related to image processing and model saving.
- Enhanced test infrastructure to accommodate the new configuration approach.

This refactor improves code maintainability and clarity by centralizing configuration management.
This commit is contained in:
Oleksandr Bezdieniezhnykh
2026-03-27 18:18:30 +02:00
parent b68c07b540
commit 142c6c4de8
106 changed files with 5706 additions and 654 deletions
+2 -2
View File
@@ -11,11 +11,11 @@ from augmentation import Augmentator
# train.train_dataset()
# train.resume_training('/azaion/dev/ai-training/runs/detect/train12/weights/last.pt')
model_dir = path.join(constants.models_dir, f'{constants.prefix}2025-05-18')
model_dir = path.join(constants.config.models_dir, f'{constants.prefix}2025-05-18')
for file in glob.glob(path.join(model_dir, 'weights', 'epoch*')):
os.remove(file)
shutil.copy(path.join(model_dir, 'weights', 'best.pt'), constants.CURRENT_PT_MODEL)
shutil.copy(path.join(model_dir, 'weights', 'best.pt'), constants.config.current_pt_model)
train.export_current_model()
print('success!')