Results 1 to 3 of 3
Thread: Íåâðîííà ìðåæà
Hybrid View
-
17th March 2008 13:53 #1
Íåâðîííà ìðåæà
Ïèøà äèïëîìíà ðàáîòà íà òàçè òåìàòèêà è åäíî îò íåùàòà, êîéòî òðÿáâà äà ñå íàïðàâÿò å ïðàêòè÷åñêî ïðèëîæåíèå íà òàêàâà ìðåæà.
Ñïðÿë ñúì ñå íà îòêðèâàíå íà ëèöà â èçîáðàæåíèÿ (ìàëêî áàíàëíà, íî çà ñìåòêà íà òîâà äîñòà èíòåðåñíà òåìàòèêà) ñúñ ñòàíäàðòíà Feedforward ìðåæà ñ Backpropagation îáó÷åíèå.
Ãîòîâè áèáëèîòåêè â Èíòåðíåò èìà äîñòà, íî ñåäíàõ ñàì äà ñè ïèøà ìîÿòà ðåàëèçàöèÿ.
Ïèñàíà å íà Ñ++. Íà òîçè åçèê ñúì ïèñàë íàé-âå÷å ëþáèòåëñêè, íå ñúì ïèñàë êîíòðîëèðàí è êîìåðñèàëåí êîä, òàêà ÷å òâúðäå âåðîÿòíî èìà äîñòà ïîãðåøíè ïîäõîäè.
Ïî-ãîëÿìàòà ÷àñò å ðåàëèçèðàíà ñ âåêòîðè è òî STL-ñêè.  ìîìåíòà å äîâåäåíà äî ñòàòóñ "ðàáîòè", íî èìà memory leak-îâå çà ôèêñèðàíå, äîñòà çà îïòèìèçàöèðàíå è äîñòà èç÷èñòâàíå íà ñòèëà.
Çàãàòíàòà å ëåêà óïîòðåáà íà exceptions (íà ôîíà íà Ñ#-ñêàòà êîíöåïöèÿ òóê å óæàñíî äúðâåíî :-D)
Èìà íàõâúðëÿíà äîêñèæåíñêà äîêóìåíòàöèÿ, êàêòî è ñúì êîìåíòèðàë ïî-èíòåðåñíèòå ìîìåíòè.
Êîìïèëèðà ñå êîðåêòíî ñ gcc -Wall (âåðñèÿ 4.1.3), íî íå âèæäàì ïðè÷èíè äà íå ðàáîòè è ñ Microsoft-ñêèòå ùóðîòèè.
Áèõ ñå ðàäâàë äà îáñúäèì êîäà, âñå ïàê òîâà å èíòåðåñíà òåìàòèêà, âíàñÿùà ìàëêî ðàçíîîáðàçèå íà ôîíà íà êóðñîâè ðàáîòè ñ ÷åòåíå íà íèçîâå (:
Íàé-âå÷å ñå íóæäàÿ îò (ãðàäèâíà) êðèòèêà ïî îòíîøåíèå íà ñòèëà íà êîäà.
Èìà ïðèëîæåí è main.cpp ïîêàçâàù êàê ñå èçïîëçâà ìðåæàòà.
 ïðîöåñ íà èçðàáîòêà å è import/export â XML ñ íà QT XML êëàñîâåòå.
Íà 66% å ãîòîâ è íàáîð îò êëàñîâå, êîèòî ïðèëàãàò ìðåæàòà çà òúðñåíå íà ëèöà â èçîáðàæåíèå*
Archive@Rapidshare
_________________
*Îíçè ñè èãðàõ ñ ïðîòîòèï íà òåëåôîí íà åäèí îò ãîëåìèòå ïðîèçâîäèòåëè, áåç ÎÑ. Òàì èçðîäèòå ñà íàïðàâèëè òî÷íî íåùî òàêîâà. Ïðè ïóñêàíå íà êàìåðàòà îòêðèâà ëèöàòà, êîèòî ñå âèæäàò è äàâà âúçìîæíîñò äà ñå ôîêóñèðà âúðõó òÿõ. Òîâà â ðåàëíî âðåìå íà 200Mhz ïðîöåñîð...Last edited by moridinbg; 17th March 2008 at 13:58.
-
17th March 2008 14:33 #2
Îò åäèí áúðç ïîãëåä íàèñòèíà âèæäàì åäíà-äâå íåðåäíîñòè ñ C++ êîäà/ñòèëà. Ïî îòíîøåíèå íà àëãîðèòìèòå è öÿëîñòíàòà îðãàíèçàöèÿ íå ìîãà äà êîìåíòèðàì, çàùîòî âñå îùå íå ãè ðàçáèðàì. Çàïîâÿäàé êðèòèêàòà:
1. network.h ðåä 23, layer.h ðåä 23:
Code:#include "layer.cpp"
include-âàø äèðåêòíî .cpp ôàéë?Code:#include "neuron.cpp"

Óæàñ! Ñåùàø ëè ñå êàêâî ùå ñòàíå àêî è íÿêîé äðóã ìîäóë ñúùî ãî include-íå (hint: íÿìà äà ñå link-íå). Çàùî ãî ïðàâèø òàêà?
2. layer.h ðåä 34, neuron.h ðåä 36:
Code:std::vector<Neuron*> getNeurons(); std::vector<double> getOutputs();Òîâà ñà ôóíêöèè, êîèòî ïðåäïîëàãàì ñå èçïîëçâàò ÷åñòî? Àêî å òàêà, òî òóê èìàø performance ïðîáëåì - ïðè âñÿêî èçâèêâàíå ùå ñå êîïèðà öÿë âåêòîð. Ïî-äîáðå áè áèëî àêî âðúùàø reference êúì âåêòîðà, à íå ñàìèÿ íåãî ïî ñòîéíîñò.Code:std::vector<double> getWeights();
Çàñåãà ñàìî òîëêîâà...
-
17th March 2008 23:15 #3
Ëåëå, çàìåíèõ íà ïîâå÷åòî ìåñòà ïðåäàâàíåòî íà âåêòîðè ñ ïðåäàâàíå íà êîíñòàíòíè ïðåïðàòêè. 6 ïúòè óñêîðåíèå

Âå÷å îáùè ëèíèè ìîãà äà îáõîæäàì èçîáðàæåíèÿòà â ïðèåìëèâ ïåðèîä îò âðåìå è äîðè óðå áèõ èìàë ïðîòîòèïíà ïðîãðàìà çà îòêðèâàíåòî íà ëèöàòà (èëè âúîáùå ïðåäìåòèòå, çà êîèòî ñå îáó÷è ìðåæàòà).




Reply With Quote

Lenovo ThinkPad 15 èëè IdeaPad 15
5th May 2023, 22:16 in Ìîáèëíè êîìïþòðè