Բառը[Թաքցնել][Ցուցադրում]
- Ի՞նչ է պատկերների դասակարգումը:
- Ինչպե՞ս է աշխատում պատկերների դասակարգումը:
Պատկերների դասակարգում՝ օգտագործելով Tensorflow & Keras-ը python-ում+-
- 1. Տեղադրման պահանջներ
- 2. Կախվածության ներմուծում
- 3. Նախնականացման պարամետրեր
- 4. Տվյալների տվյալների բեռնում
- 5. Մոդելի ստեղծում
- 6. Մոդելի մարզում
- Փորձարկում մոդելը
- 7. Կոմունալ ծառայությունների ներմուծում փորձարկման համար
- 8. Python գրացուցակի պատրաստում
- 9. Թեստի տվյալների և մոդելի բեռնում
- 10. Գնահատում և կանխատեսում
- 11. Արդյունքները
- Եզրափակում
Հուսադրող է իմանալ, որ մեզ հաջողվել է ներծծել ռոբոտներին մեր բնածին կարողությունները՝ սովորելու օրինակով և ընկալելու իրենց շրջապատը: Հիմնական մարտահրավերն այն է, որ համակարգիչներին սովորեցնելու համար «տեսնել», ինչպես մարդիկ, շատ ավելի շատ ժամանակ և ջանք կպահանջեն:
Այնուամենայնիվ, երբ մենք նկատի ունենանք այն գործնական արժեքը, որ այս հմտությունը ներկայումս տալիս է կազմակերպություններին և ձեռնարկություններին, ջանքերն արժանի են: Այս հոդվածում դուք կծանոթանաք պատկերների դասակարգմանը, ինչպես է այն աշխատում և դրա գործնական իրականացմանը: Եկեք սկսենք.
Ի՞նչ է պատկերների դասակարգումը:
Պատկերը սնուցելու աշխատանքը ա նյարդային ցանց և այդ նկարի համար պիտակի ինչ-որ ձև տալը հայտնի է որպես պատկերի ճանաչում: Ցանցի ելքային պիտակը կհամապատասխանի նախապես սահմանված դասին:
Կարող են լինել բազմաթիվ դասեր, որոնք հանձնարարված են նկարին, կամ պարզապես մեկ: Երբ կա միայն մեկ դաս, հաճախ օգտագործվում է «ճանաչում» տերմինը, մինչդեռ մի քանի դասերի դեպքում հաճախ օգտագործվում է «դասակարգում» տերմինը:
Օբյեկտների հայտնաբերում նկարների դասակարգման ենթաբազմություն է, որտեղ հայտնաբերվում են օբյեկտների որոշակի օրինակներ, որոնք պատկանում են տվյալ դասին, ինչպիսիք են կենդանիները, տրանսպորտային միջոցները կամ մարդիկ:
Ինչպե՞ս է աշխատում պատկերների դասակարգումը:
Պիքսելների տեսքով պատկերը վերլուծվում է համակարգչի միջոցով: Այն կատարում է դա՝ նկարը դիտարկելով որպես մատրիցների հավաքածու, որի չափը որոշվում է պատկերի լուծաչափով։ Պարզ ասած, նկարների դասակարգումը վիճակագրական տվյալների ուսումնասիրությունն է՝ օգտագործելով ալգորիթմները համակարգչի տեսանկյունից:
Պատկերների դասակարգումն իրականացվում է թվային պատկերների մշակման մեջ՝ խմբավորելով պիքսելները կանխորոշված խմբերի կամ «դասերի»: Ալգորիթմները պատկերը բաժանում են ուշագրավ բնութագրերի հաջորդականության, ինչը նվազեցնում է վերջնական դասակարգչի բեռը:
Այս հատկությունները դասակարգողին տեղեկացնում են պատկերի նշանակության և հնարավոր դասակարգման մասին: Քանի որ նկարի դասակարգման մնացած գործընթացները կախված են դրանից, արդյունահանման բնորոշ մեթոդը ամենակարևոր փուլն է:
The տրամադրված տվյալները ալգորիթմի համար կարևոր է նաև պատկերների դասակարգման, հատկապես վերահսկվող դասակարգման մեջ: Համեմատած սարսափելի տվյալների անհավասարակշռությամբ տվյալների դասակարգի և ցածր նկարի և ծանոթագրության որակի հետ, լավ օպտիմիզացված դասակարգման տվյալների բազան հիանալի է գործում:
Պատկերների դասակարգում՝ օգտագործելով Tensorflow & Keras-ը python-ում
Մենք կօգտագործենք CIFAR-10 տվյալների բազա (որը ներառում է ինքնաթիռներ, ինքնաթիռներ, թռչուններ և այլ 7 իրեր):
1. Տեղադրման պահանջներ
Ստորև բերված կոդը կտեղադրի բոլոր նախադրյալները:
2. Կախվածության ներմուծում
Կատարեք train.py ֆայլ Python-ում: Ստորև բերված կոդը կներմուծի Tensorflow և Keras կախվածությունները:
3. Նախնականացման պարամետրեր
CIFAR-10-ը ներառում է նկարների ընդամենը 10 կատեգորիաներ, հետևաբար, num դասերը պարզապես վերաբերում են դասակարգման ենթակա կատեգորիաների թվին:
4. Տվյալների տվյալների բեռնում
Ֆունկցիան օգտագործում է Tensorflow Datasets մոդուլը՝ տվյալների բազան բեռնելու համար, և մենք տեղեկության հետ սահմանել ենք True՝ դրա մասին որոշ տեղեկություններ ստանալու համար: Դուք կարող եք տպել այն՝ տեսնելու համար, թե որոնք են դաշտերը և դրանց արժեքները, և մենք կօգտագործենք տեղեկատվությունը ուսուցման և թեստավորման հավաքածուներում նմուշների քանակը առբերելու համար:
5. Մոդելի ստեղծում
Այժմ մենք կկառուցենք երեք շերտ, որոնցից յուրաքանչյուրը բաղկացած է երկու ConvNets-ից՝ max-pooling և ReLU ակտիվացման գործառույթով, որին հաջորդում է լիովին միացված 1024 միավոր համակարգ: Ի համեմատ ResNet50-ի կամ Xception-ի, որոնք ժամանակակից մոդելներ են, սա կարող է համեմատաբար փոքր մոդել լինել:
6. Մոդելի մարզում
Ես օգտագործել եմ Tensorboard-ը յուրաքանչյուր դարաշրջանում ճշգրտությունն ու կորուստը չափելու և տվյալների ներմուծումից և մոդելը ստեղծելուց հետո մեզ հիանալի ցուցադրություն տրամադրելու համար: Գործարկեք հետևյալ կոդը; կախված ձեր պրոցեսորից/գրաֆիկական պրոցեսորից, ուսուցումը կտևի մի քանի րոպե:
Tensorboard-ն օգտագործելու համար պարզապես մուտքագրեք հետևյալ հրամանը տերմինալում կամ ընթացիկ գրացուցակի հրամանի տողում.
Դուք կտեսնեք, որ վավերացման կորուստը նվազում է, իսկ ճշգրտությունը բարձրանում է մինչև մոտ 81%: Դա ֆանտաստիկ է:
Փորձարկում մոդելը
Երբ մարզումն ավարտվում է, վերջնական մոդելը և կշիռները պահվում են արդյունքների թղթապանակում՝ թույլ տալով մեզ մեկ անգամ մարզվել և կանխատեսումներ անել, երբ ընտրենք: Հետևեք կոդը test.py անունով նոր python ֆայլում:
7. Կոմունալ ծառայությունների ներմուծում փորձարկման համար
8. Python գրացուցակի պատրաստում
Կատարեք Python բառարան, որը թարգմանում է յուրաքանչյուր ամբողջ արժեք տվյալների հավաքածուի համապատասխան պիտակի վրա.
9. Թեստի տվյալների և մոդելի բեռնում
Հետևյալ կոդը կբեռնի թեստի տվյալները և մոդելը:
10. Գնահատում և կանխատեսում
Հետևյալ կոդը կգնահատի և կանխատեսումներ կանի գորտի պատկերների վրա:
11. Արդյունքները
Մոդելը գորտին գուշակել է 80.62% ճշգրտությամբ։
Եզրափակում
Լավ, մենք ավարտեցինք այս դասը: Թեև 80.62%-ը լավ չէ փոքր CNN-ի համար, ես խստորեն խորհուրդ եմ տալիս փոխել մոդելը կամ նայել ResNet50, Xception կամ այլ ժամանակակից մոդելներ՝ ավելի լավ արդյունքների համար:
Այժմ, երբ դուք ստեղծել եք ձեր առաջին պատկերի ճանաչման ցանցը Keras-ում, դուք պետք է փորձարկեք մոդելի հետ՝ պարզելու, թե ինչպես են տարբեր պարամետրերը ազդում դրա կատարողականի վրա:
Թողնել գրառում