Spaces:
Running
Running
| # train.py | |
| from yolo_manager import YOLOManager | |
| from utils import Config, get_abs_path, backup_file | |
| import os | |
| def main(): | |
| """Main training function.""" | |
| try: | |
| # Initialize YOLO manager | |
| yolo_manager = YOLOManager() | |
| # Configuration | |
| data_yaml_path = get_abs_path('./comic.yaml') | |
| if not os.path.isfile(data_yaml_path): | |
| raise FileNotFoundError(f"β Dataset YAML not found: {data_yaml_path}") | |
| print(f"π― Training model: {Config.YOLO_MODEL_NAME}") | |
| # Train model | |
| model = yolo_manager.train( | |
| data_yaml_path=data_yaml_path, | |
| run_name=Config.YOLO_MODEL_NAME | |
| ) | |
| # Validate model | |
| metrics = yolo_manager.validate() | |
| # Backup best weights | |
| weights_path = yolo_manager.get_best_weights_path() | |
| backup_path = f'{Config.YOLO_MODEL_NAME}.pt' | |
| backup_file(weights_path, backup_path) | |
| print("π Training completed successfully!") | |
| except Exception as e: | |
| print(f"β Training failed: {str(e)}") | |
| raise | |
| if __name__ == "__main__": | |
| main() |