Vis enkel innførsel

dc.contributor.advisorSvarstad, Kjetil
dc.contributor.advisorBochud, Florian
dc.contributor.authorSkafså, Ole Martin
dc.date.accessioned2017-09-22T14:01:45Z
dc.date.available2017-09-22T14:01:45Z
dc.date.created2017-06-20
dc.date.issued2017
dc.identifierntnudaim:16670
dc.identifier.urihttp://hdl.handle.net/11250/2456373
dc.description.abstractThe popularity of machine learning has increased dramatically in the last years and the possible applications varies from web search, speech recognition, object detection, etc. A big part of this development is due to the use of Convolutional Neural Networks (CNNs), where high performance Graphics Processing Units (GPUs) has been the most popular device. This thesis explores the use of a Field-Programmable Gate Array (FPGA), specifically an Arria 10 GX FPGA, to implement a "wake up word" CNN. The High-Level Synthesis (HLS) tool Intel FPGA SDK for OpenCL was used. During the project various neural networks has been implemented and tested on the FPGA with different attributes to understand their effect. An infrastructure to test various neural networks was made and used to implement the wake up word CNN. A solution to test the CNN in a setup with live recording was also made. The final implementation of the wake up word CNN achieved a classification time of 3.6 ms and 0.54 Gmac/s, where a \textit{mac} is the multiply-accumulate operation. Comparing to a CNN runnning on a NVIDIA Tegra X1 GPU, the GPU was 22.2 times faster with 11.99 Gmac/s. Although the classification time of 3.6 ms is acceptable for this application, future work should attempt to keep as much of the computation and memory transfers on the FPGA chip and with minimal interaction with the host machine to improve performance.
dc.languageeng
dc.publisherNTNU
dc.subjectElektronikk, Design av digitale systemer
dc.titleFPGA implementation of a Convolutional Neural Network for "Wake up word" detection
dc.typeMaster thesis


Tilhørende fil(er)

Thumbnail
Thumbnail
Thumbnail

Denne innførselen finnes i følgende samling(er)

Vis enkel innførsel