Cross-platform porting of Deep Neural Networks
Jokivuori, Joona (2020)
Jokivuori, Joona
2020
Degree Programme in Science and Engineering, BSc (Tech) - Degree Programme in Science and Engineering, BSc (Tech)
Tekniikan ja luonnontieteiden tiedekunta - Faculty of Engineering and Natural Sciences
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2020-05-13
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-202004294477
https://urn.fi/URN:NBN:fi:tuni-202004294477
Tiivistelmä
Deep neural networks have become the leading choice by many for machine learning applications. With the increasing amount of storage space and increasing computational capacity in modern computers, deep neural networks are the go-to choice. However, not all devices have robust hardware and are thus not effective to train deep neural networks.
This thesis studies how deep neural networks can be trained and then ported to another programming language, so that devices with less computing power may utilize the predictions of a pre-trained network. A network trained in Python can be ported to C++ and MATLAB.
Python, C++, and MATLAB are popular programming languages, where Python is driven by Machine Learning research, MATLAB is for signal processing, visualization, and algorithm development, and C++ for the efficient running of programs.
The results were calculated by comparing the accuracy and computing speed of the original and ported networks. The results suggest that all the ported networks have identical accuracy and identical forward passes. The speed of the ported C++ network confirms that porting the network is a feasible method to allow computationally weaker devices to run forward passes on the network.
This thesis studies how deep neural networks can be trained and then ported to another programming language, so that devices with less computing power may utilize the predictions of a pre-trained network. A network trained in Python can be ported to C++ and MATLAB.
Python, C++, and MATLAB are popular programming languages, where Python is driven by Machine Learning research, MATLAB is for signal processing, visualization, and algorithm development, and C++ for the efficient running of programs.
The results were calculated by comparing the accuracy and computing speed of the original and ported networks. The results suggest that all the ported networks have identical accuracy and identical forward passes. The speed of the ported C++ network confirms that porting the network is a feasible method to allow computationally weaker devices to run forward passes on the network.
Kokoelmat
- Kandidaatintutkielmat [8907]