Přístupnostní navigace
E-application
Search Search Close
Bachelor's Thesis
Author of thesis: Ing. Martin Pavella
Acad. year: 2022/2023
Supervisor: Ing. Radek Kočí, Ph.D.
Reviewer: doc. Ing. František Zbořil, Ph.D.
Machine learning frameworks use various formats to represent and store models of deep neural networks (DNN). One of the most commonly used ones is Open Neural Network Exchange (ONNX). Developing drivers for hardware accelerators on embedded systems is expensive, and ONNX is rarely supported. The necessary software support is typically only implemented for the TensorFlow Lite (TFLite) DNN model format. Currently, the options for conversion of pre-trained ONNX models to TFLite are inadequate and produce suboptimal models. This work focuses on designing and developing a direct converter of ONNX models to TFLite, which produces as optimal models as possible. The resulting program was verified on real models in collaboration with the NXP company. The models produce identical outputs after conversion and their inference speed on target platforms is significantly higher.
TFLite, ONNX, TensorFlow Lite, deep neural network conversion, conversion of neural network models, flatbuffer, protocol buffer, ONNX to TFLite
Date of defence
13.06.2023
Result of the defence
Defended (thesis was successfully defended)
Grading
A
Process of defence
Student nejprve prezentoval výsledky, kterých dosáhl v rámci své práce. Komise se poté seznámila s hodnocením vedoucího a posudkem oponenta práce. Student následně odpověděl na otázky oponenta a na další otázky přítomných, např. ohledně limitů při konverzi operátorů či vlastního přínosu práce. Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědí studenta na položené otázky rozhodla práci hodnotit stupněm výborně / A.
Topics for thesis defence
Language of thesis
Czech
Faculty
Fakulta informačních technologií
Department
Department of Intelligent Systems
Study programme
Information Technology (BIT)
Composition of Committee
doc. Ing. Vladimír Janoušek, Ph.D. (předseda) doc. Ing. Lukáš Burget, Ph.D. (člen) prof. Ing. Jan M. Honzík, CSc. (člen) Ing. Vojtěch Mrázek, Ph.D. (člen) Ing. Radek Kočí, Ph.D. (člen)
Supervisor’s reportIng. Radek Kočí, Ph.D.
Přístup studenta hodnotím jako výborný. Přikládám vyjádření odborného konzultanta Roberta Kalmara:
S přístupem studenta jsem nadmíru spokojený. Pravidelně se účastnil dohodnutých konzultací, na které přicházel připravený a umožňoval produktivní diskuse o podrobnostech provádění a o problémech, které se vyskytly. Při své práci prokázal schopnost analyzovat problém, porozumět implementaci třetí strany, navrhnout SW architekturu výsledného řešení a obhájit klíčové aspekty návrhu. Výsledný návrh řešení a implementaci považuji za velmi kvalitní. Student také prokázal vynikající time-management. Na svém BP pracoval pravidelně a od počátku byly k dispozici rané verze softwaru. Jednotlivé body zadání byly splněny včas, finální implementace byla k dispozici zhruba měsíc před předáním.
Zadání bylo vytvořeno ve spolupráci s firmou NXP. Cílem bylo vytvoření konvertoru modelů strojového učení pro účely nasazení na specializovaném hardwaru. Vzhledem k tomu, že student musel nastudovat různé modely s využitím analýzy implementace nástrojů TFLite a ONNX a následná implementace konvertoru byla poměrně rozsáhlá, považuji zadání za náročnější.
Student využil doporučenou literaturu, další zdroje vyhledával sám nebo na doporučení konzultanta z firmy.
Aktivita byla výborná, pravidelně probíhaly konzultace s odborným konzultantem s firmy, o kterých jsem byl informován a několika z nich jsem se přímo účastnil. Student byl vždy připraven a během konzultací probíhala konstruktivní diskuze.
Aktivita při dokončování byla velmi dobrá, realizace i technická zpráva byla konzultována s dostatečným předstihem.
Student zúčastnil konference Excel@FIT 2023.
Grade proposed by supervisor: A
Reviewer’s reportdoc. Ing. František Zbořil, Ph.D.
Student provedl kvalitní inženýrskou práci a výsledkem je užitečný a originální systém. Přesto hodnotím nižším stupněm B a to zejména proto, protože textová část popisující implementaci tohoto systému mohla být provedena pečlivěji a přehledněji.
Evaluation level: obtížnější zadání
Zadání považuji za mírně obtížnější z toho důvodu, že dokumentace k jednomu z požadoavných formátů není k dispozici a student tak musel provést zpětnou analýzu některých kódů.
Evaluation level: zadání splněno
Výsledkem je aplikace, která dokáže transformovat některé modely popsatelné ve formátu ONNX do formátu TensorFlow Lite. Jedná se o modely, které bývají obvyklé, kromě toho ale student zmiňuje, že doposud není možné konvertovat jakýkoliv model a že toto je potřeba dořešit v budoucnu. To ale nepovažuji za nedostatek, jelikož jak jsem uvedl v předchozím bodě, není k dispozici oficiální dokumentace a jednotlivé prvky modelu a jejich funkčnost bylo potřeba získat z analýzy dostupných modelů.
Evaluation level: je v obvyklém rozmezí
Druhá část práce je bohužel hůře čitelná. Student relativně vágně popisuje implementaci svého systému, odkazuje se často na soubory s kódy aplikace a používá pojmy bez podrobnějšího vysvětlení, což čtenáři komplikuje porozumnění textu. Text je cílen na někoho, kdo má podrobné znalosti o popisovaných modelech a zkušenosti s nimi nad úroveň běžnou v informačních technologií. Takto strukturovaný a sepsaný text pro mě snižuje kvalitu celé práce.
Z formálního hlediska mám výtky k tomu, že v textu se řeší a odkazuje adresářová struktura projektu, která podle mého názoru by měla být uvedena v přílohách. Ukázky kódů zabírajících v jednom případě i celou stranu nejsou pro čtenáře příliš užitečné a zhoršují formální úpravu textu. Po jazykové stánce je text psán správně, až na to, co jsem zmíníl v předchozím bodě, a některé věty jsou stylově volnější, než se předpokládá u bakalářských prací.
Uvedených šestnáct pramenů je relevantních k tématu práce, student je řádně cituje a dle mého názoru jsou i vhodně zvoleny.
Systém je v pořádku a překlady podmnožiny modelů popsatelných ve formátu ONNX lze převádět do formátu TensorFlow Litte. Výsledky ukazují, že tento převod má smysl a v cílovém formátu umožňuje zrychlit vybavování modelu a zmenšit jeho velikost při zachování přesnosti.
Práce byla vytvořena ve spolupráci s firmou NXP a zde bude výsledný systém využíván. Jedná se pravděpodobně o unikátní překladač, který doposud nebyl jinde vytvořen.
Grade proposed by reviewer: B
Responsibility: Mgr. et Mgr. Hana Odstrčilová