Un ghid pas cu pas pentru învățarea rețelei neuronale.
Când am decis prima dată să fac o formare profundă pentru a rezolva probleme în domeniul viziunii pe calculator, am fost nevoită să confrunt cu o serie de dificultăți. La acea vreme, au existat doar câteva proiecte open source, documentația a fost redusă, proiectele au fost experimentale și au avut o mulțime de dependențe complexe. De-a lungul timpului, au apărut numeroase proiecte noi, dar acestea se adresează în continuare cercetătorilor care lucrează cu viziunea pe computer, astfel încât să întâmpinați aceleași obstacole în cale dacă veniți dintr-o altă zonă.
În acest articol și în distribuția web însoțitoare vă voi spune cum să utilizați o rețea neuronală pre-instruită și apoi să explicați cum să vă antrenați. La sfârșitul articolului am descris toți pașii necesari care vă vor permite să instalați și să configurați un pachet software complet. Dar, având în vedere faptul că acest proces este destul de complicat, vă recomandăm să descărcați un Vagrant de mașină virtuală, unde am instalat deja tot ce am nevoie. O mașină virtuală vă va ușura durerea de cap asociată cu instalarea componentelor și vă va permite să vă concentrați asupra învățării și aplicării rețelelor neuronale.
Instalarea mașinii virtuale
Pentru a lucra cu o mașină virtuală, avem nevoie de un calculator cu OS X sau Linux și software liber pentru Vagrant de virtualizare. Dacă nu aveți deja Vagrant, urmați linkul și urmați instrucțiunile din secțiunea "Noțiuni de bază".
După instalarea programului Vagrant, deschideți o nouă fereastră terminal și creați un director pentru mașina virtuală utilizând următoarele comenzi:
Acum încărcăm imaginea mașinii virtuale. Dimensiunea imaginii este de aproape 2 GB, deci procesul de descărcare poate dura ceva timp.
După descărcarea imaginii, lansăm un nou server virtual:
Intrăm în mașina virtuală:
Folosim o rețea neuronală pre-instruită
Vă voi arăta cum să lucrați cu cadrele de învățare profundă a Caffe. dezvoltat de Yangqing Jia și echipa de viziune și învățare de la Berkeley (BVLC). Acest cadru are o comunitate activă de dezvoltatori, un cod complet deschis (în același timp, modelele pre-instruite nu pot fi utilizate în scopuri comerciale), precum și o mulțime de documente, astfel încât să poată servi drept punct de plecare bun. Pentru a începe, accesați directorul cadru:
Vom vedea un număr de mesaje de informare, dintre care ultima va fi următoarea:
Putem încerca să clasificăm orice alte imagini. Pentru a face acest lucru, în sistemul nostru principal de operare, le copiem în directorul:
În sistemul de fișiere virtuale al mașinilor, ele apar în următorul director:
Trateaza independent o retea neuronala
Una dintre primele sarcini pentru rezolvarea rețelelor neuronale convoluționale care au fost aplicate a fost sarcina de a recunoaște cifrele scrise de mână. Yann LeCun a adus o mare contribuție la acest domeniu de cunoaștere în anii 1990, iar versiunea arhitecturii lui LeNet este inclusă în Caffe. Descărcați setul de date MNIST. compusă din 70.000 de imagini cu cifre scrise de mână:
Va fi afișat un număr mare de mesaje de informare, iar după câteva minute procesul va fi finalizat. Acum executați comanda:
Ar trebui să vedem fișierul creat cu următorul nume:
Acest fișier conține greutățile unei rețele neuronale instruite. Acum puteți testa rețeaua pe diferite imagini. Am pregătit mai multe imagini de test într-o mașină virtuală, dar puteți folosi orice imagine digitală albă pe un fundal negru.
Ca rezultat, vom primi un mesaj care spune că, cu o probabilitate de 100%, aceasta este o cifră de 4, care corespunde realității!
Ghid de instalare
Mai jos sunt comenzile pe care le-am efectuat pentru a crea mașina virtuală descrisă mai sus. Dacă utilizați Vagrant, creați o imagine curată a Ubuntu 14.04:
După crearea și inițializarea mașinii virtuale, o vom introduce și vom începe procesul de instalare pentru CUDA. Pentru a colecta Caffe, aveți nevoie de fișiere antet și de biblioteci CUDA, chiar dacă vom lucra doar pe CPU. Prin urmare, nu putem face acest lucru fără pachetul CUDA, care are o dimensiune de 900 MB.
În timpul instalării, trebuie să specificăm diferiți parametri. Trebuie să refuzăm instalarea driverului (deoarece nu putem folosi GPU-ul într-o mașină virtuală), dar instalați exemplele și setul SDK, lăsând căile implicite. După aceasta, trebuie să adăugați calea către SDK în variabila de mediu LD_LIBRARY_PATH.
Acum, să stabilim câteva dependențe cu apt-get:
Cadrul de jurnalizare Google nu este disponibil prin repozitoriu, deci trebuie să-l construiți din codul sursă:
Descărcați codul sursă Caffe:
CUDA are probleme cu compilatorul implicit gcc 4.8, deci trebuie să îl înlocuiți cu gcc 4.6:
Caffe necesită, de asemenea, un număr de module Python care pot fi instalate în funcție de listă folosind pip. Acest proces poate dura ceva timp:
sudo pip instalare -r python / requirements.txt
Versiunea actuală a Caffe nu oferă posibilitatea de a schimba compilatorul, deci trebuie să faceți niște modificări în fișierele makefile:
În cele din urmă, încărcăm rețeaua neurală și etichetele pre-instruite: