Spaces:
Sleeping
Sleeping
| from ultralytics import YOLO | |
| import logging | |
| # Setup logging | |
| logging.basicConfig(level=logging.INFO, format="%(asctime)s - %(levelname)s - %(message)s") | |
| logger = logging.getLogger(__name__) | |
| def train_yolov8(): | |
| try: | |
| # Load a pretrained YOLOv8 model | |
| model = YOLO("yolov8n.pt") | |
| logger.info("Loaded pretrained YOLOv8n model") | |
| # Train the model | |
| model.train( | |
| data="path/to/data.yaml", # Path to your data.yaml file | |
| epochs=100, # Number of epochs | |
| imgsz=640, # Image size | |
| batch=16, # Batch size | |
| device=0, # Use GPU (0) if available | |
| patience=50, # Early stopping patience | |
| project="runs/train", # Output directory | |
| name="safety_model", # Experiment name | |
| exist_ok=True | |
| ) | |
| logger.info("Model training completed") | |
| # Save the trained model | |
| model.save("yolov8_safety.pt") | |
| logger.info("Saved trained model as yolov8_safety.pt") | |
| except Exception as e: | |
| logger.error(f"Error during training: {e}") | |
| raise | |
| if __name__ == "__main__": | |
| logger.info("Starting YOLOv8 model training...") | |
| train_yolov8() |