# നിങ്ങളുടെ ഫലം শনാകരണ ഉപകരണം എഡ്ജിൽ പ്രവർത്തിപ്പിക്കുക ![ഈ പാഠത്തിന്റെ സ്കെച്ചിന്റെ അവലോകനം](../../../../../translated_images/ml/lesson-17.bc333c3c35ba8e42.webp) > സ്കെച്ചിൻോട്ട് ഒരുക്കിയത് [നിത്യ നരസിംഹൻ](https://github.com/nitya). വലിയ പക്ച്ച എത്താൻ ചിത്രം ക്ലിക്ക് ചെയ്യുക. ഈ വീഡിയോയിൽ IoT ഉപകരണങ്ങളിൽ ഇമേജ് ക്ലാസിഫയേഴ്‌സ് പ്രവർത്തിപ്പിക്കുന്നതിന്റെ അവലോകനം നൽകുന്നു, ഈ പാഠത്തിൽ പരിചയപ്പെടുന്ന വിഷയം. [![Azure IoT Edge-ൽ കസ്റ്റം വിഷൻ AI](https://img.youtube.com/vi/_K5fqGLO8us/0.jpg)](https://www.youtube.com/watch?v=_K5fqGLO8us) ## പ്രീ-ലെക്‌ചർ ക്വിസ് [പ്രീ-ലെക്‌ചർ ക്വിസ്](https://black-meadow-040d15503.1.azurestaticapps.net/quiz/33) ## പരിചയം മുമ്പുള്ള പാഠത്തിൽ നിങ്ങൾ നിങ്ങളുടെ ഇമേജ് ക്ലാസിഫയറിനെ ഉപയോഗിച്ച് പാകം വന്ന പഴം, പാകമാകാത്ത പഴം തിരിച്ചറിയാൻ ഉപയോഗിച്ചു, നിങ്ങളുടെ IoT ഉപകരണത്തിലെ ക്യാമറയാൽ എടുത്ത ചിത്രം ഇന്റർനെറ്റിലൂടെ ക്ലൗഡ് സർവീസിലേക്ക് അയച്ചു. ഈ കോൾസിന് സമയം লাগে, ചിലവ് വരും, കൂടാതെ നിങ്ങൾ ഉപയോഗിക്കുന്ന ചിത്ര ഡേറ്റയുടെ പ്രകാരം, സ്വകാര്യതയിൽ ബാധകൾ ഉണ്ടാകാം. ഈ പാഠത്തിൽ നിങ്ങൾക്കു് മഷീൻ ലേണിംഗ് (ML) മോഡലുകൾ എഡ്ജിൽ പ്രവർത്തിപ്പിക്കുന്നതെന്താണെന്ന് പഠിക്കാം - ക്ലൗഡിൽ അല്ല, നിങ്ങളുടെ സ്വന്തം നെറ്റ്വർക്ക് പ്രവർത്തിക്കുന്ന IoT ഉപകരണങ്ങളിൽ. എഡ്ജ് കമ്പ്യൂട്ടിങ്ങ്, ക്ലൗഡ് കമ്പ്യൂട്ടിങ്ങ് എന്നിവയുടെ ഗുണങ്ങളും പാക уларниңകങ്ങളും, നിങ്ങളുടെ AI മോഡൽ എഡ്ജിലേക്ക് എങ്ങനെ വിന്യസിക്കാമെന്ന്, അത് നിങ്ങളുടെ IoT ഉപകരണത്തിൽ നിന്നു് എങ്ങനെ ആക്‌സസ് ചെയ്യാമെന്നും നിങ്ങൾ എടുക്കും. ഈ പാഠത്തിൽ ഞങ്ങൾ ഉൾപ്പെടും: * [എഡ്ജ് കമ്പ്യൂട്ടിങ്ങ്](../../../../../4-manufacturing/lessons/3-run-fruit-detector-edge) * [Azure IoT Edge](../../../../../4-manufacturing/lessons/3-run-fruit-detector-edge) * [ഒരു IoT Edge ഉപകരണം രജിസ്റ്റർ ചെയ്യുക](../../../../../4-manufacturing/lessons/3-run-fruit-detector-edge) * [ഒരു IoT Edge ഉപകരണം സജ്ജമാക്കുക](../../../../../4-manufacturing/lessons/3-run-fruit-detector-edge) * [നിങ്ങളുടെ മോഡൽ എക്സ്പോർട്ട് ചെയ്യുക](../../../../../4-manufacturing/lessons/3-run-fruit-detector-edge) * [ഡെപ്ലോയ്മെന്റിന് വേണ്ടി നിങ്ങളുടെ കണ്ടെയ്‌നർ തയ്യാറാക്കുക](../../../../../4-manufacturing/lessons/3-run-fruit-detector-edge) * [നിങ്ങളുടെ കണ്ടെയ്‌നർ ഡെപ്ലോ ചെയ്യുക](../../../../../4-manufacturing/lessons/3-run-fruit-detector-edge) * [നിങ്ങളുടെ IoT Edge ഉപകരണം ഉപയോഗിക്കുക](../../../../../4-manufacturing/lessons/3-run-fruit-detector-edge) ## എഡ്ജ് കമ്പ്യൂട്ടിങ്ങ് എഡ്ജ് കമ്പ്യൂട്ടിങ്ങ്, IoT ഡേറ്റ അനുഭവപ്പെടുന്ന സ്ഥലത്തേക്ക് ഏറ്റവും അടുത്ത് IoT ഡേറ്റ പ്രോസസ്സ് ചെയ്യുന്ന കമ്പ്യൂട്ടറുകൾ ഉപയോഗിക്കുന്നതാണ്. ക്ലൗഡിൽ ചെയ്യേണ്ട പ്രോസസ്സിംഗ് നവീകരിച്ച്, അത് ക്ലൗഡിന്റെ എഡ്ജിലേക്ക് - உங்கள் ഉൾവലയം (internal network) മാറ്റുന്നു. ![ക്ലൗഡിലുള്ള ഇന്റർനെറ്റ് സർവീസുകളും പ്രാദേശിക നെറ്റ്വർക്കിലെ IoT ഉപകരണങ്ങളും കാണിക്കുന്ന ആർക്കിടെക്ചർ](../../../../../translated_images/ml/cloud-without-edge.b4da641f6022c95e.webp) മുമ്പത്തെ പാഠങ്ങളിൽ, ഡേറ്റ ശേഖരിച്ചും ക്ലൗഡില്‍ വിശകലനംക്കായി അയച്ചും നീണ്ടുപോയി, ക്ലൗഡിൽ സർവർലസ് ഫംഗ്ഷനുകൾ അല്ലെങ്കിൽ AI മോഡലുകൾ പ്രവർത്തിച്ചിരുന്നു. ![പ്രാദേശിക നെറ്റ്വർക്കിലെ IoT ഉപകരണങ്ങൾ എഡ്ജ് ഉപകരണങ്ങളുമായി ബന്ധിപ്പിക്കുന്നു, ആ എഡ്ജ് ഉപകരണങ്ങൾ ക്ലൗഡുമായി ബന്ധം പുലർത്തുന്നു](../../../../../translated_images/ml/cloud-with-edge.1e26462c62c126fe.webp) എഡ്ജ് കമ്പ്യൂട്ടിങ്ങ്, ക്ലൗഡ് സർവീസുകളുടെ ചില ഭാഗങ്ങൾ ക്ലൗഡിൽ നിന്ന് നീക്കിയെടുത്ത് IoT ഉപകരണങ്ങളോടൊപ്പം പ്രവർത്തിക്കുന്ന ഒരു നെറ്റ്വർക്കിൽ പ്രവർത്തിക്കുന്ന കമ്പ്യൂട്ടറുകളിലേക്ക് കൊണ്ടുവരുന്നു, ആവശ്യമുള്ളപ്പോൾ മാത്രമേ ക്ലൗഡുമായി ബന്ധപ്പെടൂ. ഉദാഹരണത്തിന്, പഴക്കവും പാകം കൂടിയിട്ടുള്ള പഴങ്ങളും വിശകലനം ചെയ്യാൻ AI മോഡലുകൾ എഡ്ജ് ഉപകരണങ്ങളിൽ ഓടിക്കുന്നതാണ്, പിന്നീട് മാത്രം പഴം പാകം വൃദ്ധിയുള്ള കണക്ക് ക്ലൗഡിലേക്ക് അയക്കുന്നു. ✅ ഇതുവരെ നിങ്ങൾ നിർമ്മിച്ച IoT ആപ്ലിക്കേഷനുകൾക്കു് എഡ്ജിലേക്ക് കൊണ്ടുപോകാവുന്ന ഭാഗങ്ങൾ ഏതെല്ലാം ആണെന്ന് ചിന്തിക്കുക. ### ഗുണങ്ങൾ എഡ്ജ് കമ്പ്യൂട്ടിങ്ങിന്റെ ഗുണങ്ങൾ: 1. **വേഗത** - സമയന് വഴിയും ഡേറ്റ ആര്‍ഹിക്കുന്ന കാര്യങ്ങൾ എഡ്ജ് കമ്പ്യൂട്ടിങ്ങിൽ നന്നായി നടത്താം. ഉപകരണങ്ങളോട് ഏകദേശം ഒരേ നെറ്റ്വർക്കിലായിരിക്കും ക്രിയകൾ നടക്കുന്നതുകൊണ്ട്, ഇന്റർനെറ്റിലെ ദൂരം കടക്കേണ്ടതില്ല. ഇന്റർനെറ്റ് കണക്ഷനുകളേക്കാൾ ഉൾവലയം വളരെ വേഗത്തിലാണ് പ്രവർത്തിക്കുന്നത്, അതിനാൽ ഡേറ്റക്ക് വളരെ കുറച്ചു ദൂരം യാത്ര ചെയ്യണം. > 💁 ഓപ്റ്റിക്കൽ കേബിൾ ഉപയോഗിച്ച് ഇന്റർനെറ്റ് കണക്ഷനുകൾ വെച്ചാലും ഡേറ്റ പ്രകാശത്തിന്റെ വേഗത്തിൽ സഞ്ചരിക്കുമ്പോഴും, ഡേറ്റ ക്ലൗഡ് സേവനദായകരിലേക്ക് ലോകമൂലം യാത്ര ചെയ്യാൻ സമയം ആവശ്യമാണ്. ഉദാഹരണത്തിന്, യൂറോപ്പിൽ നിന്ന് US-യിലെ ക്ലൗഡ് സേവനത്തിലേക്ക് ഡേറ്റ അയച്ചാൽ ഒപ്പ്റ്റിക്കൽ കേബിളിലൂടെ അറ്റ്ലാന്റിക് കടക്കാൻ കുറഞ്ഞത് 28ms സമയമെടുക്കും, കൂടാതെ ഡേറ്റ ട്രാൻസ്‌അറ്റ്ലാന്റിക് കേബിളിലേക്കും ഔട്ലുക്ക് അധിഷ്ഠിത സിഗ്നലിലേക്ക് പരിവർത്തിപ്പിക്കാനും മറ്റും സമയമാകും. എഡ്ജ് കമ്പ്യൂട്ടിങ്ങിന് കുറച്ചുകൂടി നെറ്റ്വർക്ക് ഗതാഗതം വേണ്ട, അതിനാൽ ഇന്റർനെറ്റ് ബന്ധത്തിൽ ഉള്ള ബാൻഡ്‌വിഡ്ത്ത് കുറവുകളാൽ ഡേറ്റ വൈകാൻ സാധ്യത കുറയുന്നു. 1. **ദൂരെ നിന്നുള്ള ആക്‌സസ്** - കണക്റ്റിവിറ്റിയില്ലായ്മയുള്ള ഇടങ്ങളിലും, തുടർച്ചയായി ഉപയോഗിക്കാൻ ചിലവുകൂടിയ ഇടങ്ങളിലും എഡ്ജ് കമ്പ്യൂട്ടിങ്ങ് പ്രവർത്തിക്കുന്നു. ഉദാഹരണത്തിന്, മാനവസ、おംദുരന്ത പ്രദേശങ്ങളിൽ അല്ലെങ്കിൽ വികസന രാജ്യങ്ങളിൽ. 1. **കുറഞ്ഞ ചെലവ്** - ഡേറ്റ ശേഖരണം, സ്റ്റോറേജ്, വിശകലനവും നടപടികൾ എഡ്ജ് ഉപകരണത്തിൽ നിർവഹിക്കുന്നത് ക്ലൗഡ് സേവനങ്ങളുടെ ഉപയോഗം കുറയ്ക്കുന്നു, ആകെ IoT ആപ്ലിക്കേഷന്റെ ചെലവ് കുറഞ്ഞേക്കാം. അടുത്തിടെ എഡ്ജ് കമ്പ്യൂട്ടിങ്ങിനായി രൂപകല്‌പന ചെയ്ത ഉപകരണങ്ങൾ, എന്നിട്ട് GPU അടിസ്ഥാന AI പ്രവർത്തനങ്ങൾ നടത്തുന്ന [NVIDIA-യുടെ Jetson Nano](https://developer.nvidia.com/embedded/jetson-nano-developer-kit) പോലുള്ള AI ആക്സിലറേറ്റർ ബോർഡുകൾ, US$100-ലധികം വിലയിൽ ലഭ്യമാണ്. 1. **സ്വകാര്യതയും സുരക്ഷയും** - ഡേറ്റ നിങ്ങളുടെ നെറ്റ്വർക്കിൽ നിൽക്കുകയും ക്ലൗഡിലേക്ക് അപ്‌ലോഡ് ചെയ്യപ്പെടുകയില്ല. വ്യക്തിഗത വിവരം അടങ്ങിയ ഡേറ്റക്ക് ഇത് പലപ്പോഴും മുൻഗണന വഹിക്കുന്നതും, വിശകലനം കഴിഞ്ഞശേഷം ഡേറ്റ സ്റ്റോർ ചെയ്യാനാവാതിരിക്കുന്നതും ഡേറ്റ ലേക്ക് സാധ്യത കുറയ്ക്കുന്നതും അതിന് കാരണമാണ്. ഉദാഹരണമായി വൈദ്യശാസ്ത്ര ഡേറ്റയും സുരക്ഷാ ക്യാമറ റിക്കോർഡിംഗും. 1. **അസുരക്ഷിതമായ ഉപകരണങ്ങൾ കൈകാര്യം ചെയ്യൽ** - നിങ്ങളുടെ നെറ്റ്വർക്കിലോ ഇന്റർനെറ്റിലോ നേരിട്ട് കണക്റ്റ് ചെയ്യാനാകാത്ത, തിരിച്ചറിയപ്പെട്ട സുരക്ഷാ പിഴവുകളുള്ള ഉപകരണങ്ങൾ, വ്യത്യസ്ത നെറ്റ്വർക്കിൽ കണക്റ്റുചെയ്യാനുള്ള ഉപാധിയായി ഗേറ്റ്‌വേ IoT Edge ഉപകരണം ഉപയോഗിക്കാം. ഈ എഡ്ജ് ഉപകരണം നിങ്ങളുടെ വിപുലമായ നെറ്റ്വർക്കിലേക്കോ ഇന്റർനെറ്റിലേക്കോ കണക്റ്റ് ചെയ്യുകയും ഡേറ്റ പ്രവാഹം നിയന്ത്രിക്കുകയും ചെയ്യും. 1. **അനുസൃതമല്ലാത്ത ഉപകരണങ്ങൾക്ക് പിന്തുണ** - HTTP കണക്ഷനുകൾ മാത്രം പിന്തുണക്കുന്ന ഉപകരണങ്ങൾ അല്ലെങ്കിൽ ബ്ലൂടൂത്ത് ഉപയോഗിച്ച് മാത്രമേ കണക്ട് ചെയ്യാനാകൂ എന്നുപോലുള്ള ഉപകരണങ്ങൾക്ക്, IoT Edge ഉപകരണം ഗേറ്റ്‌വേ ആയി പ്രവർത്തിപ്പിച്ച് IoT Hub-ലേക്ക് സന്ദേശങ്ങൾ ഫോർവേഡ് ചെയ്യാം. ✅ അല്പം ഗവേഷണം ചെയ്യൂ: എഡ്ജ് കമ്പ്യൂട്ടിങ്ങിന് മറ്റെന്തെന്ത് ഗുണങ്ങൾ ഉണ്ടാകാം എന്ന് അന്വേഷിക്കുക. ### പ്രയാസങ്ങൾ എഡ്ജ് കമ്പ്യൂട്ടിങ്ങിന് ചില പ്രയാസങ്ങൾ ഉണ്ട്, അവിടെ ക്ലൗഡ് പരമാവധി പരിഗണനസംബന്ധമാണ്: 1. **അളവ് യോഗ്യതയും നീസ്ഥിതിഷ്ഠിതവുമാണ്** - നെറ്റ്വർക്ക്, ഡേറ്റ ആവശ്യങ്ങൾ അനുസരിച്ച് സെർവർ കൾ കൂട്ടിയിടുക കുറയ്ക്കുക എന്നിവ ക്ലൗഡ് കമ്പ്യൂട്ടിങ്ങിൽ സുവ്യവസ്ഥിതമാണ്. എഡ്ജ് കമ്പ്യൂട്ടറുകൾ വർദ്ധിപ്പിക്കാൻ നിങ്ങളുടെ കൈപ്രവർത്തനം വേണം, കൂടുതൽ ഉപകരണങ്ങൾ ചേർക്കണം. 1. **വിശ്വാസ്യതയും സ്ഥിരതയും** - ക്ലൗഡ് കമ്പ്യൂട്ടിങ്ങിൽ പല സ്ഥലങ്ങളിൽ നിരവധി സെർവറുകൾ ഇരിക്കുന്നു, വിഷമ കാലങ്ങളിലെ സങ്കടങ്ങൾക്കായി ബാക്കപ്പ് ഒരുക്കാനും. എഡ്ജിൽ സമാനമായ പുനരേണുസ്ഥാപനം ഉയർന്ന നിക്ഷേപങ്ങളും കൃത്യമായ ക്രമീകരണങ്ങളും ആവശ്യമാണ്. 1. **കഴിവനുസരണം** - ക്ലൗഡ് സേവനദാതാക്കൾ സിസ്റ്റം പരിപാലനവും അപ്ഡേറ്റുകളും നൽകുന്നു. ✅ അല്പം ഗവേഷണം ചെയ്യൂ: എഡ്ജ് കമ്പ്യൂട്ടിങ്ങിന് മറ്റ് എന്തെന്ത് പ്രയാസങ്ങൾ ഉണ്ടാകാം എന്ന്റിയുക. പ്രയാസങ്ങൾ, ക്ലൗഡ് ഉപയോഗിക്കുന്ന ഗുണങ്ങളുടെ വിപരീതമാണ് - നിങ്ങൾ തന്നെ ഉപകരണങ്ങൾ നിർമ്മിച്ച് നിയന്ത്രിക്കേണ്ടി വന്നു്, ക്ലൗഡ് സേവനദാതാക്കളുടെ പരിചയത്തിലും തോതുമായ ആശ്രയമില്ലാതെ. എഡ്ജ് കമ്പ്യൂട്ടിങ്ങിന്റെ സ്വഭാവം ചില അപകടങ്ങൾ കുറക്കുകയും ചെയ്യുന്നു. ഉദാഹരണത്തിന്, ഒരു ഫാക്ടറിയിലെ യന്ത്രങ്ങളിൽ നിന്നുള്ള ഡേറ്റ ശേഖരിക്കാൻ ഉപയോഗിക്കുന്ന ഒരു എഡ്ജ് ഉപകരണം ഇവിടെയുണ്ടെങ്കിൽ, ഫാക്ടറി പവർ ഓഫ് ആണെങ്കിൽ, അതിനായി ബാക്കപ്പ് എഡ്ജ് ഉപകരണം വേണ്ട. യന്ത്രങ്ങൾക്ക് പവർ ഇല്ലാതെ എഡ്ജ് ഉപകരണം പ്രവർത്തിച്ചുകൊള്ളാനാകില്ല. IoT സംവിധാനങ്ങളിൽ, നിങ്ങൾക്ക് ക്ലൗഡ്, എഡ്ജ് രണ്ടു രീതികളും സംയോജിപ്പിച്ചുചെയ്യാം, സിസ്റ്റം, ഉപഭോക്താക്കൾ, പരിപാലകരുടെ ആവശ്യങ്ങൾ അനുസരിച്ച്. ## Azure IoT Edge ![Azure IoT Edge ലോഗോ](../../../../../translated_images/ml/azure-iot-edge-logo.c1c076749b5cba2e.webp) Azure IoT Edge ഒരു സേവനമാണ്, ഇത് ക്ലൗഡിൽ നിന്നു് വർക്ക്‌ലോഡുകൾ എഡ്ജിലേക്ക് മാറ്റാൻ സഹായിക്കുന്നു. നിങ്ങൾ ഒരു ഉപകരണം എഡ്ജ് ഉപകരണമായി സജ്ജമാക്കുന്നു, കാണുന്ന ക്‌ലൗഡിൽ നിന്ന് ആ എഡ്ജ് ഉപകരണത്തിലേക്ക് കോഡ് വിന്യസിക്കുന്നുമാകും. ക്ലൗഡിന്റെയും എഡ്ജിന്റെയും കഴിവുകൾ ചേർന്ന് ഉപയോഗിക്കാം. > 🎓 *വർക്ക്‌ലോഡ്* എന്നു പറയുന്നത് ഏതെങ്കിലും ജോലിചെയ്യുന്ന സേവനങ്ങളെ സൂചിപ്പിക്കുന്നു, ഉദാ: AI മോഡലുകൾ, ആപ്ലിക്കേഷനുകൾ, സർവർലസ് ഫംഗ്ഷനുകൾ. ഉദാഹരണത്തിന്, നിങ്ങൾ ആദ്യം ക്ലൗഡിൽ ഒരു ഇമേജ് ക്ലാസിഫയർ പരിശീലിപ്പിച്ച്, തുടർന്ന് അത് എഡ്ജ് ഉപകരണത്തിലേക്ക് ഡെപ്ലോ ചെയ്യാം. നിങ്ങളുടെ IoT ഉപകരണം ചിത്രങ്ങൾ എഡ്ജ് ഉപകരണത്തിലേക്ക് അയച്ച് തിരിച്ചറിയലുകൾ നടത്തുന്നു, പകരം ഇന്റർനെറ്റിലൂടെ ചിത്രങ്ങൾ അയക്കുന്നത്. മോഡലിന്റെ പുതിയ പതിപ്പ് ആവശ്യമായാൽ, നിങ്ങൾ അത് ക്ലൗഡിൽ പഠിപ്പിച്ച്, IoT Edge ഉപയോഗിച്ച് എഡ്ജ് ഉപകരണത്തെ പുതുക്കാം. > 🎓 IoT Edge-ലേക്ക് വിന്യസിക്കുന്ന സോഫ്റ്റ്‌വെയർ *മോട്യൂളുകൾ* എന്നാണ് അറിയപ്പെടുന്നത്. സാധാരണയായി, IoT Edge, IoT Hub-നുമായി ആശയവിനിമയം നടത്തുന്ന `edgeAgent`, `edgeHub` പോലുള്ള മോട്യൂളുകൾ ഓടിക്കുന്നു. ഒരു ഇമേജ് ക്ലാസിഫയർ ഡെപ്ലോ ചെയ്താൽ, അത് ഒരു അധിക മോട്യൂളായി പ്രവർത്തിക്കും. IoT Edge, IoT Hub-ഇൽ ഉൾക്കഴിഞ്ഞിരിക്കുകയാണീ, അതുകൊണ്ട് നിങ്ങൾക്ക് IoT ഉപകരണങ്ങൾ നിയന്ത്രിക്കുന്നത് പോലെ തന്നെ എഡ്ജായുള്ള ഉപകരണങ്ങളും നിയന്ത്രിക്കാം, അതേ സുരക്ഷാതലത്തിൽ. IoT Edge, *കണ്ടെയ്‌നറുകൾ* എന്ന സാങ്കേതിക വിദ്യ ഉപയോഗിച്ച് കോഡ് പ്രവർത്തിപ്പിക്കുന്നു - നിങ്ങൾക്കു് കമ്പ്യൂട്ടറിലോ മറ്റേതോ നിന്നും സ്വതന്ത്രമായി പ്രവർത്തിക്കുന്ന സ്വയംകെട്ടിയ ആപ്ലിക്കേഷനുകൾ. കണ്ടെയ്‌നർ ഓടുമ്പോൾ, അത് നിങ്ങളുടെ കമ്പ്യൂട്ടറിന് ഉള്ളിലെ മറ്റൊരു പ്രത്യേക കമ്പ്യൂട്ടറുപോലെ പ്രവർത്തിക്കുന്നു, സ്വന്തം സോഫ്റ്റ്‌വെയർ, സേവനങ്ങൾ, ആപ്ലിക്കേഷനുകൾ ഉള്ളത്. സാധാരണയായി കണ്ടെയ്‌നറുകൾ കമ്പ്യൂട്ടറിൽ മറ്റ് കാര്യങ്ങൾ കാണാനാകില്ല, പക്ഷേ നിങ്ങൾ ഫോളഡർ പോലുള്ള ചില വസ്തുക്കൾ പങ്കുവെക്കാനാകും. കണ്ടെയ്‌നർ തുറന്ന പോർട്ട് മുഖേന സേവനങ്ങൾ പ്രദാനം ചെയ്യുന്നു, അതിനുള്ളിൽ ബന്ധിപ്പിക്കാനാകും അല്ലെങ്കിൽ നിങ്ങളുടെ നെറ്റ്വർക്കിലേക്ക് തുറക്കാം. ![വെബ് അഭ്യർത്ഥന കണ്ടെയ്‌നറിലേക്ക് റീഡയറക്ട് ചെയ്യുന്നു](../../../../../translated_images/ml/container-web-browser.4ee81dd4f0d8838c.webp) ഉദാഹരണത്തിന്, ഒരു വെബ്‌സൈറ്റ് കണ്ടെയ്‌നറിലുണ്ടാകും, അത് പോർട്ട് 80-ൽ ഓടുന്നു, നിങ്ങളുടെ കമ്പ്യൂട്ടറിലും പോർട്ട് 80-ൽ നിന്നു അതിനെ പുറത്തെടുക്കാം. ✅ അല്പം ഗവേഷണം ചെയ്യൂ: Docker, Moby പോലുളള കണ്ടെയ്‌നറുകളും സേവനങ്ങളും കുറിച്ച് വായിക്കുക. Custom Vision-നെ ഉപയോഗിച്ച് ഇമേജ് ക്ലാസിഫയർ ഡൗൺലോഡു് ചെയ്ത് കണ്ടെയ്‌നറുകളായി വിന്യസിപ്പിക്കാം, നേരിട്ട് ഉപകരണത്തിലോ IoT Edge വഴി ഡെപ്ലോ ചെയ്‌തോടൊക്കെയോ. അവ കണ്ടെയ്‌നായറുടെ REST API-യിലൂടെ, ക്ലൗഡ് പതിപ്പിന്റേത് പോലെ, ആക്‌സസ് ചെയ്യാൻ കഴിയും; എന്റ്പോയിന്റ് എഡ്ജ് ഉപകരണമായി മാറും. ## ഒരു IoT Edge ഉപകരണം രജിസ്റ്റർ ചെയ്യുക IoT Edge ഉപകരണം ഉപയോഗിക്കുവാൻ, അത് IoT Hub-ൽ രജിസ്റ്റർ ചെയ്തിരിക്കണം. ### ടാസ്‌ക് - ഒരു IoT Edge ഉപകരണം രജിസ്റ്റർ ചെയ്യുക 1. `fruit-quality-detector` റിസോഴ്‌സ് ഗ്രൂപ്പിൽ IoT Hub സൃഷ്ടിക്കുക. `fruit-quality-detector` അടിസ്ഥാനമാക്കി യൂണീക്ക് പേരിടുക. 1. നിങ്ങളുടെ IoT Hub-ൽ `fruit-quality-detector-edge` എന്ന് പേരിട്ട ഒരു IoT Edge ഉപകരണം രജിസ്റ്റർ ചെയ്യുക. ഇത് കൈകാര്യമാക്കാൻ ഉപയോഗിക്കുന്ന കമാൻഡ് നോണെഡ്-എഡ്ജ് ഉപകരണങ്ങളുമായി സമാനമാണ്, പക്ഷേ `--edge-enabled` ഫ്ലാഗ് പാസ്സ് ചെയ്യണം. ```sh az iot hub device-identity create --edge-enabled \ --device-id fruit-quality-detector-edge \ --hub-name ``` `` എന്നത് നിങ്ങളുടെ IoT Hub-ന്റെ പേരിലേക്ക് മാറ്റുക. 1. താഴെ കാണിക്കുന്ന കമാൻഡ് ഉപയോഗിച്ച് ഉപകരണത്തിന്റേ കോൺനെക്ഷൻ സ്ട്രിംഗ് സ്വന്തമാക്കുക: ```sh az iot hub device-identity connection-string show --device-id fruit-quality-detector-edge \ --output table \ --hub-name ``` `` എന്നത് നിങ്ങളുടെ IoT Hub-ന്റെ പേരിലേക്ക് മാറ്റുക. ഔട്ട്പുട്ടിൽ കാണുന്ന കോൺനെക്ഷൻ സ്ട്രിംഗ് ഒരു പകർപ്പ് എടുത്തുവെക്കുക. ## ഒരു IoT Edge ഉപകരണം സജ്ജമാക്കുക നിങ്ങൾ നിങ്ങളുടെ IoT Hub-ൽ എഡ്ജ് ഉപകരണം രജിസ്റ്റർ ചെയ്ത ശേഷമേ, ആ ഉപകരണം സജ്ജമാക്കാം. ### ടാസ്‌ക് - IoT Edge റൺടൈം ഇൻസ്റ്റാൾ ചെയ്ത് ആരംഭിക്കുക **IoT Edge റൺടൈം ലിനക്സിൽ മാത്രമേ കണ്ടെയ്‌നറുകൾ ഓടിക്കുകയുള്ളൂ.** ഇത് ലിനക്സിൽ അല്ലെങ്കിൽ ലിനക്സിലുള്ള വിർച്വൽ മെഷിനുകളിൽ വിൻഡോസ് ഉപയോഗിച്ച് ഓടിക്കാം. * Raspberry Pi ഉപയോഗിക്കുന്നുവെങ്കിൽ, ഇത് പിന്തുണയുള്ള ലിനക്സ് വേർഷൻ ഓടിക്കുന്നു, അതുകൊണ്ട് IoT Edge റൺടൈം ഹോസ്റ്റ് ചെയ്യാം. [Microsoft ഡോക്സിലെ Azure IoT Edge for Linux ഇൻസ്റ്റാൾ ഗൈഡ്](https://docs.microsoft.com/azure/iot-edge/how-to-install-iot-edge?WT.mc_id=academic-17441-jabenn) പിന്തുടർന്ന് IoT Edge ഇൻസ്റ്റാൾ ചെയ്യുക, കോൺനെക്ഷൻ സ്ട്രിംഗ് സജ്ജമാക്കുക. > 💁 ഓർമ്മിക്കുക, Raspberry Pi OS ഡെബിയൻ ലിനക്സിന്റെ ഒരു വകഭേദമാണ്. * Raspberry Pi ഉപയോഗിക്കുന്നില്ലെങ്കിൽ, എന്നാൽ ലിനക്സ് കമ്പ്യൂട്ടർ ഉണ്ട് എങ്കിൽ, അതിൽ IoT Edge റൺടൈം ഓടിക്കും. [Linux-ലുള്ള Azure IoT Edge ഇൻസ്റ്റാൾ ഗൈഡ്](https://docs.microsoft.com/azure/iot-edge/how-to-install-iot-edge?WT.mc_id=academic-17441-jabenn) പിന്തുടരുക. * വിൻഡോസ് ഉപയോഗിച്ചാൽ, ലിനക്സ് വിർച്വൽ മെഷീൻ ഉപയോഗിച്ച് IoT Edge റൺടൈം ഇൻസ്റ്റാൾ ചെയ്യാം. [Microsoft ഡോക്സിലെ അതിന്റെ ഇൻസ്റ്റാൾ, സ്റ്റാർട്ട് സെക്ഷൻ](https://docs.microsoft.com/azure/iot-edge/quickstart?WT.mc_id=academic-17441-jabenn#install-and-start-the-iot-edge-runtime) അനുസരിച്ച് ചെയ്യുക. *Deploy a module* ഭാഗം വന്നപ്പോൾ നിർത്താം. * macOS ഉപയോഗിക്കുന്നവർക്ക്, ക്ലൗഡിൽ വിർച്വൽ മെഷീൻ സൃഷ്ടിച്ച് IoT Edge ഉപകരണമായി ഉപയോഗിക്കാം. ഇതു് ക്ലൗഡിൽ സൃഷ്ടിച്ച് ഇന്റർനെറ്റിലൂടെ ആക്‌സസ് ചെയ്യാവുന്ന കമ്പ്യൂട്ടറുകളാണ്. IoT Edge ഇൻസ്റ്റാൾ ചെയ്ത ലിനക്സ് VM സൃഷ്ടിക്കുക. [IoT Edge ഓടിക്കുന്ന ഒരു വിർച്വൽ മെഷീൻ സൃഷ്ടിക്കുക ഗൈഡ്](vm-iotedge.md) പിന്തുടരുക. ## നിങ്ങളുടെ മോഡൽ എക്സ്പോര്‍ട്ട് ചെയ്യുക എഡ്ജില്‍ ക്ലാസിഫയർ ഓടിക്കാന്‍, അത് Custom Vision നിന്നു് എക്സ്പോര്‍ട്ട് ചെയ്യണം. Custom Vision രണ്ട് തരത്തിലുള്ള മോഡലുകൾ ഉണ്ടാക്കാൻ കഴിയും - സ്റ്റാൻഡേർഡ് മോഡലുകളും കോംപാക്റ്റ് മോഡലുകളും. കോംപാക്റ്റ് മോഡലുകൾ മോഡലിന്റെ വലിപ്പം കുറയ്ക്കാൻ വിവിധ സാങ്കേതികങ്ങൾ ഉപയോഗിക്കുന്നു, ഇവ IoT ഉപകരണങ്ങളിൽ ഡൗൺലോഡ് ചെയ്ത് വിന്യസിക്കാനായി ചെറിയ വലിപ്പത്തിലും വരും. നീങ്ങൾ ചിത്രം ക്ലാസിഫയർ സൃഷ്ടിക്കുമ്പോൾ, ഭക്ഷണ ചിത്രം പരിശീലനത്തിനായി ഒപ്റ്റിമൈസ് ചെയ്ത മോഡലിന്റെ ഒരു പതിപ്പായ *Food* ഡൊമെയ്ൻ ഉപയോഗിച്ചു. Custom Vision-ൽ, നിങ്ങൾക്ക് നിങ്ങളുടെ പരിശീലന ഡാറ്റ ഉപയോഗിച്ച് പുതിയ ഡൊമെയ്ൻ ഉപയോഗിച്ച് പുതിയ മോഡൽ പരിശീലിപ്പിച്ച് നിങ്ങളുടെ പ്രോജക്ടിന്റെ ഡൊമെയ്ൻ മാറ്റാം. Custom Vision പിന്തുണയ്ക്കുന്ന എല്ലാ ഡൊമെയ്ൻമാരും സ്റ്റാൻഡേർഡ്‌ ആണും കമ്പാക്ട് ആണും ആയി ലഭ്യമാണ്. ### ടാസ്‌ക് - Food (compact) ഡൊമെയ്ൻ ഉപയോഗിച്ച് നിങ്ങളുടെ മോഡൽ പരിശീലിപ്പിക്കുക 1. [CustomVision.ai](https://customvision.ai) ലെ Custom Vision പോർട്ടൽ തുറക്കുക, തുറന്നില്ലെങ്കിൽ സൈൻ ഇൻ ചെയ്യുക. പിന്നീട് നിങ്ങളുടെ `fruit-quality-detector` പ്രോജക്റ്റ് തുറക്കുക. 1. **Settings** ബട്ടൺ തിരഞ്ഞെടുക്കുക (⚙ ഐക്കൺ) 1. *Domains* ലിസ്റ്റിൽ നിന്ന് *Food (compact)* തിരഞ്ഞെടുക്കുക 1. *Export Capabilities* താഴെ, *Basic platforms (Tensorflow, CoreML, ONNX, ...)* തെരഞ്ഞെടുക്കപ്പെട്ടിരിക്കുന്നതു ഉറപ്പാക്കുക. 1. Settings പേജിന്റെ അടിക്കുറിപ്പിൽ നിന്ന് **Save Changes** തിരഞ്ഞെടുത്തെടുക്കുക. 1. **Train** ബട്ടൺ ഉപയോഗിച്ച് മോഡൽ വീണ്ടും പരിശീലിപ്പിക്കുക, *Quick training* തിരഞ്ഞെടുക്കുക. ### ടാസ്‌ക് - മോഡൽ എക്സ്പോർട്ട് ചെയ്യുക മോഡൽ പരിശീലിപ്പിച്ചതിനു ശേഷം, അത് ഒരു കണ്ടെയ്നറായി എക്സ്പോർട്ട് ചെയ്യണം. 1. **Performance** ടാബ് തിരഞ്ഞെടുക്കുക, കൂടാതെ compacto ഡൊമെയ്ൻ ഉപയോഗിച്ചു പരിശീലിപ്പിച്ച നിങ്ങളുടെ ഏറ്റവും പുതിയ iterations കണ്ടെത്തുക. 1. മീതെ വലതുവശത്ത് **Export** ബട്ടൺ സെലക്ട് ചെയ്യുക. 1. **DockerFile** തിരഞ്ഞെടുക്കുക, ശേഷം നിങ്ങളുടെ എഡ്ജ് ഉപകരണം അനുയോജ്യമായ വേഴ്സൻ തിരഞ്ഞെടുക്കുക: * നിങ്ങൾ Linux കമ്പ്യൂട്ടറിൽ, Windows കമ്പ്യൂട്ടറിൽ അല്ലെങ്കിൽ വിർച്വൽ മെഷീൻ-ലേ IoT Edge ഓടിക്കുന്നുവെങ്കിൽ, *Linux* വേഴ്സൻ തിരഞ്ഞെടുക്കുക. * നിങ്ങൾ Raspberry Pi യിൽ IoT Edge ഓടിക്കുന്നുവെങ്കിൽ, *ARM (Raspberry Pi 3)* പതിപ്പ് തിരഞ്ഞെടുക്കുക. > 🎓 Docker കണ്ടെയ്നറുകൾ മാനേജു ചെയ്യാനുള്ള പ്രസിദ്ധപ്പെട്ട ടൂളുകളിൽ ഒന്നാണ്, DockerFile കണ്ടെയ്നർ സജ്ജമാക്കുന്നതിനുള്ള ക്രമീകരണങ്ങളുടെ ഒരു സെറ്റ് ആണെന്ന്. 1. Custom Vision ആവശ്യമായ ഫയലുകൾ സൃഷ്ടികരിക്കാൻ **Export** തിരഞ്ഞെടുത്തശേഷം **Download** വഴി ഒരു zip ഫയലായി ഡൗൺലോഡ് ചെയ്യുക. 1. ഫയലുകൾ നിങ്ങളുടെ കമ്പ്യൂട്ടറിലേക്ക് സേവ് ചെയ്ത് ഫോൾഡർ unzip ചെയ്യുക. ## കണ്ടെയ്നർ ഡിപ്ലോയ് ചെയ്യാൻ തയ്യാറാക്കുക ![Containers are built then pushed to a container registry, then deployed from the container registry to an edge device using IoT Edge](../../../../../translated_images/ml/container-edge-flow.c246050dd60ceefd.webp) മോഡൽ ഡൗൺലോഡ് ചെയ്‌തതിന് ശേഷം, അത് കണ്ടെയ്നറിൽ ബിൽഡ് ചെയ്തു, ശേഷം കണ്ടെയ്നർ രജിസ്ട്രിയിൽ പുഷ് ചെയ്യണം - ഇത് ഓൺലൈൻ സ്ഥലം ആണ്, അറുൾക്കുള്ള കണ്ടെയ്നറുകൾ സംഭരിക്കാൻ. ശേഷം IoT Edge റെജിസ്ട്രിയിൽ നിന്നും കണ്ടെയ്നർ ഡൗൺലോഡ് ചെയ്ത് നിങ്ങളുടെ ഉപകരണത്തിൽ പുഷ് ചെയ്യാം. ![THe Azure Container Registry logo](../../../../../translated_images/ml/azure-container-registry-logo.09494206991d4b29.webp) ഈ പാഠത്തിന് നിങ്ങൾ ഉപയോഗിക്കുന്ന കണ്ടെയ്നർ രജിസ്ട്രി ആസീർ കണ്ടെയ്നർ രജിസ്ട്രി ആണ്. ഇത് സൗജന്യമല്ല, അതുകൊണ്ട് പണം ലാഭിക്കാൻ നിങ്ങൾ [നിങ്ങളുടെ പ്രോജക്റ്റ് ക്ലീൻ അപ്പ് ചെയ്യുക](../../../clean-up.md) അന്ത്യം ചെയ്തശേഷം. > 💁 Azure Container Registry ഉപയോഗിക്കുന്ന ചെലവുകൾ [Azure Container Registry വിലനിർണ്ണയ പേജ്](https://azure.microsoft.com/pricing/details/container-registry/?WT.mc_id=academic-17441-jabenn) ൽ കാണാം. ### ടാസ്‌ക് - Docker ഇൻസ്റ്റാൾ ചെയ്യുക ക്ലാസിഫയർ ബിൽഡ് ചെയ്ത് ഡിപ്ലോയ് ചെയ്യാൻ, നിങ്ങൾക്ക് [Docker](https://www.docker.com/) ഇൻസ്റ്റാൾ ചെയ്യേണ്ടിവരും. ഈ നടപടി നിങ്ങൾ ചെയ്യേണ്ടത് IoT Edge ഇൻസ്റ്റാൾ ചെയ്ത ഡിവൈസിനു പകരമായ വേറെ ഒരു ഡിവൈസിൽ കണ്ടെയ്നർ നിർമ്മിക്കാൻ നിങ്ങളായ് തീരുമാനിച്ചാൽ മാത്രമേ ആയു. IoT Edge ഇൻസ്റ്റാൾ ചെയ്തപ്പോൾ Dockerയുടെ ഇൻസ്റ്റാൾ ആയിരിക്കുമെന്ന് ശ്രദ്ധിക്കുക. 1. നിങ്ങളുടെ Docker കണ്ടെയ്നർ IoT Edge ഡിവൈസിൽനിന്ന് വേറേ ഒരു ഡിവൈസിൽ നിർമ്മിയ്ക്കാൻ പോകുന്നുവെങ്കിൽ, Docker ഡെസ്‌ക്ടോപ്പ് അല്ലെങ്കിൽ Docker എഞ്ചിൻ ഇൻസ്റ്റാൾ ചെയ്യാൻ [Docker ഇൻസ്റ്റാൾ പേജ്](https://www.docker.com/products/docker-desktop) നുള്ള നിർദ്ദേശങ്ങൾ പാലിച്ച് ഇൻസ്റ്റാൾ ചെയ്യുക. ഇൻസ്റ്റാൾ കഴിഞ്ഞ് പ്രവർത്തിക്കുന്നതു ഉറപ്പ് വരുത്തുക. ### ടാസ്‌ക് - കണ്ടെത്തുക കണ്ടെയ്നർ രജിസ്ട്രി റിസോഴ്‌സ് സൃഷ്ടിക്കുക 1. താഴെ കമാൻഡ് നിങ്ങളുടെ ടെർമിനലിൽ (Terminal) അല്ലെങ്കിൽ കമാൻഡ് പ്രപ്‌റ്റിൽ റൺ ചെയ്ത് Azure Container Registry റിസോഴ്‌സ് സൃഷ്ടിക്കുക: ```sh az acr create --resource-group fruit-quality-detector \ --sku Basic \ --name ``` `` എന്നിടത്ത് അക്കമത്തിലുളള ഹരഫുകളും സംഖ്യകളും മാത്രം ഉപയോഗിച്ച് സംഭാവനയുള്ളനാമം വച്ച് മാറ്റുക. ഇത് `fruitqualitydetector` അടിസ്ഥാനമാക്കി മാറ്റാം. ഈ പേര് URL-യിൽ ഉൾപ്പെടുന്നിരിക്കും, അതിനാൽ ഇതു ആഗോളതലത്തിൽ യുണീക്ക് ആകേണ്ടതാണ്. 1. കമ്പ്രീന്നായി Azure Container Registry ലോഗിൻ ചെയ്യാൻ താഴെയുള്ള കമാൻഡ് റൺ ചെയ്യുക: ```sh az acr login --name ``` `` എന്നിടത്ത് ഉപയോഗിച്ചിരിക്കുന്ന കോൺറ്റെയ്നർ രജിസ്ട്രിയുടെ പേര് ഇടുക. 1. അഡ്മിൻ മോഡ് സജ്ജമാക്കാൻ തുടർന്ന് പാസ്‌വേഡ് ജനറേറ്റ് ചെയ്യാൻ താഴെയുള്ള കമാൻഡ് റൺ ചെയ്യുക: ```sh az acr update --admin-enabled true \ --name ``` `` പകരം നിങ്ങൾ ഉപയോഗിച്ച രജിസ്ട്രി പേര് ഇടുക. 1. പാസ്‌വേഡുകൾ ജനറേറ്റ് ചെയ്യാൻ താഴെയുള്ള കമാൻഡ് റൺ ചെയ്യുക: ```sh az acr credential renew --password-name password \ --output table \ --name ``` `` പകരം രജിസ്ട്രി പേരു ഉപയോഗിക്കുക. `PASSWORD` മൂല്യം ഒരു കോപ്പി എടുക്കുക, പിന്നീട് ഇത് നിങ്ങൾക്ക് ആവശ്യമായിരിക്കും. ### ടാസ്‌ക് - കണ്ടെയ്നർ നിർമ്മിക്കുക Custom Vision-ൽ നിന്ന് നിങ്ങൾ ഡൗൺലോഡ് ചെയ്തത്, കണ്ടെയ്നർ എങ്ങനെ നിര്‍മ്മിക്കാമെന്ന് DockerFile ആയി കൊടുത്തതാണ്. കൂടാതെ, ആപ്ലിക്കേഷൻ കോഡ് കൂടി ഉണ്ട്, ഇത് കണ്ടെയ്നറിനുള്ളിൽ പ്രവർത്തിച്ച് നിങ്ങളുടെ കസ്റ്റം വിഷൻ മോഡലും REST API യും പണിയുന്നു. Docker ഉപയോഗിച്ച് DockerFile-നിന്ന് ടാഗ് ചെയ്ത കണ്ടെയ്നർ ബിൽഡ് ചെയ്ത്,_REGISTRY യിലേക്ക് പുഷ് ചെയ്യാം. > 🎓 കണ്ടെയ്നറുകൾക്ക് ഒരു ടാഗ് നൽകുന്നു, ഇത് ഇവയുടെ പേര്, പതിപ്പ് എന്നിവ നിർവ്വചിക്കുന്നു. അപ്ഡേറ്റ് ചെയ്യേണ്ടപ്പോൾ, പഴയ ടാഗ് ഉപയോഗിച്ച് കൂടി പുതിയ പതിപ്പ് ബിൽഡ് ചെയ്യാം. 1. ടെർമിനലിൽ അല്ലെങ്കിൽ കമാൻഡ് പ്രംപ്റ്റിൽ പോയി, Custom Vision-ൽ നിന്ന് എത്തിയ unzip ചെയ്ത മോഡൽ ഫോളഡറിൽ നാവിഗേറ്റ് ചെയ്യുക. 1. താഴെ കമാൻഡ് റൺ ചെയ്ത് ഇമേജ് ബിൽഡ് ചെയ്ത് ടാഗ് ചെയ്യുക: ```sh docker build --platform -t .azurecr.io/classifier:v1 . ``` `` പകരം ഈ കണ്ടെയ്നർ പ്രവർത്തിപ്പിക്കപ്പെടുന്ന പ്ലാറ്റ്ഫോം നൽകുക. Raspberry Pi-ൽ IoT Edge ഓടിക്കാൻ പോകുന്നുവെങ്കിൽ `linux/armhf` തിരഞ്ഞെടുക്കുക, അല്ലെങ്കിൽ `linux/amd64` അല്ലെങ്കിൽ. > 💁 IoT Edge ഓടിക്കുന്ന ഉപകരണത്തിൽ നിന്ന് കമാൻഡ് റൺ ചെയ്യുകയാണെങ്കിൽ, `--platform ` ഭാഗം ഒഴിവാക്കാം, അത് ഇപ്പോഴത്തെ പ്ലാറ്റ്ഫോം ആയി ഡീഫോൾട്ട് തന്നെയാണ്. `` പകരം നിങ്ങളുടെ രജിസ്ട്രി പേര് നൽകുക. > 💁 Linux അല്ലെങ്കിൽ Raspberry Pi OS-ലാണ് ഓടിക്കുന്നത് എങ്കിൽ, ഈ കമാൻഡ് `sudo` യോടെ റൺചെയ്യേണ്ടി വരും. Docker എല്ലാ ആവശ്യമായ സോഫ്റ്റ്‌വെയർ സജ്ജമാക്കി ഇമേജ് ബിൽഡ് ചെയ്യും. ഇമേജ് `classifier:v1` എന്ന ടാഗ് ലഭിക്കും. ```output ➜ 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 ``` ### ടാസ്‌ക് - കണ്ടെയ്നർ_REGISTRY യിലേക്ക് പുഷ് ചെയ്യുക 1. കാണിച്ചിരിക്കുന്ന കമാൻഡ് ഉപയോഗിച്ച് കണ്ടെത്തിയുണ്ടാക്കിയ കണ്ടെയ്നർ_REGISTRY യിലേക്ക് പുഷ് ചെയ്യുക: ```sh docker push .azurecr.io/classifier:v1 ``` `` ഉപയോഗിച്ചമായിരിക്കും. > 💁 Linux-ലെ sudo ആവശ്യമായേക്കാം. കണ്ടെയ്നർ_REGISTRY ലേക്ക് പുഷ് ചെയ്യും. ```output ➜ 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 ``` 1. പുഷ് ശരിയാണോയെന്ന് പരിശോധിക്കാൻ_REGISTRY യിൽ ഉള്ള കണ്ടെയ്നറുകൾ ലിസ്റ്റ് ചെയ്യുക: ```sh az acr repository list --output table \ --name ``` `` നിങ്ങളുടെ_REGISTRY പേര് തന്നെ നൽകുക. ```output ➜ d4ccc45da0bb478bad287128e1274c3c.DockerFile.Linux az acr repository list --name fruitqualitydetectorjimb --output table Result ---------- classifier ``` ഔട്ട്‌പുട്ടിൽ നിങ്ങളുടെ ക്ലാസിഫയർ കാണാം. ## കണ്ടെയ്നർ ഡിപ്ലോയ് ചെയ്യുക ഇപ്പോൾ നിങ്ങൾക്കുണ്ടായ കണ്ടെയ്നർ നിങ്ങളുടെ IoT Edge ഡിവൈസിൽ ഡിപ്ലോയ് ചെയ്തേക്കാവുന്നതാണ്. ഇതിനു ഡിപ്ലോയ്‌മെന്റ് മാനിഫെസ്റ്റ് നിയന്ത്രിക്കേണ്ടിവരും - ഏതെല്ലാം മോഡ്യൂളുകൾ എഡ്ജ് ഡിവൈസിലേക്കു പോകുന്നു എന്ന് JSON രൂപത്തിൽ രേഖപ്പെടുത്തുന്ന ഡോക്യുമെന്റ്. ### ടാസ്‌ക് - ഡിപ്ലോയ്‌മെന്റ് മാനിഫെസ്റ്റ് ഉണ്ടാക്കുക 1. നിങ്ങളുടെ കമ്പ്യൂട്ടറിൽ ഏതെങ്കിലും സ്ഥലത്ത് `deployment.json` എന്ന പുതിയ ഫയൽ സൃഷ്ടിക്കുക. 1. ഇതു കോപ്പി ചെയ്ത് ഈ ഫയലിൽ പേസ്റ്റുചെയ്യുക: ```json { "content": { "modulesContent": { "$edgeAgent": { "properties.desired": { "schemaVersion": "1.1", "runtime": { "type": "docker", "settings": { "minDockerVersion": "v1.25", "loggingOptions": "", "registryCredentials": { "ClassifierRegistry": { "username": "", "password": "", "address": ".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": ".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](../../../../../4-manufacturing/lessons/3-run-fruit-detector-edge/code-deployment/deployment) ഫോൾഡറിൽ കാണാം. `` മൂന്നു സ്ഥലങ്ങളിലും മാറ്റുക, ഒന്ന് `ImageClassifier` മോഡ്യൂളിൽ, രണ്ടും `registryCredentials` സെക്ഷനിൽ. `registryCredentials`-ൽ `` പകരം_REGISTRY പാസ്‌വേർഡ് നൽകുക. 1. ഡിപ്ലോയ്‌മെന്റ് മാനിഫെസ്റ്റ് ഉള്ള ഫോൾഡറിൽ നിന്നു താഴെയിരിക്കുന്ന കമാൻഡ് റൺ ചെയ്യുക: ```sh az iot edge set-modules --device-id fruit-quality-detector-edge \ --content deployment.json \ --hub-name ``` `` നിങ്ങളുടെ IoT Hub നാമം സെറ്റ് ചെയ്യുക. ഇമേജ് ക്ലാസിഫയർ മോഡ്യൂൾ എഡ്ജ് ഡിവൈസിലേക്ക് ഡിപ്ലോയ് ചെയ്യും. ### ടാസ്‌ക് - ക്ലാസിഫയർ പ്രവർത്തിക്കുന്നുണ്ടോ എന്ന് പരിശോധിക്കുക 1. IoT എഡ്ജ് ഡിവൈസുമായി കണക്ട് ചെയ്യുക: * Raspberry Pi-യിൽ IoT Edge ഓടിക്കുകയാണെങ്കിൽ, നിങ്ങളുടെ ടെർമിനൽ അല്ലെങ്കിൽ VS Code-ൽ SSH സെഷൻ വഴി കണക്ട് ചെയ്യുക * Windows-ൽ ലിനക്‌സ് കണ്ടെയ്‌നറിൽ IoT Edge ഓടിക്കുന്നത് ആണെങ്കിൽ, [verify successful configuration guide](https://docs.microsoft.com/azure/iot-edge/how-to-install-iot-edge-on-windows?WT.mc_id=academic-17441-jabenn&view=iotedge-2018-06&tabs=powershell#verify-successful-configuration) ൽ പറയുന്ന വിധം IoT Edge ഡിവൈസുമായി കണക്ട് ചെയ്യുക. * വെർച്വൽ മെഷീൻ വരുത്തുന്നുവെങ്കിൽ, നിങ്ങൾ VM സൃഷ്ടിച്ചപ്പോൾ നൽകിയ `adminUsername`/`password` ഉപയോഗിച്ച് SSH കണക്ഷൻ നേടാം, IP അല്ലെങ്കിൽ DNS ഉപയോഗിച്ച്: ```sh ssh @ ``` അല്ലെങ്കിൽ: ```sh ssh @ ``` ആവശ്യപ്പെട്ടാല് പാസ്‌വേഡ് നൽകുക. 1. കണക്റ്റ് ചെയ്തശേഷം, IoT Edge മോഡ്യൂളുകൾ ലിസ്റ്റ് ചെയ്യാൻ താഴെ കമാൻഡ് റൺ ചെയ്യുക: ```sh iotedge list ``` > 💁 sudo ഉപയോഗിച്ചെന്ന് ഓർക്കുക. പ്രവർത്തിക്കുന്ന മോഡ്യൂളുകൾ താഴെ കാണാം: ```output 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 ``` 1. Image classifier മോഡ്യൂളിന്റെ ലോഗുകൾ പരിശോധിക്കാൻ താഴെ കമാൻഡ് റൺ ചെയ്യുക: ```sh iotedge logs ImageClassifier ``` > 💁 sudo ഉപയോഗിക്കുക. ```output 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 ഉപയോഗിച്ച് IP വിലാസം അല്ലെങ്കിൽ അവിടുന്നുള്ള കോംപ്യുട്ടർ ഹോസ്റ്റ് നാമം ഉപയോഗിച്ച് ഇമേജ് ക്ലാസിഫയർ ടെസ്റ്റ് ചെയ്യാം. IP വിലാസം കണ്ടെത്തുക: * IoT Edge ഓടിക്കുന്ന സമാനമായ മെഷീൻ ആണെങ്കിൽ, ഹോസ്റ്റ് നാമമായി `localhost` ഉപയോഗിക്കാം. * VM ഉപയോഗിച്ചാൽ, VM ന്റെ IP വിലാസo അല്ലെങ്കിൽ DNS നാമം ഉപയോഗിക്കാം. * അല്ലെങ്കിൽ IoT Edge ഓടിക്കുന്ന മെഷീനിന്റെ ഐപി വിലാസം കണ്ടെത്തുക: * Windows 10-ൽ [ഇവിടെ നൽകിയ രീതിയിൽ](https://support.microsoft.com/windows/find-your-ip-address-f21a9bbc-c582-55cd-35e0-73431160a1b9?WT.mc_id=academic-17441-jabenn) IP കണ്ടെത്തുക * macOS-ൽ [ഇവിടെ](https://www.hellotech.com/guide/for/how-to-find-ip-address-on-mac) വഴിപടി പാലിക്കുക * Linux-ൽ [ഇവിടെ](https://opensource.com/article/18/5/how-find-ip-address-linux) ആണ് വ്യക്തിപരമായ IP കണ്ടെത്തൽ 1. താഴെയുള്ള curl കമാൻഡ് ഉപയോഗിച്ച് ലോക്കൽ ഫയലിന് ടെസ്റ്റ് ചെയ്യാം: ```sh curl --location \ --request POST 'http:///image' \ --header 'Content-Type: image/png' \ --data-binary '@' ``` `` പകരം IoT Edge ഓടുന്ന കമ്പ്യൂട്ടറിന്റെ IP ഫയർ അല്ലെങ്കിൽ ഹോസ്റ്റ് നാമം നൽകുക. `` പകരം ടെസ്റ്റ് ചെയ്യാനുള്ള ഫയൽ നാമം നൽകുക. ഔട്ട്പുട്ടിൽ പ്രവചനഫലം കാണും: ```output { "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 Edge ഉപകരണം ഉപയോഗിക്കുക ഇങ്ങനെ നിങ്ങളുടെ Image Classifier IoT Edge ഉപകരണത്തിലേക്ക് ഡിപ്ലോയായി കഴിഞ്ഞതിനാൽ, നിങ്ങൾ അതിനെ നിങ്ങളുടെ IoT ഉപകരണം വഴി ഉപയോഗിക്കാം. ### ടാസ്‌ക് - നിങ്ങളുടെ IoT Edge ഉപകരണം ഉപയോഗിക്കുക IoT Edge ക്ലാസിഫയർ ഉപയോഗിച്ച് ചിത്രങ്ങൾ ക്ലാസ്സിഫൈ ചെയ്യാൻ അനുയോജ്യമായ ഗൈഡുകൾ പ്രവർത്തിപ്പിക്കുക: * [Arduino - Wio Terminal](wio-terminal.md) * [Single-board computer - Raspberry Pi/Virtual IoT device](single-board-computer.md) ### മോഡൽ വീണ്ടും പരിശീലിപ്പിക്കൽ IoT Edge-ൽ ഇമേജ് ക്ലാസിഫയർ ഓടിക്കുന്നത് ഒന്നാമത്തെ പ്രശ്നം അവയുടെ Custom Vision പ്രോജക്റ്റുമായി ബന്ധപ്പെടുന്നില്ല എന്നതാണ്. Custom Vision-ലെ **Predictions** ടാബിൽ, Edge-ബേസ് ക്ലാസിഫയർ ഉപയോഗിച്ച ചിത്രങ്ങൾ കാണാനാകില്ല. ഇത് പ്രതീക്ഷിക്കപ്പെട്ട പെരുമാറ്റമാണ് - ക്ലാസിഫിക്കേഷൻ ക്ലൗഡിലേക്ക് ചിത്രങ്ങൾ അയയ്ക്കാത്തതിനാൽ, അവ ക്ലൗഡിൽ ലഭ്യമല്ല. IoT Edge ഉപയോഗിക്കയുടെ ഒരു പ്രധാന ഗുണം ആണ് സ്വകാര്യത - ചിത്രങ്ങൾ നെറ്റ്‌വർക്കിന് പുറത്തേക്ക് പോവാതെ തുടരുന്നു. കൂടാതെ ഇന്റർനെറ്റ് ഇല്ലാത്തപ്പോഴെങ്കിലും ഓഫ്ലൈനായി പ്രവർത്തിക്കാൻ കഴിയും. മോഡൽ മെച്ചപ്പെടുത്താനാകും, പക്ഷേ അത് ചെയ്തുപോവാൻ മറ്റൊരു മാർഗം നടപ്പിൽ കൊണ്ടുവന്ന് ചിത്രങ്ങൾ കണ്ടെത്തി വീണ്ടും ക്ലാസിഫെ ചെയ്യേണ്ടതും അതുപോലെ മോഡൽ പുനരധ്യാപനം ചെയ്യേണ്ടതും ഉണ്ടാകും. ✅ ക്ലാസിഫയർ പുനരധ്യാപിപ്പിക്കാനായി ചിത്രങ്ങൾ അപ്‌ലോഡ് ചെയ്യാനുള്ള മാർഗ്ഗങ്ങൾ ചിന്തിക്കുക. --- ## 🚀 ചലഞ്ച് എഡ്ജ് ഉപകരണങ്ങളിൽ AI മോഡലുകൾ ഓടിക്കുന്നത് ക്ലൗഡിലിനെക്കാൾ വേഗത്തിലായിരിക്കാം - നെറ്റ്‌വർക്ക് ഹോപ്പ് കുറവാണ്. എന്നാൽ മോഡൽ ഓടിക്കുന്ന ഹാർഡ്‌വെയർ ക്ലൗഡിനേക്കാൾ ശക്തിയില്ലെങ്കിൽ താഴ്ന്ന വേഗതയാകും. നൽകിയിരിക്കുന്ന അവസരത്തിൽ ടൈമിംഗ് ചെയ്തു നോക്കുക - എഡ്ജിലേക്ക് വിളിക്കുന്നത് ക്ലൗഡിലേക്കുള്ള വിളയേക്കാൾ വേഗമാണോ അല്ലയോ? വ്യത്യാസം ഉണ്ടാകുന്ന കാരണങ്ങൾ പരിശോധിക്കുക അല്ലെങ്കിൽ വ്യത്യാസമില്ലാത്തത് എന്തുകൊണ്ടെന്ന് ചിന്തിക്കുക. പ്രത്യേക ഹാർഡ്‌വെയർ ഉപയോഗിച്ച് എഡ്ജ്‌ൽ AI മോഡലുകൾ വേഗത്തിലാക്കാനുള്ള മാർഗങ്ങൾ ഗവേഷിക്കുക. ## ക്ലാസ് കഴിഞ്ഞ് ക്വിസ്സ് [പോസ്റ്റെകച്ചർ ക്വിസ്](https://black-meadow-040d15503.1.azurestaticapps.net/quiz/34) ## അവലോകനം &സ്വയം പഠനം * [OS-അളവിലുള്ള വെര്‍ച്വലൈസേഷന് പേജ് Википീഡിയയില്‍](https://wikipedia.org/wiki/OS-level_virtualization) കണ്ടെയ്‌നറുകളെ കുറിച്ച് കൂടുതൽ വായിക്കുക * 5G എങ്ങനെ എഡ്‌ജ്എ.compute വിപുലീകരിക്കാൻ സഹായിക്കാമെന്ന് ശ്രദ്ധ കേന്ദ്രീകരിച്ച് Edge Computing ൽ കൂടുതൽ വിവരങ്ങൾ കണ്ടെത്തുക, [NetworkWorld ൽ എന്താണ് എഡ്‌ജ് കമ്പ്യൂട്ടിംഗ്, അത് എന്തുകൊണ്ട് പ്രാധാന്യമുള്ളതാണ്? ലേഖനം](https://www.networkworld.com/article/3224893/what-is-edge-computing-and-how-it-s-changing-the-network.html) * IoT Edge ൽ AI സേവനങ്ങൾ നടത്തുന്നതിനെക്കുറിച്ച് കൂടുതൽ അറിയാൻ, [മൈക്രോസോഫ്റ്റ് ചാനൽ9 ലെ Learn Live ന്‍റെ, Edge ലെ മുൻകൂട്ടി നിർമ്മിത AI സേവനത്തിലൂടെ ഭാഷാ തിരിച്ചറിയൽ എങ്ങനെ ചെയ്യാം എന്ന് പഠിക്കാം എന്ന എപ്പിസോഡ്](https://channel9.msdn.com/Shows/Learn-Live/Sharpen-Your-AI-Edge-Skills-Episode-4-Learn-How-to-Use-Azure-IoT-Edge-on-a-Pre-Built-AI-Service-on-t?WT.mc_id=academic-17441-jabenn) കാണുക ## അസൈൻമെന്റ് [എഡ്ജിൽ മറ്റ് സേവനങ്ങൾ നടത്തുക](assignment.md) --- **വ്യവസായ വ്യക്തീകരണം**: ഈ പ്രമാണം എ.ഐ. ഭാഷാന്തര സേവനമായ [Co-op Translator](https://github.com/Azure/co-op-translator) ഉപയോഗിച്ച് പരിഭാഷപ്പെടുത്തിയതാണ്. നാം കൃത്യതയ്ക്ക് ശ്രമിച്ചിട്ടുണ്ടെങ്കിലും, യാന്ത്രികമായ പരിഭാഷകളിൽ പിഴവുകൾയും അസത്യതകളും ഉണ്ടായിരിക്കാമെന്ന് ദയവായി ശ്രദ്ധിക്കുക. തന്റേതായ ഭാഷയിലെ മൂല പ്രമാണം എക്കാലത്തും അധികൃത സ്രോതസ്സായി കണക്കാക്കണം. നിർണായകമായ വിവരങ്ങൾക്ക് പ്രൊഫഷണൽ മനുഷ്യ പരിഭാഷ ശുപാർശ ചെയ്യപ്പെടുന്നു. ഈ പരിഭാഷയുടെ ഉപയോഗത്തിലൂടെ ഉണ്ടാകുന്ന തെറ്റ് ധാരണകളോ തെറ്റിദ്ധാരണകളോ സംബന്ധിച്ച അഭിപ്രായ ബാധ്യതകൾ ഞങ്ങൾ ഏറ്റെടുക്കുന്നില്ല.