jebin2's picture
add yolo trainer and inference
05be5a5
raw
history blame
1.18 kB
# 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()