You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
IoT-For-Beginners/translations/te/4-manufacturing/lessons/3-run-fruit-detector-edge/README.md

68 KiB

మీ ఫ్రూట్ డిటెక్టర్‌ను ఎడ్జ్‌పై నడపండి

ఈ పాఠం యొక్క స్కెచ్‌నోట్ అవలోకనం

స్కెచ్‌నోట్ అందించిన నిత్య నరసింహన్. పెద్ద వెర్షన్ కోసం చిత్రాన్ని క్లిక్ చేయండి.

ఈ వీడియో IoT పరికరాలలో ఇమేజ్ క్లాసిఫయర్లు నడపడం గురించి అవలోకనం ఇస్తుంది, ఇది ఈ పాఠంలో కవర్ చేసిన విషయం.

Custom Vision AI on Azure IoT Edge

ప్రీ-లెక్చర్ క్విజ్

ప్రీ-లెక్చర్ క్విజ్

పరిచయం

మునుపటి పాఠంలో మీరు మీ ఇమేజ్ క్లాసిఫయర్‌ను ఉపయోగించి పండిన మరియు పండనివ్వని ఫ్రూట్‌లను వర్గీకరించడానికి, మీ IoT పరికరంలో ఉన్న కెమెరా ద్వారా పట్టిన చిత్రాన్ని ఇంటర్నెట్ ద్వారా క్లౌడ్ సర్వీస్‌కు పంపారు. ఈ కాల్స్ సమయం తీసుకుంటాయి, ఖర్చు చేస్తాయి, మరియు మీరు ఉపయోగిస్తున్న చిత్రం డేటా రకం ఆధారంగా, గోప్యతా ప్రభావాలు ఉండవచ్చు.

ఈ పాఠంలో మీరు మీ ఇంటర్నల్ నెట్‌వర్క్ మీద నడుస్తున్న IoT పరికరాలపై - క్లౌడ్లో కాకుండా ఆ ఎడ్జ్‌లో మిషన్ లెర్నింగ్ (ML) మోడల్స్‌ను ఎలా నడిపించాలో నేర్చుకుంటారు. మీరు ఎడ్జ్ కంప్యూటింగ్ మరియు క్లౌడ్ కంప్యూటింగ్ ల పోతున్న లాభాలు మరియు నష్టాలు, మీ AI మోడల్‌ను ఎడ్జ్‌కు ఎలా డిప్లాయ్ చేయాలో, మరియు దానిని మీ IoT పరికరంలో ఎలా యాక్సెస్ చేయాలో నేర్చుకుంటారు.

ఈ పాఠంలో మనం చూడబోయేది:

ఎడ్జ్ కంప్యూటింగ్

ఎడ్జ్ కంప్యూటింగ్ అంటే IoT డేటా రూపొందే చోట ככל האפשר దగ్గరగా డేటాను ప్రాసెస్ చేసే కంప్యూటర్లు ఉండటం. క్లౌడ్‌లో ప్రాసెసింగ్ చేయడం కాకుండా, దీన్ని క్లౌడ్ ఎడ్జ్ - మీ స్థానిక నెట్‌వర్క్‌కి తరలించడం.

ఇంటర్నెట్ సర్వీసులు క్లౌడ్లో మరియు IoT పరికరాలు ఒక లోకల్ నెట్‌వర్క్ లో ఉన్న ఆర్కిటెక్చర్ చిత్రణ

ఇప్పటి వరకూ పాఠాల్లో, మీరు పరికరాలు డేటాను సేకరిస్తూ, ఆ డేటాను విశ్లేషించడానికి క్లౌడ్‌కు పంపిస్తూనే ఉన్నాయి, క్లౌడ్‌లో సర్వర్‌లెస్ ఫంక్షన్లు లేదా AI మోడల్స్ నడుపుతారు.

ఇంటర్నెట్ లో క్లౌడ్ కి కనెక్ట్ అయ్యే ఎడ్జ్ పరికరాలకు లోకల్ నెట్‌వర్క్ లో IoT పరికరాలకు ఆర్కిటెక్చర్ చిత్రణ

ఎడ్జ్ కంప్యూటింగ్ అంటే కొన్ని క్లౌడ్ సేవలను క్లౌడ్ నుండి తీసుకుని IoT పరికరాలు ఉన్న అదే నెట్‌వర్క్‌లో నడిచే కంప్యూటర్లపై తరలించడం, అవసరమైతే మాత్రమే క్లౌడ్‌తో కమ్యూనికేట్ చేస్తుంది. ఉదాహరణకు, పండినదా అనే విషయాన్ని విశ్లేషించడానికి ఎడ్జ్ పరికరాల్లో AI మోడల్స్ నడిపించవచ్చు, అప్పుడు మాత్రమే ఆ విశ్లేషణలను క్లౌడ్‌కు పంపుతారు, ఉదాహరణకు పండిన పండ్ల సంఖ్య వర్సెస్ పండనివ్వని పండ్ల సంఖ్య.

మీరు ఇప్పటి వరకు నిర్మించి వచ్చిన IoT అప్లికేషన్ల గురించి ఆలోచించండి. వాటిలో అసలు ఎక్కడ ఎడ్జ్ కు తరలించడం చేయవచ్చు.

లాభాలు

ఎడ్జ్ కంప్యూటింగ్ లాభాలు:

  1. వేగం - ఎడ్జ్ కంప్యూటింగ్ సమయ సున్నిత డేటా కోసం అనుకూలం ఎందుకంటే చర్యలు పరికరం ఉన్న అదే నెట్‌వర్క్‌లో జరుగుతాయి, ఇంటర్నెట్ ద్వారా కాల్‌లు చేసే అవసరం లేదు. అంతర్జాల కనెక్షన్ల కంటే అంతర్గత నెట్‌వర్కులు గణనీయంగా వేగవంతంగా పని చేయగలవు, డేటా ప్రయాణ దూరం చాలా తక్కువ.

    💁 ఆప్టికల్ కేబుల్స్ ద్వారా ఇంటర్నెట్ కనెక్షన్లు లైట్ వేగంతో డేటా ప్రసారం చేయడం అయినా, డేటా ప్రపంచం అంతటా క్లౌడ్ ప్రొవైడర్ల వద్దకు ప్రయాణించడానికి సమయం పడుతుంది. ఉదా: మీరు యూరప్ నుండి USలో క్లౌడ్‌కి డేటా పంపితే, ఆప్టికల్ కేబుల్ లో డేటా అట్లాంటిక్ క్రాస్ చేయడానికి కనీసం 28ms పడుతుంది, ఇంకా డేటాను ట్రాన్స్‌అట్లాంటిక్ కేబుల్‌కు తీసుకెళ్ళడం, ఎలక్ట్రికల్ సిగ్నల్స్‌ని లైట్ సిగ్నల్స్‌గా మార్చడం మరియు తిరిగి చేయడం, ఆప్టికల్ కేబుల్ నుంచి క్లౌడ్ ప్రొవైడర్ వరకు తీసుకునే సమయం ఇందులో లేదు.

    ఎడ్జ్ కంప్యూటింగ్ తక్కువ నెట్‌వర్క్ ట్రాఫిక్ అవసరం చేస్తుంది, కనుక సమ్మిళిత బాండ్‌విడ్త్ తగ్గుదల వల్ల డేటా మెల్లగా ప్రయాణించే ప్రమాదాన్ని తగ్గిస్తుంది.

  2. దూరం నుండి యాక్సెస్ - ఎడ్జ్ కంప్యూటింగ్ కనెక్షన్ సరిగా లేకపోవటానికి, లేదా పన్ను ఎక్కువ ఉండటానికి సరిగా పనిచేస్తుంది. ఉదాహరణకు మానవతావాది విపత్తు ప్రాంతాలలో లేదా అభివృద్ధి చెందుతున్న దేశాల్లో.

  3. తక్కువ ఖర్చులు - డేటా సేకరణ, నిల్వ, విశ్లేషణ మరియు చర్యను ఎడ్జ్ పరికరంలో చేయడం క్లౌడ్ సేవల వినియోగాన్ని తగ్గిస్తుంది, దీని వల్ల మొత్తం IoT అప్లికేషన్ ఖర్చు తగ్గుతుంది. ఇటీవల AI వర్క్‌లోడ్స్ నడపడానికి AI అక్సిలరేటర్ బోర్డ్స్ వంటి ఎడ్జ్ కంప్యూటింగ్ కోసం డిజైన్ చేసిన పరికరాలు పెరిగాయి, ఉదా: NVIDIA నుండి Jetson Nano, ఇది GPU ఆధారిత హార్డ్వేర్ ఉపయోగించి US$100 కంటే తక్కువ ధరలో AI నిర్వహణ చేయగలదు.

  4. గోప్యత మరియు భద్రత - ఎడ్జ్ కంప్యూటింగ్‌తో, డేటా మీ నెట్‌వర్క్‌లోనే ఉంటుంది, క్లౌడ్‌కు అప్లోడ్ చేయబడదు. ఇది సున్నితమైన మరియు వ్యక్తిగతమైన సమాచారం కోసం ప్రాధాన్యంగా ఉంటుంది, ఎందుకంటే విశ్లేషణ తర్వాత డేటాను నిల్వ చేయాల్సిన అవసరం లేదు, కాబట్టి డేటా లీకు ప్రమాదం చాలా తగ్గుతుంది. ఉదాహరణకు వైద్య డేటా మరియు భద్రతా కెమెరా ఫుటేజ్లు.

  5. అసురక్షిత పరికరాలను నిర్వహించడం - మీ నెట్‌వర్క్‌కు లేదా ఇంటర్నెట్‌కు నేరుగా కలపకూడని భద్రతా లోపాలు ఉన్న పరికరాలుంటే, వాటిని వేరు నెట్‌వర్క్‌కు IoT ఎడ్జ్ గేట்வே పరికరం ద్వారా కలుపుకోవచ్చు. ఆ ఎడ్జ్ పరికరం మీ విస్తృత నెట్‌వర్క్ లేదా ఇంటర్నెట్‌కు కనెక్షన్ కలిగి ఉండి డేటా ప్రవాహాన్ని నిర్వహిస్తుంటుంది.

  6. అసംബద్ధ పరికరాలకు మద్దతు - ఉదా: IoT హబ్‌కు కనెక్ట్ కాని పరికరాలు, HTTP కలిసి మాత్రమే కనెక్ట్ అయ్యే పరికరాలు లేదా Bluetooth మాత్రమే కలిగిన పరికరాలకు, మీరు IoT ఎడ్జ్ పరికరాన్ని గేట్వే పరికరంగా ఉపయోగించవచ్చు, సందేశాలను IoT హబ్‌కి ముందు పంపుతూ.

కొంత పరిశోధన చేయండి: ఎడ్జ్ కంప్యూటింగ్‌కు ఏ ఇతర లాభాలు ఉండవచ్చు?

నష్టాలు

ఎడ్జ్ కంప్యూటింగ్‌కు కొన్ని నష్టాలు కూడా ఉంటాయి, ఈ సందర్భాల్లో క్లౌడ్ అధిక ప్రాధాన్యం కలిగి ఉండవచ్చు:

  1. ప్రమాణం మరియు అనువర్తన శీలత - క్లౌడ్ కంప్యూటింగ్ రియల్-టైమ్‌లో నెట్‌వర్క్ మరియు డేటా అవసరాలకు అనుగుణంగా సర్వర్లను మరియు ఇతర వనరులను పెంచడం లేదా తగ్గించడం చేయగలదు. ఎడ్జ్ కంప్యూటర్లను పెంచాలంటే, మానవీయంగా ఎక్కువ పరికరాలను జోడించాలి.

  2. నమ్మకద్రోహం మరియు పునరుద్ధరణ సామర్థ్యం - క్లౌడ్ కంప్యూటింగ్ ఇటీవలాల నిర్వహణ మరియు విపత్తు పునరుద్ధరణ కోసం బహుళ సర్వర్‌లు ప్రదానం చేస్తుంది, సాధారణంగా బహుళ ప్రాంతాలలో. ఎడ్జ్ లో ఇదే స్థాయి పునరుద్ధరణకు పెద్ద పెట్టుబడులు మరియు సంక్లిష్ట కాన్ఫిగరేషన్ అవసరం.

  3. నిర్వాహణ - క్లౌడ్ సేవ ప్రొవైడర్లు సిస్టమ్ నిర్వహణ మరియు నవీకరణలను అందిస్తారు.

కొంత పరిశోధన చేయండి: ఎడ్జ్ కంప్యూటింగ్‌కు ఏ ఇతర నష్టాలు ఉండవచ్చు?

నష్టాలు క్లౌడ్ వాడకంలో లభించే లాభాలకు వ్యతిరేకంగా ఉంటాయి - మీరు పరికరాలను స్వయంగా నిర్మించి నిర్వహించాలి, క్లౌడ్ ప్రొవైడర్ల నైపుణ్యం మరియు ప్రమాణంపై ఆధారపడకూడదు.

కొన్ని ప్రమాదాలు ఎడ్జ్ కంప్యూటింగ్ స్వభావంలోనే తగ్గించబడతాయి. ఉదాహరణకు, ఫ్యాక్టరీలో నడుస్తున్న ఎడ్జ్ పరికరం యంత్రాల నుండి డేటాను సేకరిస్తుంటే, వైపతులకు మనస్పూర్తిగా ఏ క్షేపణ పునరుద్ధరణ అవసరం ఉండదు. ఫ్యాక్టరీలో విద్యుత్ బ్లాక్ అయితే, బ్యాకప్ ఎడ్జ్ పరికరం అవసరం లేదు, ఎందుకంటే యంత్రాలు కూడా విద్యుత్ లేకుండా ఉంటాయి.

IoT సిస్టమ్‌ల కోసం, మీరు తరచుగా క్లౌడ్ మరియు ఎడ్జ్ కంప్యూటింగ్ మిశ్రమం కోరుకుంటారు, సర్వీసులను సిస్టమ్, కస్టమర్లు మరియు నిర్వహించేవారి అవసరాల ఆధారంగా ఉపయోగిస్తూ.

Azure IoT ఎడ్జ్

Azure IoT ఎడ్జ్ లోగో

Azure IoT ఎడ్జ్ అనేది క్లౌడ్ నుండి పని మొత్తాలను తీసుకుని ఎడ్జ్‌కు తరలించడంలో సహాయపడే సేవ. మీరు ఒక పరికరాన్ని ఎడ్జ్ పరికరంగా సెట్ చేస్తారు, మరియు క్లౌడ్ నుంచి ఆ ఎడ్జ్ పరికరానికి కోడ్‌ను డిప్లాయ్ చేయవచ్చు. దీని ద్వారా మీరు క్లౌడ్ మరియు ఎడ్జ్ సామర్థ్యాలను కలిపి ఉపయోగించవచ్చు.

🎓 వర్క్లోడ్స్ అనగా ఏదైనా పనిని చేసే సేవ, ఉదా: AI మోడల్స్, అప్లికేషన్లు లేదా సర్వర్‌లెస్ ఫంక్షన్లు.

ఉదాహరణకు, మీరు ఒక ఇమేజ్ క్లాసిఫయర్‌ను క్లౌడ్‌లో శిక్షణ ఇస్తారు, ఆపై దీనిని క్లౌడ్ నుంచి ఎడ్జ్ పరికరానికి డిప్లాయ్ చేస్తారు. మీ IoT పరికరం తిరిగి చిత్రం పై క్లాసిఫికేషన్ చేయాల్సినప్పుడు చిత్రాలను ఇంటర్నెట్ ద్వారా కాకుండా ఎడ్జ్ పరికరానికి పంపిస్తుంది. మోడల్ కొత్త సంస్కరణ అవసరమైతే, దాన్ని క్లౌడ్‌లో శిక్షణ ఇస్తారు మరియు IoT ఎడ్జ్ ద్వారా ఆ ఎడ్జ్ పరికరంతో మోడల్‌ను అప్‌డేట్ చేస్తారు.

🎓 IoT ఎడ్జ్‌కు డిప్లాయ్ అయిన సాఫ్ట్‌వేర్‌ను మాడ్యూల్స్ అంటారు. డిఫాల్ట్‌గా IoT ఎడ్జ్ మాడ్యూల్స్, IoT హబ్‌తో కమ్యూనికేట్ చేసే, ఉదా: edgeAgent మరియు edgeHub ఉండి నడుస్తాయి. మీరు ఇమేజ్ క్లాసిఫయర్‌ను డిప్లాయ్ చేస్తే, అదనపు మాడ్యూల్‌గా ఉంటుంది.

IoT ఎడ్జ్ IoT హబ్‌లో నిర్మించబడింది, కనుక మీరు IoT పరికరాలను నిర్వహించడానికి ఉపయోగించే సేవని ఉపయోగిస్తూ అదే విధంగా ఎడ్జ్ పరికరాలను నిర్వహించవచ్చు, ఇదే భద్రతా స్థాయిలో.

IoT ఎడ్జ్ కోడ్‌ను కంటైనర్లు నుండి నడుపుతుంది - ఇవి స్వతంత్ర అప్లికేషన్లు, మీ కంప్యూటర్లోని ఇతర అప్లికేషన్ల నుండి వేరు గా నడుస్తాయి. మీరు ఒక కంటైనర్‌ను నడిపే సమయంలో, అది మీ కంప్యూటర్లో నడుస్తున్న వేరే కంప్యూటరంలా వ్యవహరిస్తుంది, దానిదే సాఫ్ట్‌వేర్, సేవలు, అప్లికేషన్లు ఉంటాయి. ఎక్కువసార్లు కంటైనర్లు మీ కంప్యూటర్లోని ఇతర దानों యాక్సెస్ చేయవు మీరు వాటితో పంచుకోవాలని నిర్ణయిస్తే తప్ప. ఆ కంటైనర్ తెరవబడిన పోర్ట్ ద్వారా సేవలను అందిస్తుంది, మీరు దానిని కనెక్ట్ చేసుకోవచ్చు లేదా మీ నెట్‌వర్కుకు అందుబాటులో ఉంచవచ్చు.

కంటైనర్‌కు రీడైరెక్ట్ అయిన వెబ్ రిక్వెస్ట్

ఉదా: ఒక కంటైనర్‌లో పోర్టు 80 (డిఫాల్ట్ HTTP పోర్టు) మీద వెబ్ సైట్ నడుస్తుంది, మీరు దానిని మీ కంప్యూటరులో కూడా పోర్టు 80 ద్వారా అందుబాటులో ఉంచవచ్చు.

కొంత పరిశోధన చేయండి: Docker లేదా Moby వంటి కంటైనర్లు మరియు సేవల్లో చదవండి.

Custom Vision ఉపయోగించి మీరు చిత్ర క్లాసిఫయర్లను డౌన్‌లోడ్ చేసి, వాటిని సూటిగా పరికరానికి నడిపించు, లేదా IoT ఎడ్జ్ ద్వారా డిప్లాయ్ చేయవచ్చు. ఒకసారి కంటైనర్‌లో నడుపుతున్నప్పుడు, క్లౌడ్ వెర్షన్ REST API తో సమానమైన API లను ఉపయోగించి యాక్సెస్ చేయవచ్చు, కాని ఎండ్ పాయింట్ ఎడ్జ్ పరికరం నడుపుతున్న కంటైనర్ వైపు ఉంటది.

ఒక IoT ఎడ్జ్ పరికరాన్ని రిజిస్టర్ చేయండి

IoT ఎడ్జ్ పరికరాన్ని ఉపయోగించాలంటే, అది IoT హబ్‌లో రిజిస్టర్ చేయబడాలి.

పని - ఒక IoT ఎడ్జ్ పరికరాన్ని రిజిస్టర్ చేయండి

  1. fruit-quality-detector రిసోర్స్ గ్రూపులో ఒక IoT హబ్ సృష్టించండి. దీనికి fruit-quality-detector ఆధారంగా ప్రత్యేకమైన పేరు ఇవ్వండి.

  2. మీ IoT హబ్‌లో fruit-quality-detector-edge అనే IoT ఎడ్జ్ పరికరాన్ని రిజిస్టర్ చేయండి. దీనికి ఉపయోగించే కమాండ్ ఒక సాధారణ నాన్-ఎడ్జ్ పరికరం రిజిస్టర్ చేసే కమాండ్‌కు సారూప్యమైంది, కాని --edge-enabled ఫ్లాగ్‌ని జోడిస్తారు.

    az iot hub device-identity create --edge-enabled \
                                      --device-id fruit-quality-detector-edge \
                                      --hub-name <hub_name>
    

    <hub_name> స్థానంలో మీ IoT హబ్ పేరు ని మార్చండి.

  3. క్రింది కమాండ్ ఉపయోగించి మీ పరికరానికి కనెక్షన్ స్ట్రింగ్ పొందండి:

    az iot hub device-identity connection-string show --device-id fruit-quality-detector-edge \
                                                      --output table \
                                                      --hub-name <hub_name>
    

    <hub_name> స్థానంలో మీ IoT హబ్ పేరు ని మార్చండి.

    అవుట్‌పుట్‌లో చూపబడే కనెక్షన్ స్ట్రింగ్ కాపీ చేయండి.

ఒక IoT ఎడ్జ్ పరికరాన్ని సెట్ చేయండి

మీరు మీ IoT హబ్‌లో ఎడ్జ్ పరికరం రిజిస్ట్రేషన్ సృష్టించిన తర్వాత, మీరు ఆ ఎడ్జ్ పరికరాన్ని సెట్ చేయవచ్చు.

పని - IoT ఎడ్జ్ రన్‌టైమ్‌ను ఇన్‌స్టాల్ చేసి ప్రారంభించండి

IoT ఎడ్జ్ రన్‌టైమ్ కేవలం Linux కంటైనర్లను నడిపిస్తుంది. ఇది Linux లేదా Windowsపై Linux వర్చువల్ మెషీన్లుగా నడపడంలో చేయవచ్చు.

  • మీరు మీ IoT పరికరంగా Raspberry Pi ఉపయోగిస్తుంటే, ఇది Linux యొక్క మద్దతు పొందిన వెర్షన్, IoT ఎడ్జ్ రన్‌టైమ్‌ను హోస్ట్ చేయవచ్చు. IoT ఎడ్జ్ ఇన్‌స్టాలేషన్ మరియు కనెక్షన్ స్ట్రింగ్ సెట్ చేయడానికోసం Microsoft docs లో install Azure IoT Edge for Linux గైడ్ అనుసరించండి.

    💁 గుర్తుంచుకోండి, Raspberry Pi OS అనేది Debian Linux యొక్క ఒక వేరియంట్.

  • మీరు Raspberry Pi కాకుండా Linux కంప్యూటర్ కలిగి ఉంటే, IoT ఎడ్జ్ రన్‌టైమ్ నడుపవచ్చు. ఇన్‌స్టాలేషన్ కోసం install Azure IoT Edge for Linux గైడ్ అనుసరించండి.

  • మీరు Windows ఉపయోగిస్తుంటే, మీరు Windows పైన Linux వర్చువల్ మెషీన్ లో IoT ఎడ్జ్ రన్‌టైమ్ ఇన్‌స్టాల్ చేసి నడిపేందుకు deploy your first IoT Edge module to a Windows device quickstart లో install and start the IoT Edge runtime సెక్షన్ అనుసరించండి. Deploy a module సెక్షన్ వద్ద ఆగండి.

  • మీరు macOS ఉపయోగిస్తుంటే, మీరు క్లౌడ్‌లో ఒక వర్చువల్ మెషీన్ (VM) సృష్టించి IoT ఎడ్జ్ పరికరంగా ఉపయోగించవచ్చు. ఇవి క్లౌడ్‌లో సృష్టించి, ఇంటర్నెట్‌లోనూ యాక్సెస్ చేసే కంప్యూటర్లు. మీరు IoT ఎడ్జ్ ఇన్‌స్టాల్ చేసిన Linux VM సృష్టించవచ్చు. దీనిని ఎలా చేయాలో గైడ్ కోసం create a virtual machine running IoT Edge గైడ్ చదవండి.

మీ మోడల్‌ను ఎగుమతి చేయండి

క్లాసిఫయర్‌ను ఎడ్జ్ లో నడపడానికి, దాన్ని Custom Vision నుండి ఎగుమతి చేయాలి. Custom Vision రెండు రకాల మోడల్స్ సృష్టించగలదు - స్టాండర్డ్ మోడల్స్ మరియు కంపాక్ట్ మోడల్స్. కంపాక్ట్ మోడల్స్ మోడల్ పరిమాణాన్ని తగ్గించే వివిధ సాంకేతికాలను ఉపయోగించి, IoT పరికరాల్లో డౌన్లోడ్ చేసి డిప్లాయ్ చేయడానికి తగిన చిన్న పరిమాణంగా ఉంటాయి. మీరు చిత్ర వర్గీకర్తను సృష్టించినప్పుడు, మీరు ఆహారం డొమైన్‌ను ఉపయోగించారు, ఇది ఆహార చిత్రాలపై శిక్షణకు అనుకూలీకరించబడిన మోడల్ యొక్క ఒక సంస్కరణ. కస్టమ్ విజన్‌లో, మీరు మీ ప్రాజెక్ట్ యొక్క డొమైన్‌ను మార్చి, కొత్త డొమైన్‌తో కొత్త మోడల్‌ను శిక్షణ చేయడానికి మీ శిక్షణ డేటాను ఉపయోగిస్తారు. కస్టమ్ విజన్ మద్దతు ఇచ్చే అన్ని డొమైన్‌లు స్టాండర్డ్ మరియు కాంపాక్ట్ రూపాల్లో లభ్యమవుతాయి.

టాస్క్ - ఆహారం (కాంపాక్ట్) డొమైన్ ఉపయోగించి మీ మోడల్‌ను శిక్షణ ఇవ్వండి

  1. CustomVision.ai వద్ద కస్టమ్ విజన్ పోర్టల్‌ను ప్రారంభించి, మీకు అది ఇప్పటికే తెరవబడని పక్షంలో సైన్ ఇన్ అవ్వండి. ఆపై మీ fruit-quality-detector ప్రాజెక్ట్‌ను తెరవండి.

  2. Settings బటన్ (⚙ చిహ్నం) ను ఎంచుకోండి

  3. Domains జాబితాలో, Food (compact) ను ఎంచుకోండి

  4. Export Capabilities కింద, Basic platforms (Tensorflow, CoreML, ONNX, ...) ఎంచుకోబడిందని నిర్ధారించుకోండి.

  5. సెట్టింగుల పేజీ దిగువన Save Changes ను ఎంచుకోండి.

  6. Train బటన్ ఉపయోగించి మోడల్‌ను తిరిగి శిక్షణ ఇవ్వండి, Quick training ఎంచుకోండి.

టాస్క్ - మీ మోడల్‌ను ఎగుమతి చేయండి

మోడల్ శిక్షణ పూర్తయిన తర్వాత, దానిని కంటైనర్‌గా ఎగుమతి చేయాల్సి ఉంటుంది.

  1. Performance ట్యాబ్‌ను ఎంచుకుని, కాంపాక్ట్ డొమైన్ ఉపయోగించి శిక్షణ పొందిన మీ తాజా ఇటరేషన్‌ను కనుగొనండి.

  2. టాప్‌లోని Export బటన్‌ను ఎంచుకోండి.

  3. DockerFile ని ఎంచుకుని, మీ ఎడ్జ్ డివైస్‌కు సరిపోయే సంస్కరణను ఎంచుకోండి:

    • మీరు Linux కంప్యూటర్, Windows కంప్యూటర్ లేదా వర్చువల్ మెషీన్‌పై IoT ఎడ్జ్ నడుపుతుంటే, Linux వర్షన్ ఎంచుకోండి.
    • మీరు Raspberry Pi పై IoT ఎడ్జ్ నడుపుతున్నట్లయితే, ARM (Raspberry Pi 3) వర్షన్ ఎంచుకోండి.

    🎓 Docker అనేది కంటైనర్లను నిర్వహించే అత్యంత ప్రముఖ టూల్‌ల్లో ఒకటి, DockerFile అనేది కంటైనర్‌ను ఎలా సెట్ చేయాలో సూచనలు కలిగిన ఒక ఫైల్.

  4. Export ఎంచుకొని కస్టమ్ విజన్ సంబంధిత ఫైళ్లను సృష్టించదలచుతుంది, ఆపై Download ను ఎంచుకుని వాటిని జిప్ ఫైల్‌గా డౌన్లోడ్ చేసుకోండి.

  5. ఫైళ్లు మీ కంప్యూటర్లో సేవ్ చేసి, ఆ ఫోల్డర్‌ను అన్‌జిప్ చేయండి.

మీ కంటైనర్‌ను ప్రయోగానికి సిద్ధం చేయండి

Containers are built then pushed to a container registry, then deployed from the container registry to an edge device using IoT Edge

మీరు మీ మోడల్‌ను డౌన్లోడ్ చేసుకున్న తర్వాత, దానిని కాంటైనర్‌లో బిల్డ్ చేసి, కంటైనర్ రిజిస్ట్రీకి పంపాలి - ఇది కంటైనర్లు నిల్వ చేసే ఆన్‌లైన్ స్థలం. తర్వాత IoT Edge ఆ కంటైనర్‌ను రిజిస్ట్రీ నుండి డౌన్లోడ్ చేసి మీ డివైస్‌కు పుష్ చేస్తుంది.

THe Azure Container Registry logo

ఈ పాఠం కోసం మీరు ఉపయోగించే కంటైనర్ రిజిస్ట్రీ ఆజ్యూర్ కంటైనర్ రిజిస్ట్రీ. దీను ఉచిత సేవ కాదు, కాబట్టి మీరు ముగించాక మీ ప్రాజెక్ట్‌ను సఫాయీ చేసుకోవడం మర్చిపోకండి.

💁 మీరు ఆజ్యూర్ కంటైనర్ రిజిస్ట్రీ వాడకం ఖర్చులను Azure Container Registry pricing page లో చూడవచ్చు

టాస్క్ - Docker ను ఇన్‌స్టాల్ చేయండి

వర్గీకర్తను బిల్డ్ చేసి డిప్లాయ్ చేయడానికి మీరు Docker ను ఇన్‌స్టాల్ చేయవలసి రావచ్చు.

మీరు IoT Edge ఇన్‌స్టాల్ చేసిన డివైస్ కాకుండా వేరే డివైస్ నుండి కంటైనర్ బిల్డ్ చేయాలనుకుంటే మాత్రమే ఇది అవసరం - IoT Edge ఇన్‌స్టాల్ లోపల Docker కూడా ఇన్‌స్టాల్ అయి ఉంటుంది.

  1. మీరు IoT Edge డివైస్ కాకుండా వేరే డివైస్ పై Docker కంటైనర్ బిల్డ్ చేస్తున్నట్లయితే, Docker install page లో ఇచ్చిన Docker ఇన్‌స్టాలేషన్ సూచనల ప్రకారం Docker Desktop లేదా Docker ఇంజిన్ ఇన్‌స్టాల్ చేసుకోండి. ఇన్‌స్టాలు తర్వాత Docker నడుస్తుందో లేదో తనిఖీ చేయండి.

టాస్క్ - కంటైనర్ రిజిస్ట్రీ రిసోర్స్‌ను సృష్టించండి

  1. మీ టెర్మినల్ లేదా కమాండ్ ప్రాంప్ట్ నుండి క్రింద ఉన్న ఆజ్యూర్ కంటైనర్ రిజిస్ట్రీ రిసోర్స్ సృష్టించే కమాండ్ నడపండి:

    az acr create --resource-group fruit-quality-detector \
                  --sku Basic \
                  --name <Container registry name>
    

    <Container registry name> ని మీ కంటైనర్ రిజిస్ట్రీ కోసం అక్షరాలు మరియు సంఖ్యలతో కూడిన ప్రత్యేకమైన పేరుతో మార్చండి. దీన్ని fruitqualitydetector ఆధారంగా పెట్టండి. ఈ పేరు కంటైనర్ రిజిస్ట్రీ కి యాక్సెస్ చేసే URL లో భాగమవుతుంది, సంఘటిత ప్రపంచవ్యాప్తంగా ప్రత్యేకంగా ఉండాలి.

  2. క్రింది కమాండ్ ఉపయోగించి ఆజ్యూర్ కంటైనర్ రిజిస్ట్రీకి లాగిన్ అవ్వండి:

    az acr login --name <Container registry name>
    

    <Container registry name> ని మీరు ఉపయోగించిన పేరుతో మార్చండి.

  3. కంటైనర్ రిజిస్ట్రీని అడ్మిన్ మోడ్‌లో పెట్టి పాస్వర్డ్ సృష్టించడానికి క్రింది కమాండ్ నడపండి:

    az acr update --admin-enabled true \
                 --name <Container registry name>
    

    <Container registry name> ని మీరు ఉపయోగించిన పేరుతో మార్చండి.

  4. క్రింది కమాండ్ నుంచి మీ కంటైనర్ రిజిస్ట్రీకు పాస్వర్డ్లు సృష్టించండి:

     az acr credential renew --password-name password \
                             --output table \
                             --name <Container registry name>
    

    <Container registry name> ని మీరు ఉపయోగించిన పేరుతో మార్చండి.

    PASSWORD విలువను కాపీ చేసుకోండి, మీరు దీన్ని తరువాత అవసరం ఉంటుందు.

టాస్క్ - మీ కంటైనర్‌ను బిల్డ్ చేయండి

కస్టమ్ విజన్ నుండి మీరు డౌన్లోడ్ చేసుకున్నది DockerFile, ఇందులో కంటైనర్‌ను ఎలా బిల్డ్ చేయాలో సూచనలు, అలాగే మీ కస్టమ్ విజన్ మోడల్‌ను హోస్ట్ చేయడానికి అవసరమైన అప్లికేషన్ కోడ్ ఉంటుంది. Docker ని ఉపయోగించి DockerFile నుండి టాగ్ చేయబడిన కంటైనర్ బిల్డ్ చేసి, అప్పుడు దాన్ని కంటైనర్ రిజిస్ట్రీకి పుష్ చేయవచ్చు.

🎓 కంటైనర్లకు ఒక పేరు మరియు సంస్కరణ తెలియజేయడానికి ట్యాగ్ ఇవ్వబడతాయి. కంటైనర్‌ను నవీకరించినప్పుడు దాని అదే ట్యాగ్‌తో కొత్త సంస్కరణ బిల్డ్ చేయవచ్చు.

  1. మీ టెర్మినల్ లేదా కమాండ్ ప్రాంప్ట్ తెరిచి, మీరు కస్టమ్ విజన్ నుండి డౌన్లోడ్ చేసి అన్‌జిప్ చేసిన ఫోల్డర్‌కి వెళ్లండి.

  2. క్రింద ఇచ్చిన కమాండ్ నడపండి, బిల్డ్ చేసి ఇమేజ్‌కు ట్యాగ్ ఇవ్వండి:

    docker build --platform <platform> -t <Container registry name>.azurecr.io/classifier:v1 .
    

    <platform> ని ఈ కంటైనర్ నడిచే ప్లాట్‌ఫార్మ్‌తో మార్చండి. మీరు Raspberry Pi పై IoT Edge నడుపుతుంటే, దీన్ని linux/armhf గా పెట్టండి, లేకపోతే linux/amd64 గా ఉంచండి.

    💁 మీరు ఈ కమాండ్‌ను IoT Edge నడుపుతున్న అదే డివైస్ నుండి నడుపుతున్నట్లయితే, --platform <platform> భాగాన్ని వదిలేయవచ్చు, ఎందుకంటే అది డిఫాల్ట్ గా ప్రస్తుత ప్లాట్‌ఫార్మ్ అయినదానిని అమలు చేస్తుంది.

    <Container registry name> ని మీరు ఉపయోగించిన పేరుతో మార్చండి.

    💁 మీరు Linux లేదా Raspberry Pi OS లో ఉంటే ఈ కమాండ్‌ను sudo తో నడపవలసి వస్తుందిలని కయ్యాలి.

    Docker ఇమేజ్ బిల్డ్ అవుతుంది, అన్ని సాఫ్ట్‌వేర్ అవసరాలను కాన్ఫిగర్ చేస్తుంది. ఆ ఇమేజ్ classifier:v1 గా ట్యాగ్ అవుతుంది.

    ➜  d4ccc45da0bb478bad287128e1274c3c.DockerFile.Linux docker build --platform linux/amd64 -t  fruitqualitydetectorjimb.azurecr.io/classifier:v1 .
    [+] Building 102.4s (11/11) FINISHED
     => [internal] load build definition from Dockerfile
     => => transferring dockerfile: 131B
     => [internal] load .dockerignore
     => => transferring context: 2B
     => [internal] load metadata for docker.io/library/python:3.7-slim
     => [internal] load build context
     => => transferring context: 905B
     => [1/6] FROM docker.io/library/python:3.7-slim@sha256:b21b91c9618e951a8cbca5b696424fa5e820800a88b7e7afd66bba0441a764d6
     => => resolve docker.io/library/python:3.7-slim@sha256:b21b91c9618e951a8cbca5b696424fa5e820800a88b7e7afd66bba0441a764d6
     => => sha256:b4d181a07f8025e00e0cb28f1cc14613da2ce26450b80c54aea537fa93cf3bda 27.15MB / 27.15MB
     => => sha256:de8ecf497b753094723ccf9cea8a46076e7cb845f333df99a6f4f397c93c6ea9 2.77MB / 2.77MB
     => => sha256:707b80804672b7c5d8f21e37c8396f319151e1298d976186b4f3b76ead9f10c8 10.06MB / 10.06MB
     => => sha256:b21b91c9618e951a8cbca5b696424fa5e820800a88b7e7afd66bba0441a764d6 1.86kB / 1.86kB
     => => sha256:44073386687709c437586676b572ff45128ff1f1570153c2f727140d4a9accad 1.37kB / 1.37kB
     => => sha256:3d94f0f2ca798607808b771a7766f47ae62a26f820e871dd488baeccc69838d1 8.31kB / 8.31kB
     => => sha256:283715715396fd56d0e90355125fd4ec57b4f0773f306fcd5fa353b998beeb41 233B / 233B
     => => sha256:8353afd48f6b84c3603ea49d204bdcf2a1daada15f5d6cad9cc916e186610a9f 2.64MB / 2.64MB
     => => extracting sha256:b4d181a07f8025e00e0cb28f1cc14613da2ce26450b80c54aea537fa93cf3bda
     => => extracting sha256:de8ecf497b753094723ccf9cea8a46076e7cb845f333df99a6f4f397c93c6ea9
     => => extracting sha256:707b80804672b7c5d8f21e37c8396f319151e1298d976186b4f3b76ead9f10c8
     => => extracting sha256:283715715396fd56d0e90355125fd4ec57b4f0773f306fcd5fa353b998beeb41
     => => extracting sha256:8353afd48f6b84c3603ea49d204bdcf2a1daada15f5d6cad9cc916e186610a9f
     => [2/6] RUN pip install -U pip
     => [3/6] RUN pip install --no-cache-dir numpy~=1.17.5 tensorflow~=2.0.2 flask~=1.1.2 pillow~=7.2.0
     => [4/6] RUN pip install --no-cache-dir mscviplib==2.200731.16
     => [5/6] COPY app /app
     => [6/6] WORKDIR /app
     => exporting to image
     => => exporting layers
     => => writing image sha256:1846b6f134431f78507ba7c079358ed66d944c0e185ab53428276bd822400386
     => => naming to fruitqualitydetectorjimb.azurecr.io/classifier:v1
    

టాస్క్ - మీ కంటైనర్‌ను కంటైనర్ రిజిస్ట్రీకి పుష్ చేయండి

  1. క్రింది కమాండ్‌ను ఉపయోగించి మీ కంటైనర్‌ను కంటైనర్ రిజిస్ట్రీకి పుష్ చేయండి:

    docker push <Container registry name>.azurecr.io/classifier:v1
    

    <Container registry name> ని మీరు ఉపయోగించిన పేరుతో మార్చండి.

    💁 మీరు Linux పై ఉంటే ఈ కమాండ్‌ను sudo తో నడపవలసి వస్తుంది.

    కంటైనర్ రిజిస్ట్రీకి పుష్ అవుతుంది.

    ➜  d4ccc45da0bb478bad287128e1274c3c.DockerFile.Linux docker push fruitqualitydetectorjimb.azurecr.io/classifier:v1
    The push refers to repository [fruitqualitydetectorjimb.azurecr.io/classifier]
    5f70bf18a086: Pushed 
    8a1ba9294a22: Pushed 
    56cf27184a76: Pushed 
    b32154f3f5dd: Pushed 
    36103e9a3104: Pushed 
    e2abb3cacca0: Pushed 
    4213fd357bbe: Pushed 
    7ea163ba4dce: Pushed 
    537313a13d90: Pushed 
    764055ebc9a7: Pushed 
    v1: digest: sha256:ea7894652e610de83a5a9e429618e763b8904284253f4fa0c9f65f0df3a5ded8 size: 2423
    
  2. పుష్ సరిగ్గా జరిగింది అని నిర్ధారించడానికి, మీరు ఈ కమాండ్‌తో మీ రిజిస్ట్రీలోని కంటైనర్లను జాబితా చేయవచ్చు:

    az acr repository list --output table \
                           --name <Container registry name> 
    

    <Container registry name> ని మీరు ఉపయోగించిన పేరుతో మార్చండి.

    ➜  d4ccc45da0bb478bad287128e1274c3c.DockerFile.Linux az acr repository list --name fruitqualitydetectorjimb --output table
    Result
    ----------
    classifier
    

    వికల్ప ఔటుపుట్లో మీ వర్గీకర్త (classifier) కనిపిస్తుంది.

మీ కంటైనర్‌ను డిప్లాయ్ చేయండి

మీ కంటైనర్ ఇప్పుడు మీ IoT ఎడ్జ్ డివైస్‌కు డిప్లాయ్ చేయవచ్చు. డిప్లాయ్ చేయడానికి మీరు డిప్లాయ్‌మెంట్ మానిఫెస్ట్ (deployment manifest) ని నిర్వచించాలి - ఇది ఎడ్జ్ డివైస్‌కు డిప్లాయ్ చేయబడే మాడ్యూల్స్ జాబితా ఉన్న JSON డాక్‌మెంట్.

టాస్క్ - డిప్లాయ్‌మెంట్ మానిఫెస్ట్ సృష్టించండి

  1. మీ కంప్యూటర్లో ఎక్కడైనా deployment.json అనే కొత్త ఫైల్ సృష్టించండి.

  2. ఈ ఫైల్‌లో క్రింది విషయాలను జతచేయండి:

    {
        "content": {
            "modulesContent": {
                "$edgeAgent": {
                    "properties.desired": {
                        "schemaVersion": "1.1",
                        "runtime": {
                            "type": "docker",
                            "settings": {
                                "minDockerVersion": "v1.25",
                                "loggingOptions": "",
                                "registryCredentials": {
                                    "ClassifierRegistry": {
                                        "username": "<Container registry name>",
                                        "password": "<Container registry password>",
                                        "address": "<Container registry name>.azurecr.io"
                                      }
                                }
                            }
                        },
                        "systemModules": {
                            "edgeAgent": {
                                "type": "docker",
                                "settings": {
                                    "image": "mcr.microsoft.com/azureiotedge-agent:1.1",
                                    "createOptions": "{}"
                                }
                            },
                            "edgeHub": {
                                "type": "docker",
                                "status": "running",
                                "restartPolicy": "always",
                                "settings": {
                                    "image": "mcr.microsoft.com/azureiotedge-hub:1.1",
                                    "createOptions": "{\"HostConfig\":{\"PortBindings\":{\"5671/tcp\":[{\"HostPort\":\"5671\"}],\"8883/tcp\":[{\"HostPort\":\"8883\"}],\"443/tcp\":[{\"HostPort\":\"443\"}]}}}"
                                }
                            }
                        },
                        "modules": {
                            "ImageClassifier": {
                                "version": "1.0",
                                "type": "docker",
                                "status": "running",
                                "restartPolicy": "always",
                                "settings": {
                                    "image": "<Container registry name>.azurecr.io/classifier:v1",
                                    "createOptions": "{\"ExposedPorts\": {\"80/tcp\": {}},\"HostConfig\": {\"PortBindings\": {\"80/tcp\": [{\"HostPort\": \"80\"}]}}}"
                                }
                            }
                        }
                    }
                },
                "$edgeHub": {
                    "properties.desired": {
                        "schemaVersion": "1.1",
                        "routes": {
                            "upstream": "FROM /messages/* INTO $upstream"
                        },
                        "storeAndForwardConfiguration": {
                            "timeToLiveSecs": 7200
                        }
                    }
                }
            }
        }
    }
    

    💁 మీరు ఈ ఫైల్‌ను code-deployment/deployment ఫోల్డర్‌లో కూడా కనుగొనవచ్చు.

    <Container registry name> అనే మూడు ప్రదేశాలను మీరు ఉపయోగించిన కంటైనర్ రిజిస్ట్రీ పేరుతో మార్చండి. ఒకటి ImageClassifier మాడ్యూల్ సెక్షన్ లో ఉంటుంది, మిగతావి registryCredentials సెక్షన్ లో ఉంటాయి.

    <Container registry password> ని registryCredentials లో మీ కంటైనర్ రిజిస్ట్రీ పాస్వర్డ్‌తో మార్చండి.

  3. మీరు డిప్లాయ్‌మెంట్ మానిఫెస్ట్ ఉన్న ఫోల్డర్ నుండి క్రింది కమాండ్ నడపండి:

    az iot edge set-modules --device-id fruit-quality-detector-edge \
                            --content deployment.json \
                            --hub-name <hub_name>
    

    <hub_name> ని మీ IoT Hub పేరుతో మార్చండి.

    చిత్ర వర్గీకర్త మాడ్యూల్ మీ ఎడ్జ్ డివైస్‌కు డిప్లాయ్ అవుతుంది.

టాస్క్ - వర్గీకర్త పనిచేస్తుందో లేదో తనిఖీ చేయండి

  1. IoT ఎడ్జ్ డివైస్‌కు కనెక్ట్ అవ్వండి:

    • మీరు Raspberry Pi ఉపయోగించి IoT Edge నడుపుతున్నట్లయితే, టెర్మినల్ ద్వారా లేదా VS Code లో రిమోట్ SSH సెషన్ ద్వారా sshతో కనెక్ట్ అవ్వండి

    • Windows లో లినక్స్ కంటైనర్‌లో IoT Edge నడుపుతున్నట్లయితే, verify successful configuration guide లో సూచనలచెల్లని ప్రకారం IoT Edge డివైస్ కు కనెక్ట్ అవ్వండి.

    • వర్చువల్ మెషీన్ మీద IoT Edge నడుపుతున్నట్లయితే, VM సృష్టించినప్పుడు సెట్ చేసిన adminUsername మరియు password ఉపయోగించి ssh ద్వారా కనెక్ట్ అవ్వొచ్చు. IP అడ్రస్ లేదా DNS పేరును ఉపయోగించండి:

      ssh <adminUsername>@<IP address>
      

      లేదా:

      ssh <adminUsername>@<DNS Name>
      

      ప్రాంప్ట్ వచ్చినప్పుడు మీ పాస్వర్డ్ ఎంటర్ చేయండి

  2. కనెక్ట్ అయ్యాక క్రింది కమాండ్ నడపండి, IoT Edge మాడ్యూల్స్ జాబితా కోసం:

    iotedge list
    

    💁 ఈ కమాండ్‌ను sudo తో నడపవలసి రావచ్చు.

    మీరు నడుస్తున్న మాడ్యూల్స్‌ని చూడగలరు:

    jim@fruit-quality-detector-jimb:~$ iotedge list
    NAME             STATUS           DESCRIPTION      CONFIG
    ImageClassifier  running          Up 42 minutes    fruitqualitydetectorjimb.azurecr.io/classifier:v1
    edgeAgent        running          Up 42 minutes    mcr.microsoft.com/azureiotedge-agent:1.1
    edgeHub          running          Up 42 minutes    mcr.microsoft.com/azureiotedge-hub:1.1
    
  3. Image classifier మాడ్యూల్ యొక్క లాగ్స్ కోసం క్రింది కమాండ్ నడపండి:

    iotedge logs ImageClassifier
    

    💁 ఈ కమాండ్‌ను కూడా కావలసినట్లయితే sudo తో నడపండి.

    jim@fruit-quality-detector-jimb:~$ iotedge logs ImageClassifier
    2021-07-05 20:30:15.387144: I tensorflow/core/platform/cpu_feature_guard.cc:142] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
    2021-07-05 20:30:15.392185: I tensorflow/core/platform/profile_utils/cpu_utils.cc:94] CPU Frequency: 2394450000 Hz
    2021-07-05 20:30:15.392712: I tensorflow/compiler/xla/service/service.cc:168] XLA service 0x55ed9ac83470 executing computations on platform Host. Devices:
    2021-07-05 20:30:15.392806: I tensorflow/compiler/xla/service/service.cc:175]   StreamExecutor device (0): Host, Default Version
    Loading model...Success!
    Loading labels...2 found. Success!
     * Serving Flask app "app" (lazy loading)
     * Environment: production
       WARNING: This is a development server. Do not use it in a production deployment.
       Use a production WSGI server instead.
     * Debug mode: off
     * Running on http://0.0.0.0:80/ (Press CTRL+C to quit)
    

టాస్క్ - చిత్ర వర్గీకర్తను పరీక్షించండి

  1. CURL ఉపయోగించి చిత్ర వర్గీకర్తను పరీక్షించవచ్చు. IoT Edge ఏజెంట్ నడుస్తున్న కంప్యూటర్ యొక్క IP అడ్రస్ లేదా హోస్ట్ నేమ్ తెలుసుకోండి:

    • మీరు IoT Edge నడుస్తున్నదే మిషన్‌లో ఉంటే localhost హోస్ట్ నేమ్‌గా ఉపయోగించవచ్చు.
    • మీరు వర్చువల్ మెషీన్ ఉపయోగిస్తుంటే, VM యొక్క IP అడ్రస్ లేదా DNS పేరు వాడవచ్చు.
    • ఇతరथा, IoT Edge నడుస్తున్న యంత్రం యొక్క IP అడ్రస్ పొందండి:
  2. స్థానిక ఫైల్‌తో కంటైనర్‌ని క్రింద ఇచ్చిన curl కమాండ్ తో పరీక్షించండి:

    curl --location \
         --request POST 'http://<IP address or name>/image' \
         --header 'Content-Type: image/png' \
         --data-binary '@<file_Name>' 
    

    <IP address or name> ను IoT Edge నడుస్తున్న కంప్యూటర్ IP లేదా హోస్ట్ నేమ్‌తో మార్చండి. <file_Name> ను పరీక్షించాలనుకున్న ఫైల్ పేరుతో మార్చండి.

    అవుట్‌పుట్‌లో పూర్వా నిర్ధారణ ఫలితాలు కనిపిస్తాయి:

    {
        "created": "2021-07-05T21:44:39.573181",
        "id": "",
        "iteration": "",
        "predictions": [
            {
                "boundingBox": null,
                "probability": 0.9995615482330322,
                "tagId": "",
                "tagName": "ripe"
            },
            {
                "boundingBox": null,
                "probability": 0.0004384400090202689,
                "tagId": "",
                "tagName": "unripe"
            }
        ],
        "project": ""
    }
    

    💁 ఇక్కడ ఏదైనా ప్రిడిక్షన్ కీ ఇవ్వటం అవసరం లేదు, ఎందుకంటే ఇది Azure వనరు ఉపయోగించటం లేదు. భద్రత అంతర్గత నెట్వర్క్ ప్రస్తుత భద్రత అవసరాల ఆధారంగా అమలు అవుతుంది, పబ్లిక్ ఎండ్‌పాయింట్ మరియు API కీ మీద ఆధారపడదు.

మీ IoT ఎడ్జ్ డివైస్ ఉపయోగించండి

ఇప్పుడు మీ చిత్రం వర్గీకర్త IoT ఎడ్జ్ డివైస్‌కు డిప్లాయ్ అయింది, మీరు దీన్ని మీ IoT డివైస్ నుండి ఉపయోగించవచ్చు.

టాస్క్ - మీ IoT ఎడ్జ్ డివైస్ ఉపయోగించండి

IoT ఎడ్జ్ వర్గీకర్త ఉపయోగించి చిత్రాలను వర్గీకరించడానికి సంబంధిత గైడ్‌ను అనుసరించండి:

మోడల్ తిరిగి శిక్షణ

IoT ఎడ్జ్‌పై చిత్ర వర్గీకర్తలను నడుపుతున్నప్పుడు ఒక లోపం ఏమిటంటే అవి మీ కస్టమ్ విజన్ ప్రాజెక్టుకు కనెక్ట్ కాలేవు. కస్టమ్ విజన్ లో Predictions ట్యాబ్ చూస్తే ఎడ్జ్ ఆధారిత వర్గీకర్త ఉపయోగించి వర్గీకరించిన చిత్రాలను చూడలేరు.

ఇది ఆశించిన వ్యవహారం - క్లౌడ్‌లో వర్గీకరణ కోసం చిత్రాలు పంపడం జరుగదు, కాబట్టి అవి క్లౌడ్‌లో అందుబాటులో ఉండవు. IoT ఎడ్జ్ ఉపయోగించే ఒక లాభం గోప్యత (Privacy) - చిత్రాలు మీ నెట్‌వర్క్‌ను వదలు తప్పును, మరొకటి ఆఫ్లైన్‌లో పనిచేసే సామర్థ్యం, కనుక ఇంటర్నెట్ కనెక్షన్ లేకపోతే కూడా చిత్రాలు అప్లోడ్ కాకపోవచ్చు. దుష్ప్రభావం మోడల్ మెరుగుపరచడం - మీరు చిత్రాలను నిల్వ చేసే మరియు మానవీయంగా తిరిగి వర్గీకరించుకునే మరో విధానాన్ని అమలు చేసి, వర్గీకర్తను మెరుగుపరచాలి మరియు తిరిగి శిక్షణ ఇవ్వాలి.

వర్గీకర్తను తిరిగి శిక్షణ చేయడానికి చిత్రాలను ఎలా అప్లోడ్ చేయవచ్చో ఆలోచించండి.


🚀 ఛాలెంజ్

ఎడ్జ్ డివైస్‌లపై AI మోడల్స్ నడపడం క్లౌడ్ పోలిస్తే వేగంగా ఉండొచ్చు - నెట్‌వర్క్ హాప్ చిన్నది. అవి కొన్ని సార్లు మరింత మెల్లగా ఉండొచ్చు ఎందుకంటే మోడల్ నడపడానికి ఉపయోగించే హార్డ్‌వేర్ క్లౌడ్ కంటే తక్కువ శక్తివంతమైనదిగా ఉండొచ్చు.

కొన్ని సమయాలనూ కొలిచి మీరు మీ ఎడ్జ్ డివైస్ కాల్ వేగం క్లౌడ్ కాల్ కంటే తక్కువదా లేదా ఎక్కువదా అని పోల్చండి. తేడాకు లేదా తేడా లేకపోవడానికి కారణాలు ఆలోచించండి. ప్రత్యేక హార్డ్‌వేర్ ఉపయోగించి ఎడ్జ్ పై AI మోడల్స్‌ను వేగంగా నడపడం కోసం మార్గాలు పరిశోధించండి.

పాఠం తర్వాత ಪ್ರಶ್ನా సమీక్ష

పోస్ట్-లెక్చర్ క్విజ్

సమీక్ష & స్వీయ అధ్యయనం

అసైన్‌మెంట్

ఎడ్జ్ పై ఇతర సేవలను నడపండి


అసమతొл:
ఈ దస్త్రం AI అనువాద సేవ Co-op Translator ద్వారా అనువదించబడింది. మేము ఖచ్చితత్వాన్ని లక్ష్యంగా పెట్టుకున్నప్పటికీ, ఆటోమేటెడ్ అనువాదాలలో పొరపాట్లు లేదా అపరిశుద్ధతలు ఉండవచ్చును. మూల భాషలో ఉన్న అసలు దస్త్రాన్ని అధికారిక వనరుగా పరిగణించాలి. అత్యవసర సమాచారం కోసం, ప్రొఫెషనల్ మానవ అనువాదం సిఫార్సు చేయబడుతుంది. ఈ అనువాదం ఉపయోగించి కలిగే ఏ సందేహాలు లేదా తప్పుదారుల పైన మేము బాధ్యులం కాబోమని గమనించండి.