Bachelor's Thesis

Conversion of Models between Machine Learning Frameworks for Mobile Platforms

Final Thesis 2.97 MB

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.

Abstract:

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.

Keywords:

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)

znamkaAznamka

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

  1. V závěru textu je uvedena kapitola 'Bezkontextový překladač'. Můžete formálněji vyjádřit, mezi jakými jazyky tento překladač překládá?

Language of thesis

Czech

Faculty

Department

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 report
Ing. 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.

Evaluation criteria Verbal classification
Informace k zadání

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ší.

Práce s literaturou

Student využil doporučenou literaturu, další zdroje vyhledával sám nebo na doporučení konzultanta z firmy.

Aktivita během řešení, konzultace, komunikace

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í

Aktivita při dokončování byla velmi dobrá, realizace i technická zpráva byla konzultována s dostatečným předstihem.

Publikační činnost, ocenění

Student zúčastnil konference Excel@FIT 2023.

Points proposed by supervisor: 100

Grade proposed by supervisor: A

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 criteria Verbal classification Points
Náročnost zadání

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ů. 

Rozsah splnění požadavků zadání

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ů.

Rozsah technické zprávy

Evaluation level: je v obvyklém rozmezí

Prezentační úroveň technické zprávy

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. 

65
Formální úprava technické zprávy

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í.

75
Práce s literaturou

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.

90
Realizační výstup

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.

95
Využitelnost výsledků

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.

Topics for thesis defence:
  1. V závěru textu je uvedena kapitola 'Bezkontextový překladač'. Můžete formálněji vyjádřit, mezi jakými jazyky tento překladač překládá?
Points proposed by reviewer: 85

Grade proposed by reviewer: B

Responsibility: Mgr. et Mgr. Hana Odstrčilová