Mündəricat[Gizlət][Göstər]
- Şəkil təsnifatı nədir?
- Şəkil təsnifatı necə işləyir?
Pythonda Tensorflow və Keras istifadə edərək təsvirin təsnifatı+-
- 1. Quraşdırma Tələbləri
- 2. Asılılıqların idxalı
- 3. Parametrlərin işə salınması
- 4. Datasetin yüklənməsi
- 5. Modelin yaradılması
- 6. Modelin öyrədilməsi
- Modelin sınaqdan keçirilməsi
- 7. Test üçün kommunalların idxalı
- 8. Python kataloqunun yaradılması
- 9. Test məlumatları və model yüklənir
- 10. Qiymətləndirmə və Proqnozlaşdırma
- 11. Nəticələr
- Nəticə
Robotlara nümunə ilə öyrənmək və ətraflarını qavramaq üçün anadangəlmə qabiliyyətlərimizi aşılamağı bacardığımızı bilmək arxayındır. Əsas problem, kompüterlərə insanların daha çox vaxt və səy tələb edəcəyi kimi “görməyi” öyrədənlərdir.
Bununla belə, bu bacarığın hazırda təşkilatlara və müəssisələrə verdiyi praktik dəyəri nəzərə alsaq, səy sərf etməyə dəyər. Bu yazıda siz təsvirin təsnifatı, onun necə işlədiyi və praktiki tətbiqi haqqında öyrənəcəksiniz. Başlayaq.
Şəkil təsnifatı nədir?
Şəkili a-ya qidalandırmaq işi neyron şəbəkə və onun həmin şəkil üçün hansısa formada etiket çıxarması təsvirin tanınması kimi tanınır. Şəbəkənin çıxış etiketi əvvəlcədən müəyyən edilmiş sinfə uyğun olacaq.
Şəkilə çoxlu siniflər və ya sadəcə bir təyin edilmiş ola bilər. Yalnız bir sinif olduqda, "tanınma" termini tez-tez istifadə olunur, bir neçə sinif olduqda isə "təsnifat" termini tez-tez istifadə olunur.
Obyekt aşkarlanması obyektlərin xüsusi nümunələrinin heyvanlar, nəqliyyat vasitələri və ya insanlar kimi müəyyən bir sinfə aid olduğu aşkarlanan şəkil təsnifatının alt dəstidir.
Şəkil təsnifatı necə işləyir?
Piksel şəklində olan şəkil kompüter tərəfindən təhlil edilir. O, şəkilə ölçüsü təsvirin həlli ilə müəyyən edilən matrislər toplusu kimi baxaraq bunu həyata keçirir. Sadə dillə desək, şəkil təsnifatı kompüter nöqteyi-nəzərindən alqoritmlərdən istifadə edərək statistik məlumatların öyrənilməsidir.
Təsvirin təsnifatı rəqəmsal təsvirin emalı zamanı pikselləri əvvəlcədən müəyyən edilmiş qruplara və ya “siniflərə” qruplaşdırmaqla həyata keçirilir. Alqoritmlər təsviri diqqətəlayiq xüsusiyyətlər ardıcıllığına bölür ki, bu da yekun təsnifat üçün yükü azaldır.
Bu keyfiyyətlər klassifikatora təsvirin mənası və potensial təsnifatı haqqında məlumat verir. Şəklin təsnifatında qalan proseslər ondan asılı olduğundan xarakterik çıxarma üsulu ən kritik mərhələdir.
The məlumat verilmişdir alqoritm üçün təsvirin təsnifatında, xüsusilə nəzarət edilən təsnifatda da çox vacibdir. Sinif və aşağı şəkil və annotasiya keyfiyyətinə əsaslanan məlumat balanssızlığı olan dəhşətli verilənlər bazası ilə müqayisədə yaxşı optimallaşdırılmış təsnifat verilənlər bazası heyranedici şəkildə işləyir.
Pythonda Tensorflow və Keras istifadə edərək təsvirin təsnifatı
istifadə edəcəyik CIFAR-10 verilənlər bazası (təyyarə, təyyarələr, quşlar və digər 7 şey daxildir).
1. Quraşdırma Tələbləri
Aşağıdakı kod bütün ilkin şərtləri quraşdıracaq.
2. Asılılıqların idxalı
Python-da train.py faylı yaradın. Aşağıdakı kod Tensorflow və Keras asılılıqlarını idxal edəcək.
3. Parametrlərin işə salınması
CIFAR-10 yalnız 10 şəkil kateqoriyasını ehtiva edir, buna görə də sayda siniflər təsnif etmək üçün sadəcə kateqoriyaların sayına istinad edir.
4. Datasetin yüklənməsi
Funksiya verilənlər dəstini yükləmək üçün Tensorflow Datasets modulundan istifadə edir və biz bu barədə bəzi məlumat əldə etmək üçün info ilə True olaraq təyin edirik. Sahələrin və onların dəyərlərinin hansı olduğunu görmək üçün onu çap edə bilərsiniz və biz təlim və sınaq dəstlərindəki nümunələrin sayını əldə etmək üçün məlumatdan istifadə edəcəyik.
5. Modelin yaradılması
İndi biz üç qat quracağıq, hər biri max-pooling və ReLU aktivləşdirmə funksiyası olan iki ConvNet-dən, ardınca isə tam qoşulmuş 1024-vahid sistemdən ibarətdir. Ən müasir modellər olan ResNet50 və ya Xception ilə müqayisədə bu, nisbətən kiçik bir model ola bilər.
6. Modelin öyrədilməsi
Mən hər dövrdə dəqiqliyi və itkini ölçmək üçün Tensorboard-dan istifadə etdim və məlumatları idxal etdikdən və modeli yaratdıqdan sonra bizə gözəl ekran təqdim etdim. Aşağıdakı kodu işə salın; CPU/GPU-nuzdan asılı olaraq təlim bir neçə dəqiqə çəkəcək.
Tensorboard istifadə etmək üçün terminalda və ya cari qovluqda əmr sorğusunda aşağıdakı əmri daxil etmək kifayətdir:
Siz təsdiqləmə itkisinin azaldığını və dəqiqliyin təxminən 81%-ə yüksəldiyini görəcəksiniz. Bu fantastikdir!
Modelin sınaqdan keçirilməsi
Təlim başa çatdıqdan sonra yekun model və çəkilər nəticələr qovluğunda saxlanılır ki, bu da bizə bir dəfə məşq etməyə və istədiyimiz zaman proqnozlar verməyə imkan verir. Test.py adlı yeni python faylında kodu izləyin.
7. Test üçün kommunalların idxalı
8. Python kataloqunun yaradılması
Hər bir tam dəyəri datasetin müvafiq etiketinə çevirən Python lüğəti yaradın:
9. Test məlumatları və model yüklənir
Aşağıdakı kod test məlumatlarını və modeli yükləyəcək.
10. Qiymətləndirmə və Proqnozlaşdırma
Aşağıdakı kod qurbağa şəkillərini qiymətləndirəcək və proqnozlar verəcəkdir.
11. Nəticələr
Model qurbağanı 80.62% dəqiqliklə proqnozlaşdırıb.
Nəticə
Yaxşı, bu dərsi bitirdik. 80.62% bir az CNN üçün yaxşı olmasa da, daha yaxşı nəticələr üçün modeli dəyişməyi və ya ResNet50, Xception və ya digər qabaqcıl modellərə baxmağı şiddətlə tövsiyə edirəm.
Kerasda ilk şəkil tanıma şəbəkənizi qurduğunuza görə, müxtəlif parametrlərin onun performansına necə təsir etdiyini öyrənmək üçün modellə sınaqdan keçirməlisiniz.
Cavab yaz