सामग्री पर जाएं

MLflow एकीकरण के लिए Ultralytics YOLO

MLflow पारिस्थितिकी तंत्र

परिचय

प्रयोग लॉगिंग मशीन लर्निंग वर्कफ़्लोज़ का एक महत्वपूर्ण पहलू है जो विभिन्न मीट्रिक्स, मापदंडों और कलाकृतियों की ट्रैकिंग को सक्षम बनाता है। यह मॉडल प्रजनन क्षमता को बढ़ाने, मुद्दों को डीबग करने और मॉडल के प्रदर्शन में सुधार करने में मदद करता है। Ultralytics YOLO, अपनी रीयल-टाइम ऑब्जेक्ट डिटेक्शन क्षमताओं के लिए जाना जाता है, अब MLflow के साथ एकीकरण प्रदान करता है, जो पूर्ण मशीन लर्निंग जीवनचक्र प्रबंधन के लिए एक ओपन-सोर्स प्लेटफॉर्म है।

यह दस्तावेज़ीकरण पृष्ठ आपके लिए MLflow लॉगिंग क्षमताओं को स्थापित करने और उपयोग करने के लिए एक व्यापक मार्गदर्शिका है Ultralytics YOLO परियोजना।

एमएलफ्लो क्या है?

MLflow एंड-टू-एंड मशीन लर्निंग लाइफसाइकिल के प्रबंधन के लिए डेटाब्रिक्स द्वारा विकसित एक ओपन-सोर्स प्लेटफॉर्म है। इसमें प्रयोगों को ट्रैक करने, प्रतिलिपि प्रस्तुत करने योग्य रनों में पैकेजिंग कोड और मॉडल साझा करने और तैनात करने के लिए उपकरण शामिल हैं। MLflow को किसी भी मशीन लर्निंग लाइब्रेरी और प्रोग्रामिंग भाषा के साथ काम करने के लिए डिज़ाइन किया गया है।

सुविधाऐं

  • मेट्रिक्स लॉगिंग: प्रत्येक युग के अंत में और प्रशिक्षण के अंत में मैट्रिक्स लॉग करता है।
  • पैरामीटर लॉगिंग: प्रशिक्षण में उपयोग किए जाने वाले सभी मापदंडों को लॉग करता है।
  • कलाकृतियों लॉगिंग: लॉग मॉडल कलाकृतियों, वजन और कॉन्फ़िगरेशन फ़ाइलों सहित, प्रशिक्षण के अंत में.

सेटअप और पूर्वावश्यकताएँ

सुनिश्चित करें कि MLflow स्थापित है। यदि नहीं, तो इसे पाइप का उपयोग करके स्थापित करें:

pip install mlflow

सुनिश्चित करें कि MLflow लॉगिंग सक्षम है Ultralytics सेटिंग्स। आमतौर पर, यह सेटिंग्स द्वारा नियंत्रित किया जाता है mflow अत्‍यंत महत्वपूर्ण। देखें सेटिंग्स अधिक जानकारी के लिए पृष्ठ।

आधुनिकीकरणअ Ultralytics MLflow सेटिङहरू

भीतर Python पर्यावरण, कॉल करें update विधि पर settings अपनी सेटिंग्स बदलने पर आपत्ति:

from ultralytics import settings

# Update a setting
settings.update({'mlflow': True})

# Reset settings to default values
settings.reset()

यदि आप कमांड-लाइन इंटरफ़ेस का उपयोग करना पसंद करते हैं, तो निम्न कमांड आपको अपनी सेटिंग्स को संशोधित करने की अनुमति देंगे:

# Update a setting
yolo settings runs_dir='/path/to/runs'

# Reset settings to default values
yolo settings reset

इसका उपयोग कैसे करें:

आदेश

  1. प्रोजेक्ट का नाम सेट करें: आप पर्यावरण चर के माध्यम से प्रोजेक्ट का नाम सेट कर सकते हैं:

    export MLFLOW_EXPERIMENT_NAME=<your_experiment_name>
    

या project=<project> तर्क जब प्रशिक्षण एक YOLO मॉडल, अर्थात। yolo train project=my_project.

  1. रन नाम सेट करें: प्रोजेक्ट नाम सेट करने के समान, आप पर्यावरण चर के माध्यम से रन नाम सेट कर सकते हैं:

    export MLFLOW_RUN=<your_run_name>
    

या name=<name> तर्क जब प्रशिक्षण एक YOLO मॉडल, अर्थात। yolo train project=my_project name=my_name.

  1. स्थानीय MLflow सर्वर प्रारंभ करें: ट्रैकिंग शुरू करने के लिए, उपयोग करें:

    mlflow server --backend-store-uri runs/mlflow'
    

यह डिफ़ॉल्ट रूप से http://127.0.0.1:5000 पर एक स्थानीय सर्वर शुरू करेगा और सभी mlflow लॉग को 'runs/mlflow' निर्देशिका में सहेजेगा। एक अलग यूआरआई निर्दिष्ट करने के लिए, MLFLOW_TRACKING_URI पर्यावरण चर।

  1. MLflow सर्वर इंस्टेंस को मार डालो: सभी चल रहे MLflow इंस्टेंस को रोकने के लिए, चलाएँ:

    ps aux | grep 'mlflow' | grep -v 'grep' | awk '{print $2}' | xargs kill -9
    

लॉगिंग

लॉगिंग का ध्यान रखा जाता है on_pretrain_routine_end, on_fit_epoch_endऔर on_train_end कॉलबैक फ़ंक्शन। इन कार्यों को प्रशिक्षण प्रक्रिया के संबंधित चरणों के दौरान स्वचालित रूप से बुलाया जाता है, और वे मापदंडों, मैट्रिक्स और कलाकृतियों के लॉगिंग को संभालते हैं।

उदाहरण

  1. कस्टम मेट्रिक्स लॉग करना: आप संशोधित करके लॉग किए जाने के लिए कस्टम मीट्रिक जोड़ सकते हैं trainer.metrics शब्दकोश से पहले on_fit_epoch_end कहा जाता है।

  2. प्रयोग देखें: अपने लॉग देखने के लिए, अपने MLflow सर्वर (आमतौर पर http://127.0.0.1:5000) पर नेविगेट करें और अपना प्रयोग चुनें और चलाएं। YOLO MLflow प्रयोग

  3. रन देखें: रन एक प्रयोग के अंदर अलग-अलग मॉडल हैं। रन पर क्लिक करें और अपलोड की गई कलाकृतियों और मॉडल वजन सहित रन विवरण देखें। YOLO एमएलफ्लो रन

MLflow अक्षम करना

MLflow लॉगिंग बंद करने के लिए:

yolo settings mlflow=False

समाप्ति

MLflow लॉगिंग एकीकरण के साथ Ultralytics YOLO आपके मशीन लर्निंग प्रयोगों पर नज़र रखने के लिए एक सुव्यवस्थित तरीका प्रदान करता है। यह आपको प्रदर्शन मेट्रिक्स की निगरानी करने और कलाकृतियों को प्रभावी ढंग से प्रबंधित करने का अधिकार देता है, इस प्रकार मजबूत मॉडल विकास और परिनियोजन में सहायता करता है। अधिक जानकारी के लिए कृपया देखें MLflow आधिकारिक दस्तावेज़ीकरण.



2023-11-12 बनाया गया, अपडेट किया गया 2024-01-07
लेखक: ग्लेन-जोचर (3)

टिप्पणियाँ