Table of Contents
Fetching ...

OpTC -- A Toolchain for Deployment of Neural Networks on AURIX TC3xx Microcontrollers

Christian Heidorn, Frank Hannig, Dominik Riedelbauch, Christoph Strohmeyer, Jürgen Teich

TL;DR

OpTC supports various types of neural networks and provides compression using layer-wise pruning based on sensitivity analysis for a given neural network and the flexibility in supporting different types of neural networks is shown.

Abstract

The AURIX 2xx and 3xx families of TriCore microcontrollers are widely used in the automotive industry and, recently, also in applications that involve machine learning tasks. Yet, these applications are mainly engineered manually, and only little tool support exists for bringing neural networks to TriCore microcontrollers. Thus, we propose OpTC, an end-to-end toolchain for automatic compression, conversion, code generation, and deployment of neural networks on TC3xx microcontrollers. OpTC supports various types of neural networks and provides compression using layer-wise pruning based on sensitivity analysis for a given neural network. The flexibility in supporting different types of neural networks, such as multi-layer perceptrons (MLP), convolutional neural networks (CNN), and recurrent neural networks (RNN), is shown in case studies for a TC387 microcontroller. Automotive applications for predicting the temperature in electric motors and detecting anomalies are thereby used to demonstrate the effectiveness and the wide range of applications supported by OpTC.

OpTC -- A Toolchain for Deployment of Neural Networks on AURIX TC3xx Microcontrollers

TL;DR

OpTC supports various types of neural networks and provides compression using layer-wise pruning based on sensitivity analysis for a given neural network and the flexibility in supporting different types of neural networks is shown.

Abstract

The AURIX 2xx and 3xx families of TriCore microcontrollers are widely used in the automotive industry and, recently, also in applications that involve machine learning tasks. Yet, these applications are mainly engineered manually, and only little tool support exists for bringing neural networks to TriCore microcontrollers. Thus, we propose OpTC, an end-to-end toolchain for automatic compression, conversion, code generation, and deployment of neural networks on TC3xx microcontrollers. OpTC supports various types of neural networks and provides compression using layer-wise pruning based on sensitivity analysis for a given neural network. The flexibility in supporting different types of neural networks, such as multi-layer perceptrons (MLP), convolutional neural networks (CNN), and recurrent neural networks (RNN), is shown in case studies for a TC387 microcontroller. Automotive applications for predicting the temperature in electric motors and detecting anomalies are thereby used to demonstrate the effectiveness and the wide range of applications supported by OpTC.
Paper Structure (21 sections, 5 equations, 5 figures, 2 algorithms)

This paper contains 21 sections, 5 equations, 5 figures, 2 algorithms.

Figures (5)

  • Figure 1: Overview of our proposed approach to automatic compression by exploration of network configurations by iteratively increasing the degree of weighted global pruning of a neural network $X$ for deployment on the target microcontroller ($\mu$C).
  • Figure 2: Pruning sensitivities $s_i$ for respective layer $v_i$, which serves to determine the initial pruning rate. The sensitivities for the ten fully connected layers of the Autoencoder (a) and for the four convolutional layers and the fully connected layer of the convolutional neural network for keyword spotting (b) are visualized.
  • Figure 3: $J$ explored configurations based on global weighted pruning for the Autoencoder (AE) on anomaly detection benchmark. Each dot is numbered with the corresponding iteration $j$ ($0\leq j \leq 10$).
  • Figure 4: $J$ explored configurations based on global weighted pruning for the convolutional neural network for the keyword spotting benchmark. The vertical line in the rightmost plot indicates the available scratchpad RAM for CPU2 and CPU3. Here, all configurations $j \geq 5$ meet the scratchpad (RAM) requirements.
  • Figure 5: $J$ explored configurations based on global weighted pruning for the temporal convolutional neural network (TCN) trained on the electric motor temperature dataset.