ഉള്ളടക്ക പട്ടിക[മറയ്ക്കുക][കാണിക്കുക]
- എന്താണ് ചിത്രത്തിന്റെ വർഗ്ഗീകരണം?
- ഇമേജ് വർഗ്ഗീകരണം എങ്ങനെയാണ് പ്രവർത്തിക്കുന്നത്?
പൈത്തണിലെ ടെൻസർഫ്ലോയും കേരസും ഉപയോഗിച്ചുള്ള ചിത്ര വർഗ്ഗീകരണം+-
- 1. ഇൻസ്റ്റാളേഷൻ ആവശ്യകതകൾ
- 2. ഡിപൻഡൻസികൾ ഇറക്കുമതി ചെയ്യുന്നു
- 3. പാരാമീറ്ററുകൾ ആരംഭിക്കുന്നു
- 4. ഡാറ്റാസെറ്റ് ലോഡ് ചെയ്യുന്നു
- 5. മോഡൽ സൃഷ്ടിക്കുന്നു
- 6. മോഡൽ പരിശീലനം
- മോഡൽ പരിശോധിക്കുന്നു
- 7. പരിശോധനയ്ക്കായി യൂട്ടിലിറ്റികൾ ഇറക്കുമതി ചെയ്യുന്നു
- 8. ഒരു പൈത്തൺ ഡയറക്ടറി ഉണ്ടാക്കുന്നു
- 9. ടെസ്റ്റ് ഡാറ്റയും മോഡലും ലോഡുചെയ്യുന്നു
- 10. മൂല്യനിർണ്ണയവും പ്രവചനവും
- 11. ഫലം
- തീരുമാനം
ഉദാഹരണങ്ങളിലൂടെ പഠിക്കാനും അവയുടെ ചുറ്റുപാടുകൾ മനസ്സിലാക്കാനുമുള്ള നമ്മുടെ സഹജമായ കഴിവുകൾ ഉപയോഗിച്ച് റോബോട്ടുകളെ ഉൾപ്പെടുത്താൻ ഞങ്ങൾക്ക് കഴിഞ്ഞു എന്നറിയുന്നത് ആശ്വാസകരമാണ്. മനുഷ്യർക്ക് കൂടുതൽ സമയവും പ്രയത്നവും ആവശ്യമായി വരുന്നതുപോലെ "കാണാൻ" കമ്പ്യൂട്ടറുകളെ പഠിപ്പിക്കുന്നവരാണ് അടിസ്ഥാന വെല്ലുവിളി.
എന്നിരുന്നാലും, ഈ വൈദഗ്ദ്ധ്യം നിലവിൽ ഓർഗനൈസേഷനുകൾക്കും സംരംഭങ്ങൾക്കും നൽകുന്ന പ്രായോഗിക മൂല്യം പരിഗണിക്കുമ്പോൾ, പരിശ്രമം മൂല്യവത്താണ്. ഈ ലേഖനത്തിൽ, ചിത്രത്തിന്റെ വർഗ്ഗീകരണം, അത് എങ്ങനെ പ്രവർത്തിക്കുന്നു, അതിന്റെ പ്രായോഗിക നിർവ്വഹണം എന്നിവയെക്കുറിച്ച് നിങ്ങൾ പഠിക്കും. നമുക്ക് തുടങ്ങാം.
എന്താണ് ചിത്രത്തിന്റെ വർഗ്ഗീകരണം?
ഒരു ഇമേജിനെ എയിലേക്ക് ഫീഡ് ചെയ്യുന്ന ജോലി ന്യൂറൽ നെറ്റ്വർക്ക് ആ ചിത്രത്തിന് ഏതെങ്കിലും തരത്തിലുള്ള ലേബൽ ഔട്ട്പുട്ട് ചെയ്യുന്നത് ഇമേജ് റെക്കഗ്നിഷൻ എന്നറിയപ്പെടുന്നു. നെറ്റ്വർക്കിന്റെ ഔട്ട്പുട്ട് ലേബൽ മുൻകൂട്ടി നിശ്ചയിച്ച ക്ലാസുമായി പൊരുത്തപ്പെടും.
ചിത്രത്തിന് അനേകം ക്ലാസുകൾ നൽകിയിരിക്കാം, അല്ലെങ്കിൽ ഒന്ന്. ഒരു ക്ലാസ് മാത്രമുള്ളപ്പോൾ, "തിരിച്ചറിയൽ" എന്ന പദം പതിവായി ഉപയോഗിക്കാറുണ്ട്, അതേസമയം ഒന്നിലധികം ക്ലാസുകൾ ഉള്ളപ്പോൾ, "വർഗ്ഗീകരണം" എന്ന പദം പതിവായി ഉപയോഗിക്കുന്നു.
വസ്തു കണ്ടെത്തൽ മൃഗങ്ങൾ, വാഹനങ്ങൾ, അല്ലെങ്കിൽ മനുഷ്യർ തുടങ്ങിയ ഒരു പ്രത്യേക വിഭാഗത്തിൽ പെട്ടവയാണെന്ന് കണ്ടെത്തുന്ന വസ്തുക്കളുടെ പ്രത്യേക സന്ദർഭങ്ങൾ ചിത്ര വർഗ്ഗീകരണത്തിന്റെ ഒരു ഉപവിഭാഗമാണ്.
ഇമേജ് വർഗ്ഗീകരണം എങ്ങനെയാണ് പ്രവർത്തിക്കുന്നത്?
പിക്സൽ രൂപത്തിലുള്ള ഒരു ചിത്രം കമ്പ്യൂട്ടർ വിശകലനം ചെയ്യുന്നു. ചിത്രത്തെ മെട്രിക്സുകളുടെ ഒരു ശേഖരമായി കണക്കാക്കി, അതിന്റെ വലുപ്പം ഇമേജ് റെസലൂഷൻ അനുസരിച്ചാണ് ഇത് ചെയ്യുന്നത്. ലളിതമായി പറഞ്ഞാൽ, ഒരു കമ്പ്യൂട്ടറിന്റെ വീക്ഷണകോണിൽ നിന്ന് അൽഗോരിതം ഉപയോഗിച്ചുള്ള സ്റ്റാറ്റിസ്റ്റിക്കൽ ഡാറ്റയുടെ പഠനമാണ് ചിത്ര വർഗ്ഗീകരണം.
ഡിജിറ്റൽ ഇമേജ് പ്രോസസ്സിംഗിൽ പിക്സലുകളെ മുൻകൂട്ടി നിശ്ചയിച്ച ഗ്രൂപ്പുകളായി അല്ലെങ്കിൽ "ക്ലാസ്സുകളായി" ഗ്രൂപ്പുചെയ്യുന്നതിലൂടെ ഇമേജ് വർഗ്ഗീകരണം പൂർത്തിയാക്കുന്നു. അൽഗോരിതങ്ങൾ ചിത്രത്തെ ശ്രദ്ധേയമായ സ്വഭാവസവിശേഷതകളുടെ തുടർച്ചയായി വിഭജിക്കുന്നു, ഇത് അന്തിമ വർഗ്ഗീകരണത്തിനുള്ള ഭാരം കുറയ്ക്കുന്നു.
ഈ ഗുണങ്ങൾ ചിത്രത്തിന്റെ അർത്ഥത്തെക്കുറിച്ചും സാധ്യതയുള്ള വർഗ്ഗീകരണത്തെക്കുറിച്ചും ക്ലാസിഫയറിനെ അറിയിക്കുന്നു. ഒരു ചിത്രത്തെ വർഗ്ഗീകരിക്കുന്നതിലെ ബാക്കിയുള്ള പ്രക്രിയകൾ അതിനെ ആശ്രയിച്ചിരിക്കുന്നതിനാൽ, സ്വഭാവസവിശേഷത വേർതിരിച്ചെടുക്കൽ രീതിയാണ് ഏറ്റവും നിർണായക ഘട്ടം.
ദി ഡാറ്റ നൽകി ഇമേജ് വർഗ്ഗീകരണത്തിലും, പ്രത്യേകിച്ച് സൂപ്പർവൈസ്ഡ് വർഗ്ഗീകരണത്തിലും അൽഗോരിതം നിർണായകമാണ്. ക്ലാസും കുറഞ്ഞ ചിത്രവും വ്യാഖ്യാന നിലവാരവും അടിസ്ഥാനമാക്കിയുള്ള ഡാറ്റ അസന്തുലിതാവസ്ഥയുള്ള ഒരു ഭയങ്കരമായ ഡാറ്റാസെറ്റുമായി താരതമ്യപ്പെടുത്തുമ്പോൾ, നന്നായി ഒപ്റ്റിമൈസ് ചെയ്ത വർഗ്ഗീകരണ ഡാറ്റാസെറ്റ് അതിശയകരമായി പ്രവർത്തിക്കുന്നു.
പൈത്തണിലെ ടെൻസർഫ്ലോയും കേരസും ഉപയോഗിച്ചുള്ള ചിത്ര വർഗ്ഗീകരണം
ഞങ്ങൾ ഉപയോഗിക്കും സിഫാർ -10 ഡാറ്റാസെറ്റ് (ഇതിൽ വിമാനം, വിമാനങ്ങൾ, പക്ഷികൾ, മറ്റ് 7 കാര്യങ്ങൾ എന്നിവ ഉൾപ്പെടുന്നു).
1. ഇൻസ്റ്റാളേഷൻ ആവശ്യകതകൾ
ചുവടെയുള്ള കോഡ് എല്ലാ മുൻവ്യവസ്ഥകളും ഇൻസ്റ്റാൾ ചെയ്യും.
2. ഡിപൻഡൻസികൾ ഇറക്കുമതി ചെയ്യുന്നു
പൈത്തണിൽ ഒരു train.py ഫയൽ ഉണ്ടാക്കുക. ചുവടെയുള്ള കോഡ് Tensorflow, Keras ഡിപൻഡൻസികൾ എന്നിവ ഇറക്കുമതി ചെയ്യും.
3. പാരാമീറ്ററുകൾ ആരംഭിക്കുന്നു
CIFAR-10 ൽ വെറും 10 ചിത്ര വിഭാഗങ്ങൾ ഉൾപ്പെടുന്നു, അതിനാൽ സംഖ്യ ക്ലാസുകൾ തരംതിരിക്കുന്നതിനുള്ള വിഭാഗങ്ങളുടെ എണ്ണത്തെ സൂചിപ്പിക്കുന്നു.
4. ഡാറ്റാസെറ്റ് ലോഡ് ചെയ്യുന്നു
ഡാറ്റാസെറ്റ് ലോഡുചെയ്യാൻ ഫംഗ്ഷൻ ടെൻസർഫ്ലോ ഡാറ്റാസെറ്റ് മൊഡ്യൂൾ ഉപയോഗിക്കുന്നു, അതിനെക്കുറിച്ചുള്ള ചില വിവരങ്ങൾ ലഭിക്കുന്നതിന് ഞങ്ങൾ വിവരങ്ങൾ ട്രൂ ആയി സജ്ജീകരിക്കുന്നു. ഏതൊക്കെ ഫീൽഡുകളും അവയുടെ മൂല്യങ്ങളും കാണുന്നതിന് നിങ്ങൾക്കത് പ്രിന്റ് ചെയ്യാവുന്നതാണ്, പരിശീലന, ടെസ്റ്റിംഗ് സെറ്റുകളിലെ സാമ്പിളുകളുടെ എണ്ണം വീണ്ടെടുക്കാൻ ഞങ്ങൾ വിവരങ്ങൾ ഉപയോഗിക്കും.
5. മോഡൽ സൃഷ്ടിക്കുന്നു
ഇപ്പോൾ ഞങ്ങൾ മൂന്ന് ലെയറുകൾ നിർമ്മിക്കും, അവയിൽ ഓരോന്നിനും പരമാവധി പൂളിംഗ്, ReLU ആക്ടിവേഷൻ ഫംഗ്ഷൻ ഉള്ള രണ്ട് ConvNets ഉൾപ്പെടുന്നു, തുടർന്ന് പൂർണ്ണമായി ബന്ധിപ്പിച്ച 1024-യൂണിറ്റ് സിസ്റ്റം. അത്യാധുനിക മോഡലുകളായ ResNet50 അല്ലെങ്കിൽ Xception എന്നിവയുമായി താരതമ്യപ്പെടുത്തുമ്പോൾ, ഇത് താരതമ്യേന ചെറിയ മോഡലായിരിക്കാം.
6. മോഡൽ പരിശീലനം
ഓരോ കാലഘട്ടത്തിലെയും കൃത്യതയും നഷ്ടവും അളക്കാനും ഡാറ്റ ഇറക്കുമതി ചെയ്ത് മോഡൽ സൃഷ്ടിച്ചതിന് ശേഷം ഞങ്ങൾക്ക് മനോഹരമായ ഒരു ഡിസ്പ്ലേ നൽകാനും ഞാൻ ടെൻസർബോർഡ് ഉപയോഗിച്ചു. ഇനിപ്പറയുന്ന കോഡ് പ്രവർത്തിപ്പിക്കുക; നിങ്ങളുടെ സിപിയു/ജിപിയു അനുസരിച്ച്, പരിശീലനം കുറച്ച് മിനിറ്റ് എടുക്കും.
ടെൻസർബോർഡ് ഉപയോഗിക്കുന്നതിന്, ടെർമിനലിൽ അല്ലെങ്കിൽ നിലവിലെ ഡയറക്ടറിയിലെ കമാൻഡ് പ്രോംപ്റ്റിൽ ഇനിപ്പറയുന്ന കമാൻഡ് ടൈപ്പ് ചെയ്യുക:
മൂല്യനിർണ്ണയ നഷ്ടം കുറയുന്നതും കൃത്യത ഏകദേശം 81% ആയി ഉയരുന്നതും നിങ്ങൾ കാണും. അത് ഗംഭീരം തന്നെ!
മോഡൽ പരിശോധിക്കുന്നു
പരിശീലനം പൂർത്തിയാകുമ്പോൾ, അന്തിമ മോഡലും ഭാരവും ഫലങ്ങളുടെ ഫോൾഡറിൽ സംരക്ഷിക്കപ്പെടും, ഞങ്ങൾ തിരഞ്ഞെടുക്കുമ്പോഴെല്ലാം ഒരിക്കൽ പരിശീലിക്കാനും പ്രവചനങ്ങൾ നടത്താനും ഞങ്ങളെ അനുവദിക്കുന്നു. test.py എന്ന പേരിലുള്ള ഒരു പുതിയ പൈത്തൺ ഫയലിലെ കോഡ് പിന്തുടരുക.
7. പരിശോധനയ്ക്കായി യൂട്ടിലിറ്റികൾ ഇറക്കുമതി ചെയ്യുന്നു
8. ഒരു പൈത്തൺ ഡയറക്ടറി ഉണ്ടാക്കുന്നു
ഓരോ പൂർണ്ണസംഖ്യ മൂല്യവും ഡാറ്റാസെറ്റിന്റെ ഉചിതമായ ലേബലിലേക്ക് വിവർത്തനം ചെയ്യുന്ന ഒരു പൈത്തൺ നിഘണ്ടു ഉണ്ടാക്കുക:
9. ടെസ്റ്റ് ഡാറ്റയും മോഡലും ലോഡുചെയ്യുന്നു
ഇനിപ്പറയുന്ന കോഡ് ടെസ്റ്റ് ഡാറ്റയും മോഡലും ലോഡ് ചെയ്യും.
10. മൂല്യനിർണ്ണയവും പ്രവചനവും
ഇനിപ്പറയുന്ന കോഡ് തവള ചിത്രങ്ങളെ വിലയിരുത്തുകയും പ്രവചനങ്ങൾ നടത്തുകയും ചെയ്യും.
11. ഫലം
80.62% കൃത്യതയോടെയാണ് മോഡൽ തവളയെ പ്രവചിച്ചത്.
തീരുമാനം
ശരി, ഞങ്ങൾ ഈ പാഠം പൂർത്തിയാക്കി. ഒരു ചെറിയ CNN-ന് 80.62% നല്ലതല്ലെങ്കിലും, മികച്ച ഫലങ്ങൾക്കായി മോഡൽ മാറ്റാനോ ResNet50, Xception അല്ലെങ്കിൽ മറ്റ് അത്യാധുനിക മോഡലുകൾ നോക്കാനോ ഞാൻ നിങ്ങളെ ശക്തമായി ഉപദേശിക്കുന്നു.
ഇപ്പോൾ നിങ്ങൾ Keras-ൽ നിങ്ങളുടെ ആദ്യ ഇമേജ് തിരിച്ചറിയൽ ശൃംഖല നിർമ്മിച്ചു, വ്യത്യസ്ത പാരാമീറ്ററുകൾ അതിന്റെ പ്രകടനത്തെ എങ്ങനെ സ്വാധീനിക്കുന്നു എന്ന് കണ്ടെത്താൻ നിങ്ങൾ മോഡൽ പരീക്ഷിക്കണം.
നിങ്ങളുടെ അഭിപ്രായങ്ങൾ രേഖപ്പെടുത്തുക