import logging import os from huggingface_hub import login from datasets import load_dataset import torch from ultralytics import YOLO # Logging yapılandırması logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s') # Token'ı ortam değişkeninden alıyoruz token = os.getenv("HUGGINGFACE_TOKEN") if token: logging.info("Hugging Face token bulundu.") login(token=token) else: logging.error("Hugging Face token bulunamadı. Lütfen token'ı doğru şekilde ayarlayın.") # Veri setini yükle try: dataset = load_dataset("AtaGurbuz/Basic_Dataset") logging.info("Veri seti başarıyla yüklendi.") except Exception as e: logging.error(f"Veri seti yüklenemedi: {e}") # Modeli eğitme işlemini başlatacağız def train_model(): try: logging.info("YOLOv8 modeli indiriliyor...") model = YOLO('yolov8n.pt') # Küçük model, büyük modeli indirmek isterseniz yolov8l.pt kullanabilirsiniz. logging.info("YOLOv8 modeli başarıyla indirildi.") # YOLO formatındaki veriyi kullanarak eğitimi başlatıyoruz logging.info("Model eğitimi başlatılıyor...") model.train( data='data.yaml', # YOLO formatındaki veri setinin konfigürasyon dosyası epochs=100, # Eğitim epoch sayısı imgsz=640, # Resim boyutu batch=16, # Batch boyutu name='yolo_training' # Eğitim sonucu kayıt ismi ) logging.info("Eğitim tamamlandı.") except Exception as e: logging.error(f"Eğitim sırasında bir hata oluştu: {e}") if __name__ == "__main__": logging.info("Model eğitim süreci başlıyor...") train_model() logging.info("Model eğitim süreci tamamlandı.")