Gépi tanulás Python által vezérelt FPGA alapú PYNQ kártyán
Absztrakt
A szakdolgozatom célja egy olyan rendszer létrehozása volt amelyben egy konzumerszintű EEG sapkával, az OpenBCI EEG Electrode Cap Kittel, egy PYNQ Z2-eszköznek az FPGA-ján gyosított neurális hálózat segítségével az EEG sapkát viselő személynek a tudatállapotát lehetséges vizsgálni, és alapszintű irányítási parancsokat lehet felismerni. A neurális hálózatokat QKeras segítségével, egy kvantált leírási módon adtam meg, majd ezen hálózatok átalakítását a CERN-ben kifejlesztett hls4ml nevű könyvtárral alakítottam át egy kész Vivado projektté. A kész projektet mint Overlayt használtam a PYNQ Jupyter Notebookos környezetében. A tudatállapotokat vizsgáló tesztrendszer sikeresen létrejött, az irányítási esetről kiderült hogy másik típusú, EMG-re érzékeny elektródák szükségesek az effektív adatfelvételhez. Középkategóriás CPU-knál minimum 10-szer nagyobb sebességgel volt képes egy-egy inferenciát végrehajtani a PYNQ eszköz FPGA részében futó neurális hálózat. A szakdolgozatomnak része egy kezdetleges oktatási anyag, amelyet pontosan követve lehetséges reprodukálni az általam elért eredményeket.