<div class="csl-bib-body">
<div class="csl-entry">Glinserer, A. (2021). <i>Autopruning with intel distiller and evaluation on a Jetson Xavier AGX</i> [Diploma Thesis, Technische Universität Wien]. reposiTUm. https://doi.org/10.34726/hss.2021.90301</div>
</div>
-
dc.identifier.uri
https://doi.org/10.34726/hss.2021.90301
-
dc.identifier.uri
http://hdl.handle.net/20.500.12708/17762
-
dc.description
Abweichender Titel nach Übersetzung der Verfasserin/des Verfassers
-
dc.description.abstract
Convolutional neural networks build the basis for state-of-the-art computer vision tasks, such as image classification or object detection. Tasks such as collision detection, e.g., cars or drones, or the classification of wildlife or mushrooms to identify harmful or poisonous vegetation require these networks to run on smaller, more power efficient devices. Such edge devices have much less computational power than servers with high-power GPUs and often run only on batteries. The desire is to achieve real-time performance while maintaining a minimum power consumption to enable execution on edge devices without any uplink connection.Pruning is a valuable method to compress neural networks by reducing the required computations and thus improve performance. This work presents an automatic pruning workflow using a measurement-based method to determine which portions of the network contribute how much to the total accuracy. This accuracy contribution can then be used to prioritise parts of the network for pruning, i.e., only portions of the network are pruned, which contribute little to the total accuracy. This approach is interesting, especially for convolutional neural networks.Furthermore, to increase the prunability within networks containing residual blocks, this work evaluates zero-padding as a helpful complement to existing pruning methods. Residual blocks are a basic building block within modern neural networks. With zero-padding added to the pruning, we enable the automatic pruning process to choose layers for pruning, which would otherwise not be possible or only possible with removing additional filters that might significantly impact the total accuracy. This would result in a significant loss regarding the accuracy and, therefore, also the prunability. Zero-padding adds the removed channels back into the original output feature map in a manner such that the shapes of the feature maps remain identical, but computations are still saved.Using this method, a speedup of up to 21% on CPU-based platforms and 5-6% for GPU-based executions of a MobileNetV2 was achieved. For evaluation, a Jetson Xavier AGX is chosen because it offers three different execution modes and thus is a solid baseline for further argumentation regarding the applicability. The pruned network is comparable to the original network with an applied depth multiplier. However, the required additional retraining time is much smaller than training a MobileNetV2 with a depth multiplier from scratch. Furthermore, the effect of pruning with regards to power consumption highly depends on the network architecture. Therefore, the resulting power ranges from actual savings to an even higher consumption depending on the executed network.
en
dc.description.abstract
Pruning ist eine wertvolle Methode, um neuronale Netze durch Reduzierung der erforderlichen Berechnungen zu komprimieren und so die Leistung zu verbessern. In dieser Arbeit wird ein automatischer Pruning-Workflow vorgestellt, der auf einem messbasierten Ansatz gründet, um zu bestimmen, welche Teile des Netzes wie viel zur Gesamtgenauigkeit beitragen. Dieser Genauigkeitsbeitrag kann dann verwendet werden, um Teile des Netzes für das Pruning zu priorisieren, d.h. es werden nur Teile des Netzes beschnitten, die wenig zur Gesamtgenauigkeit beitragen. Dieser Ansatz ist vor allem für CNNs interessant. CNNs bilden die Grundlage für bildbezogene Aufgaben, wie z. B. Klassifikation oder Objekterkennung. Da diese eine hohe mathematische Komplexität aufweisen, ist es wünschenswert, diese auch auf weniger leistungsfähiger Hardware nutzbar zu machen. Durch Aufgaben, wie Hinderniserkennung in Hinblick auf autonome Autos oder Drohnen, beziehungsweise der Klassifizierung von Wildtieren oder Pilzen zur Erkennung von schädlicher oder giftiger Vegetation, entsteht ein Bedarf, diese Netzwerke auf kleinere Geräte zu bringen, welche auch nur mit Batterien laufen. Diese Geräte haben meist nur eine geringe Rechenleistung im Vergleich zu Servern mit Hochleistungs-GPUs. Der Wunsch ist es, Echtzeitgeschwindigkeit zu erreichen und dabei ein Minimum an Stromverbrauch zu erzielen, um die Ausführung auf Geräten zu ermöglichen, welche sich nahe am sogenannten edge befinden oder überhaupt keine Möglichkeit für eine Netzwerkanbindung haben. Um die Prunebarkeit innerhalb von Netzen mit Residual-Blöcken zu erhöhen, wird in dieser Arbeit Zero-Padding als hilfreiche Ergänzung zu bestehenden Pruning-Methoden evaluiert. Residual-Blöcke bilden einen Basisbaustein für neurale Netze. Durch das Hinzufügen von Zero-Padding zum Pruning wird der automatische Pruning-Prozess in die Lage versetzt, Layer für das Pruning auszuwählen, welche sonst nicht oder nur mit dem Entfernen zusätzlicher Filter möglich wäre. Ohne die zusätzlich entfernten Filter kann eine höhere Ursprungsgenauigkeit beibehalten werden. Dies vermeidet einen erheblichen Verlust hinsichtlich der Genauigkeit und damit auch der Möglichkeiten zum prunen führen. Das Zero-Padding fügt die entfernten Kanäle als Nulltensoren wieder in den Ausgangstensor ein, und zwar so, dass die Dimensionen des Ausgangstensors identisch bleiben, aber dennoch Berechnungen eingespart werden.Mit dieser Methode erreicht man eine Beschleunigung von bis zu 21% auf CPU-basierten Plattformen und 5-6% für GPU-basierte Ausführungen eines MobileNetV2. Für die Evaluierung wurde ein Jetson Xavier AGX gewählt, da dieser drei verschiedene Ausführungsmodi bietet und somit eine solide Basis für die weitere Bewertung hinsichtlich der Anwendbarkeit darstellt. Das geprunte Netz ist vergleichbar mit dem ursprünglichen Netz mit angewandtem Depthmultiplier. Die zusätzlich benötigte Lernzeit ist jedoch deutlich geringer, als das Training eines MobileNetV2 mit Depthmultiplier von Grund auf. Darüber hinaus hängt der Effekt des Prunings hinsichtlich der Leistungsaufnahme stark von der Netzarchitektur ab. Daher reicht die resultierende Leistung von Einsparungen bis hin zu einem erhöhten Verbrauch in Abhängigkeit vom ausgeführten Netzwerk.
de
dc.language
English
-
dc.language.iso
en
-
dc.subject
Machine Learning
de
dc.subject
Embedded Systeme
de
dc.subject
Deep Learning
de
dc.subject
Neurale Netze
de
dc.subject
Bilderkennung
de
dc.subject
Machine Learning
en
dc.subject
Embedded System
en
dc.subject
Deep Learning
en
dc.subject
Neural Networks
en
dc.subject
Image Recognition
en
dc.title
Autopruning with intel distiller and evaluation on a Jetson Xavier AGX
en
dc.title.alternative
Autopruning mit Intel Distiller und Evaluation auf einem Jetson Xavier AGX
de
dc.type
Thesis
en
dc.type
Hochschulschrift
de
dc.identifier.doi
10.34726/hss.2021.90301
-
dc.contributor.affiliation
TU Wien, Österreich
-
dc.rights.holder
CC BY 4.0
-
dc.publisher.place
Wien
-
tuw.version
vor
-
tuw.thesisinformation
Technische Universität Wien
-
dc.contributor.assistant
Lechner, Martin
-
tuw.publication.orgunit
E384 - Institut für Computertechnik
-
dc.type.qualificationlevel
Diploma
-
dc.identifier.libraryid
AC16227469
-
dc.description.numberOfPages
79
-
dc.thesistype
Diplomarbeit
de
dc.thesistype
Diploma Thesis
en
tuw.advisor.staffStatus
staff
-
tuw.assistant.staffStatus
staff
-
tuw.advisor.orcid
0000-0003-2251-0004
-
item.languageiso639-1
en
-
item.openairetype
master thesis
-
item.grantfulltext
open
-
item.fulltext
with Fulltext
-
item.cerifentitytype
Publications
-
item.mimetype
application/pdf
-
item.openairecristype
http://purl.org/coar/resource_type/c_bdcc
-
item.openaccessfulltext
Open Access
-
crisitem.author.dept
E360 - Institut für Mikroelektronik
-
crisitem.author.parentorg
E350 - Fakultät für Elektrotechnik und Informationstechnik