NNSharp: High level C++ API deep learning-hez
2018-2019 ősz
Szoftver
Téma leírása

A feladat motivációja: A jelenlegi cutting-edge deep learning technológiák elsősorban a Python nyelvet támogatják. Azonban más nyelvek, mint a C# és a Java is rendelkeznek számos előnnyel a Pythonnal szemben, mint például a felhasználói interfészek fejlesztése vagy adatbázis technológiák integrálása üzleti alkalmazásokba. Ennek megfelelően igény van arra, hogy a tanítás eredményét (vagy esetleg magát a tanítást) ezekben a környezetekben (pl. Windows és C#) is lehessen használni. Az általam kezdeményezett NNSharp egy ilyen projekt, melyről további információ itt érhető el: https://github.com/adamtiger/NNSharp. Hosszabb távú vízió, hogy megvalósuljon egy olyan C++ high level API, ami hasonló a Kerashoz (https://keras.io/), de C++ alapú, így lehetővé tenné, hogy bármilyen nyelvben használhatók legyenek a legmodernebb library-k (Tensorflow, CNTK).
Feladat: Jelenleg az NNSharp egy C# alapú referencia implementációt tartalmaz, ami körülbelül 70%-ban lefedi a Keras API-t. A referencia implementáció arra szolgál, hogy egyszerűen átláthatóvá tegye az egyes neurális rétegek működését, valamint alapja legyen a C++ API megvalósításának és tesztelésének. Ebben a félévben a referencia implementáció kibővítése és tesztelése, valamint példák készítése a cél.
Cél: Legalább 10 réteg funkcionálisan Keras hű implementálása és dokumentálása.
Learning outcome:
- Szoftverfejlesztés ismeretek: verzió követés (Git), continuous integration (CI)
- Keras alapos megismerése, forráskód szinten
- Deep learning technológiák mély megismerése (mi van a motorháztető alatt)
- C#, Python
Maximális létszám:
1 fő