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

परिनियोजन के लिए एक गाइड YOLOv8 Amazon SageMaker एंडपॉइंट्स पर

उन्नत कंप्यूटर विज़न मॉडल को तैनात करना जैसे Ultralytics' YOLOv8 Amazon SageMaker एंडपॉइंट्स पर विभिन्न मशीन लर्निंग एप्लिकेशन के लिए संभावनाओं की एक विस्तृत श्रृंखला खोलता है। इन मॉडलों का प्रभावी ढंग से उपयोग करने की कुंजी उनके सेटअप, कॉन्फ़िगरेशन और परिनियोजन प्रक्रियाओं को समझने में निहित है। YOLOv8 Amazon SageMaker के साथ मूल रूप से एकीकृत होने पर और भी शक्तिशाली हो जाता है, जो AWS द्वारा एक मजबूत और स्केलेबल मशीन लर्निंग सेवा है।

यह मार्गदर्शिका आपको परिनियोजित करने की प्रक्रिया में ले जाएगी YOLOv8 PyTorch Amazon SageMaker एंडपॉइंट्स पर मॉडल स्टेप बाय स्टेप। आप अपने AWS वातावरण को तैयार करने, मॉडल को उचित रूप से कॉन्फ़िगर करने और परिनियोजन के लिए AWS CloudFormation और AWS क्लाउड डेवलपमेंट किट (CDK) जैसे टूल का उपयोग करने की अनिवार्यता सीखेंगे।

अमेज़न सेजमेकर

Amazon SageMaker ओवरव्यू

Amazon SageMaker Amazon Web Services (AWS) की एक मशीन लर्निंग सेवा है जो मशीन लर्निंग मॉडल बनाने, प्रशिक्षण देने और तैनात करने की प्रक्रिया को सरल बनाती है। यह मशीन लर्निंग वर्कफ़्लोज़ के विभिन्न पहलुओं को संभालने के लिए उपकरणों की एक विस्तृत श्रृंखला प्रदान करता है। इसमें ट्यूनिंग मॉडल के लिए स्वचालित सुविधाएँ, बड़े पैमाने पर प्रशिक्षण मॉडल के विकल्प और उत्पादन में मॉडल तैनात करने के लिए सीधे तरीके शामिल हैं। SageMaker लोकप्रिय मशीन लर्निंग फ्रेमवर्क का समर्थन करता है, जो विविध परियोजनाओं के लिए आवश्यक लचीलेपन की पेशकश करता है। इसकी विशेषताओं में डेटा लेबलिंग, वर्कफ़्लो प्रबंधन और प्रदर्शन विश्लेषण भी शामिल हैं।

परिनियोजन YOLOv8 Amazon SageMaker एंडपॉइंट्स पर

परिनियोजन YOLOv8 अमेज़न पर SageMaker आपको वास्तविक समय के अनुमान के लिए इसके प्रबंधित वातावरण का उपयोग करने देता है और ऑटोस्केलिंग जैसी सुविधाओं का लाभ उठाता है। नीचे AWS आर्किटेक्चर पर एक नज़र डालें।

AWS आर्किटेक्चर

चरण 1: अपना AWS वातावरण सेटअप करें

सबसे पहले, सुनिश्चित करें कि आपके पास निम्नलिखित पूर्वापेक्षाएँ हैं:

  • एक AWS खाता: यदि आपके पास पहले से एक नहीं है, तो AWS खाते के लिए साइन अप करें।

  • कॉन्फ़िगर की गई IAM भूमिकाएँ: आपको Amazon SageMaker, AWS CloudFormation और Amazon S3 के लिए आवश्यक अनुमतियों के साथ IAM भूमिका की आवश्यकता होगी। इस भूमिका में ऐसी नीतियां होनी चाहिए जो इसे इन सेवाओं तक पहुंचने की अनुमति दें।

  • एडब्ल्यूएस CLI: यदि पहले से स्थापित नहीं है, तो AWS कमांड लाइन इंटरफ़ेस डाउनलोड और इंस्टॉल करें (CLI) और इसे अपने खाते के विवरण के साथ कॉन्फ़िगर करें। पीछा करना एडब्ल्यूएस CLI स्थापना के लिए निर्देश।

  • AWS CDK: यदि पहले से स्थापित नहीं है, तो AWS क्लाउड डेवलपमेंट किट (CDK) स्थापित करें, जिसका उपयोग परिनियोजन की स्क्रिप्टिंग के लिए किया जाएगा। स्थापना के लिए AWS CDK निर्देशों का पालन करें।

  • पर्याप्त सेवा कोटा: पुष्टि करें कि आपके पास Amazon SageMaker में दो अलग-अलग संसाधनों के लिए पर्याप्त कोटा है: एक के लिए ml.m5.4xlarge समापन बिंदु उपयोग के लिए और दूसरा ml.m5.4xlarge नोटबुक उदाहरण उपयोग के लिए। इनमें से प्रत्येक के लिए न्यूनतम एक कोटा मान की आवश्यकता होती है. यदि आपका वर्तमान कोटा इस आवश्यकता से कम है, तो प्रत्येक के लिए वृद्धि का अनुरोध करना महत्वपूर्ण है। आप में दिए गए विस्तृत निर्देशों का पालन करके कोटा बढ़ाने का अनुरोध कर सकते हैं AWS सेवा कोटा दस्तावेज़ीकरण.

चरण 2: क्लोन करें YOLOv8 SageMaker रिपोजिटरी

अगला कदम विशिष्ट AWS रिपॉजिटरी का क्लोन बनाना है जिसमें परिनियोजन के लिए संसाधन शामिल हैं YOLOv8 सेजमेकर पर। GitHub पर होस्ट किए गए इस रिपॉजिटरी में आवश्यक CDK स्क्रिप्ट और कॉन्फ़िगरेशन फ़ाइलें शामिल हैं।

  • GitHub रिपॉजिटरी को क्लोन करें: होस्ट को क्लोन करने के लिए अपने टर्मिनल में निम्न कमांड निष्पादित करें-yolov8-on-sagemaker-endpoint रिपॉजिटरी:
git clone https://github.com/aws-samples/host-yolov8-on-sagemaker-endpoint.git
  • क्लोन निर्देशिका पर नेविगेट करें: अपनी निर्देशिका को क्लोन किए गए भंडार में बदलें:
cd host-yolov8-on-sagemaker-endpoint/yolov8-pytorch-cdk

चरण 3: CDK परिवेश सेट करें

अब जब आपके पास आवश्यक कोड है, तो AWS CDK के साथ परिनियोजन के लिए अपना वातावरण सेट करें।

  • एक बनाएँ Python आभासी वातावरण: यह आपके Python पर्यावरण और निर्भरता। चलाना:
python3 -m venv .venv
  • वर्चुअल वातावरण को सक्रिय करें:
source .venv/bin/activate
  • निर्भरता स्थापित करें: आवश्यक स्थापित करें Python परियोजना के लिए निर्भरताएँ:
pip3 install -r requirements.txt
  • AWS CDK लाइब्रेरी अपग्रेड करें: सुनिश्चित करें कि आपके पास AWS CDK लाइब्रेरी का नवीनतम संस्करण है:
pip install --upgrade aws-cdk-lib

चरण 4: AWS CloudFormation स्टैक बनाएं

  • CDK एप्लिकेशन को संश्लेषित करें: अपने CDK कोड से AWS CloudFormation टेम्पलेट जनरेट करें:
cdk synth
  • सीडीके एप्लिकेशन को बूटस्ट्रैप करें: सीडीके परिनियोजन के लिए अपना एडब्ल्यूएस वातावरण तैयार करें:
cdk bootstrap
  • स्टैक को तैनात करें: यह आवश्यक एडब्ल्यूएस संसाधन बनाएगा और आपके मॉडल को तैनात करेगा:
cdk deploy

चरण 5: तैनात करें YOLOv8 को गढ़ना

परिनियोजन निर्देशों में गोता लगाने से पहले, की सीमा की जांच करना सुनिश्चित करें YOLOv8 द्वारा पेश किए गए मॉडल Ultralytics. इससे आपको अपनी परियोजना आवश्यकताओं के लिए सबसे उपयुक्त मॉडल चुनने में मदद मिलेगी।

AWS CloudFormation Stack तयार केल्यानंतर, पुढील पायरी तैनाती करणे आहे YOLOv8.

  • नोटबुक इंस्टेंस खोलें: AWS कंसोल पर जाएं और Amazon SageMaker सेवा पर नेविगेट करें। डैशबोर्ड से "नोटबुक इंस्टेंस" चुनें, फिर उस नोटबुक इंस्टेंस का पता लगाएं जो आपकी CDK डिप्लॉयमेंट स्क्रिप्ट द्वारा बनाई गई थी। ज्यूपिटर वातावरण तक पहुंचने के लिए नोटबुक इंस्टेंस खोलें।

  • inference.py एक्सेस करें और संशोधित करें: ज्यूपिटर में SageMaker नोटबुक इंस्टेंस खोलने के बाद, inference.py फ़ाइल का पता लगाएं। output_fn फ़ंक्शन को inference.py में संपादित करें जैसा कि नीचे दिखाया गया है और स्क्रिप्ट में अपने परिवर्तनों को सहेजें, यह सुनिश्चित करते हुए कि कोई सिंटैक्स त्रुटि नहीं है।

import json

def output_fn(prediction_output, content_type):
    print("Executing output_fn from inference.py ...")
    infer = {}
    for result in prediction_output:
        if result.boxes is not None:
            infer['boxes'] = result.boxes.numpy().data.tolist()
        if result.masks is not None:
            infer['masks'] = result.masks.numpy().data.tolist()
        if result.keypoints is not None:
            infer['keypoints'] = result.keypoints.numpy().data.tolist()
        if result.obb is not None:
            infer['obb'] = result.obb.numpy().data.tolist()
        if result.probs is not None:
            infer['probs'] = result.probs.numpy().data.tolist()
    return json.dumps(infer)
  • 1_DeployEndpoint.ipynb का उपयोग करके समापन बिंदु परिनियोजित करें: ज्यूपिटर वातावरण में, sm-नोटबुक निर्देशिका में स्थित 1_DeployEndpoint.ipynb नोटबुक खोलें। नोटबुक में दिए गए निर्देशों का पालन करें और डाउनलोड करने के लिए कक्षों को चलाएँ YOLOv8 मॉडल, इसे अद्यतन अनुमान कोड के साथ पैकेज करें, और इसे अमेज़ॅन एस 3 बाल्टी पर अपलोड करें। नोटबुक के लिए एक SageMaker एंडपॉइंट बनाने और तैनात करने में आपका मार्गदर्शन करेगा YOLOv8 को गढ़ना।

चरण 6: अपने परिनियोजन का परीक्षण करना

अब जब कि आपका YOLOv8 मॉडल तैनात किया गया है, इसके प्रदर्शन और कार्यक्षमता का परीक्षण करना महत्वपूर्ण है।

  • टेस्ट नोटबुक खोलें: उसी ज्यूपिटर वातावरण में, 2_TestEndpoint.ipynb नोटबुक का पता लगाएं और खोलें, sm-नोटबुक निर्देशिका में भी।

  • परीक्षण नोटबुक चलाएँ: परिनियोजित SageMaker समापन बिंदु का परीक्षण करने के लिए नोटबुक के भीतर दिए गए निर्देशों का पालन करें। इसमें एंडपॉइंट पर एक इमेज भेजना और निष्कर्ष चलाना शामिल है। फिर, आप मॉडल के प्रदर्शन और सटीकता की कल्पना करने के लिए आउटपुट को प्लॉट करेंगे, जैसा कि नीचे दिखाया गया है।

परीक्षण के परिणाम YOLOv8

  • क्लीन-अप संसाधन: परीक्षण नोटबुक आपको समापन बिंदु और होस्ट किए गए मॉडल को साफ करने की प्रक्रिया के माध्यम से भी मार्गदर्शन करेगी। लागत और संसाधनों को प्रभावी ढंग से प्रबंधित करने के लिए यह एक महत्वपूर्ण कदम है, खासकर यदि आप तुरंत तैनात मॉडल का उपयोग करने की योजना नहीं बनाते हैं।

चरण 7: निगरानी और प्रबंधन

परीक्षण के बाद, आपके तैनात मॉडल की निरंतर निगरानी और प्रबंधन आवश्यक है।

  • Amazon CloudWatch के साथ मॉनिटर करें: Amazon CloudWatch का उपयोग करके नियमित रूप से अपने SageMaker एंडपॉइंट के प्रदर्शन और स्वास्थ्य की जांच करें।

  • समापन बिंदु प्रबंधित करें: समापन बिंदु के चल रहे प्रबंधन के लिए SageMaker कंसोल का उपयोग करें। इसमें आवश्यकतानुसार मॉडल को स्केलिंग, अपडेट करना या फिर से तैनात करना शामिल है।

इन चरणों को पूरा करके, आपने सफलतापूर्वक तैनात किया होगा और एक परीक्षण किया होगा YOLOv8 Amazon SageMaker एंडपॉइंट्स पर मॉडल। यह प्रक्रिया न केवल आपको मशीन लर्निंग परिनियोजन के लिए AWS सेवाओं का उपयोग करने में व्यावहारिक अनुभव से लैस करती है बल्कि भविष्य में अन्य उन्नत मॉडलों को तैनात करने की नींव भी रखती है।

सारांश

इस गाइड ने आपको तैनाती के माध्यम से कदम दर कदम उठाया YOLOv8 Amazon SageMaker एंडपॉइंट्स पर AWS CloudFormation और AWS क्लाउड डेवलपमेंट किट (CDK) का उपयोग करके। इस प्रक्रिया में आवश्यक GitHub रिपॉजिटरी की क्लोनिंग करना, CDK वातावरण स्थापित करना, AWS सेवाओं का उपयोग करके मॉडल को तैनात करना और SageMaker पर इसके प्रदर्शन का परीक्षण करना शामिल है।

अधिक तकनीकी विवरणों के लिए, AWS मशीन लर्निंग ब्लॉग पर इस लेख को देखें। आप भी देख सकते हैं आधिकारिक अमेज़न SageMaker दस्तावेज़ीकरण विभिन्न विशेषताओं और कार्यात्मकताओं में अधिक जानकारी के लिए।

क्या आप विभिन्न के बारे में अधिक जानने में रुचि रखते हैं YOLOv8 एकीकरण? भेंट Ultralytics एकीकरण अतिरिक्त टूल और क्षमताओं को खोजने के लिए पृष्ठ का मार्गदर्शन करता है जो आपकी मशीन-लर्निंग परियोजनाओं को बढ़ा सकते हैं।



2024-01-04 बनाया गया, अपडेट किया गया 2024-03-03
लेखक: ग्लेन-जोचर (2), अबिरामी-वीना (1)

टिप्पणियाँ