Edukien aurkibidea[Ezkutatu][Erakutsi]
- Zer da irudien sailkapena?
- Nola funtzionatzen du irudien sailkapenak?
Irudien sailkapena Tensorflow eta Keras erabiliz python-en+-
- 1. Instalatzeko Baldintzak
- 2. Mendekotasunak inportatzea
- 3. Parametroak hasieratzea
- 4. Datu-multzoa kargatzea
- 5. Eredua sortzea
- 6. Eredua trebatzea
- Eredua probatzen
- 7. Probak egiteko utilitateak inportatzea
- 8. Python direktorio bat egitea
- 9. Proba datuak eta eredua kargatzea
- 10. Ebaluazioa eta iragarpena
- 11. Emaitzak
- Ondorioa
Lasaigarria da jakitea lortu dugula robotei gure berezko gaitasunez hornitzea, adibidearekin ikasteko eta haien ingurua hautemateko. Oinarrizko erronka da ordenagailuei "ikusten" irakastea gizakiek denbora eta esfortzu gehiago beharko luketen bezala.
Hala ere, trebetasun horrek gaur egun erakunde eta enpresei ematen dien balio praktikoa kontuan hartzen dugunean, ahaleginak merezi du. Artikulu honetan, irudien sailkapena, nola funtzionatzen duen eta bere ezarpen praktikoa ezagutuko duzu. Has gaitezen.
Zer da irudien sailkapena?
Irudi bat elikatzeko lana sare neural eta irudi horren etiketa moduren bat ateratzea irudien ezagutza deritzo. Sarearen irteera-etiketa aurrez definitutako klase bati dagokio.
Irudiari klase ugari esleituta egon daitezke, edo bat besterik ez. Klase bakarra dagoenean, "aitortza" terminoa maiz erabiltzen da, eta klase anitz daudenean "sailkapena" terminoa maiz erabiltzen da.
Objektuak hautematea Irudien sailkapenaren azpimultzo bat da, non objektuen instantzia jakin batzuk klase jakin batekoak direla detektatzen den, hala nola animaliak, ibilgailuak edo gizakiak.
Nola funtzionatzen du irudien sailkapenak?
Pixel formako irudi bat ordenagailu batek aztertzen du. Hau lortzen du argazkia matrizeen bilduma gisa tratatuz, zeinen tamaina irudiaren bereizmenak zehazten baitu. Besterik gabe, irudien sailkapena datu estatistikoen azterketa da, algoritmoak erabiliz ordenagailuaren ikuspegitik.
Irudien sailkapena irudi digitalen prozesamenduan lortzen da pixelak aurrez zehaztutako taldeetan edo "klaseetan" multzokatuz. Algoritmoek irudia ezaugarri aipagarrien segidan banatzen dute, eta horrek azken sailkatzailearen zama murrizten du.
Ezaugarri hauek irudiaren esanahia eta sailkapen potentzialaren berri ematen diote sailkatzaileari. Irudi bat sailkatzeko gainontzeko prozesuak haren menpe daudenez, bereizgarria den erauzketa metodoa da faserik kritikoena.
The emandako datuak algoritmoari ere funtsezkoa da irudien sailkapenean, batez ere gainbegiratutako sailkapenean. Klasean oinarritutako datuen desoreka duen datu-multzo ikaragarri batekin alderatuta, irudi eta oharpenen kalitate baxuarekin alderatuta, ondo optimizatutako sailkapen-datu-multzo batek bikain funtzionatzen du.
Irudien sailkapena Tensorflow eta Keras erabiliz python-en
Erabiliko dugu CIFAR-10 datu multzoa (hegazkinak, hegazkinak, hegaztiak eta beste 7 gauza biltzen dituena).
1. Instalatzeko Baldintzak
Beheko kodeak instalatuko ditu aurrebaldintza guztiak.
2. Mendekotasunak inportatzea
Egin train.py fitxategi bat Python-en. Beheko kodeak Tensorflow eta Keras mendekotasunak inportatuko ditu.
3. Parametroak hasieratzea
CIFAR-10ek 10 argazki-kategoria besterik ez ditu barne hartzen, beraz, zenbaki-klaseek sailkatzeko kategoria-kopurua besterik ez dute aipatzen.
4. Datu-multzoa kargatzea
Funtzioak Tensorflow Datasets modulua erabiltzen du datu-multzoa kargatzeko, eta informazioarekin True ezarri dugu horri buruzko informazio batzuk lortzeko. Inprima dezakezu eremuak eta haien balioak zein diren ikusteko, eta informazioa erabiliko dugu prestakuntza- eta proba-multzoetako lagin kopurua berreskuratzeko.
5. Eredua sortzea
Orain hiru geruza eraikiko ditugu, bakoitza bi ConvNets osatua, max-pooling eta ReLU aktibazio funtzioarekin, eta ondoren guztiz konektatutako 1024 unitateko sistema batekin. Punta-puntako ereduak diren ResNet50 edo Xception-ekin alderatuta, hau nahiko eredu txikia izan daiteke.
6. Eredua trebatzea
Tensorboard erabili nuen garai bakoitzean zehaztasuna eta galera neurtzeko eta datuak inportatu eta eredua sortu ondoren pantaila eder bat eskaintzeko. Exekutatu hurrengo kodea; zure CPU/GPUaren arabera, entrenamenduak minutu batzuk beharko ditu.
Tensorboard erabiltzeko, idatzi komando hau uneko direktorioko terminalean edo komando-gonbitan:
Ikusiko duzu baliozkotze-galera murrizten ari dela eta zehaztasuna %81 ingurura igotzen ari dela. Hori da zoragarria!
Eredua probatzen
Entrenamendua amaitzen denean, azken eredua eta pisuak emaitzen karpetan gordetzen dira, behin entrenatzeko eta aukeratzen dugunean iragarpenak egiteko aukera emanez. Jarraitu kodea test.py izeneko python fitxategi berri batean.
7. Probak egiteko utilitateak inportatzea
8. Python direktorio bat egitea
Egin balio oso bakoitza datu-multzoaren etiketa egokira itzultzen duen Python hiztegi bat:
9. Proba datuak eta eredua kargatzea
Hurrengo kodeak kargatuko ditu probaren datuak eta eredua.
10. Ebaluazioa eta iragarpena
Hurrengo kodeak igelen irudiak ebaluatu eta iragarpenak egingo ditu.
11. Emaitzak
Ereduak igela %80.62ko zehaztasunarekin iragarri zuen.
Ondorioa
Ados, amaitu dugu ikasgai hau. % 80.62 CNN apur batentzat ona ez den arren, gomendatzen dizut eredua aldatzea edo ResNet50, Xception edo puntako beste eredu batzuetara begiratzea emaitza hobeak lortzeko.
Keras-en zure lehen irudiak ezagutzeko sarea eraiki duzunean, ereduarekin esperimentatu beharko zenuke parametro ezberdinek bere errendimenduan nola eragiten duten jakiteko.
Utzi erantzun bat