Optimizing Deep Learning Models For Raspberry Pi

Salem Ameen,Kangaranmulle Siriwardana,Theo Theodoridis
2023-04-25
Abstract:Deep learning models have become increasingly popular for a wide range of applications, including computer vision, natural language processing, and speech recognition. However, these models typically require large amounts of computational resources, making them challenging to run on low-power devices such as the Raspberry Pi. One approach to addressing this challenge is to use pruning techniques to reduce the size of the deep learning models. Pruning involves removing unimportant weights and connections from the model, resulting in a smaller and more efficient model. Pruning can be done during training or after the model has been trained. Another approach is to optimize the deep learning models specifically for the Raspberry Pi architecture. This can include optimizing the model's architecture and parameters to take advantage of the Raspberry Pi's hardware capabilities, such as its CPU and GPU. Additionally, the model can be optimized for energy efficiency by minimizing the amount of computation required. Pruning and optimizing deep learning models for the Raspberry Pi can help overcome the computational and energy constraints of low-power devices, making it possible to run deep learning models on a wider range of devices. In the following sections, we will explore these approaches in more detail and discuss their effectiveness for optimizing deep learning models for the Raspberry Pi.
Systems and Control,Artificial Intelligence,Machine Learning,Performance
What problem does this paper attempt to address?
The problem that this paper attempts to solve is the challenges of computational resources and energy efficiency in running deep - learning models on low - power devices (such as Raspberry Pi). Specifically, the paper focuses on how to reduce the size and computational requirements of deep - learning models through pruning and optimization techniques, thereby improving the running performance and energy efficiency of these models on Raspberry Pi. Through these methods, researchers hope to make it possible for deep - learning models to run in real - time on low - power devices without sacrificing model accuracy. The main technical means mentioned in the paper include: - **Pruning**: By removing unimportant weights in the neural network, the size of the model is reduced and the computational requirements are decreased. - **Model architecture optimization**: Adjust the number of layers and the arrangement of the neural network to adapt to the hardware characteristics of Raspberry Pi, such as the capabilities of its CPU and GPU. - **Quantization**: Reduce the precision of the model weights from float32 to int8, further compress the model size and improve the running efficiency. - **Using TensorFlow Lite**: Convert the model into a format suitable for mobile and embedded devices, and use its optimization tools to increase the running speed of the model. - **Hardware acceleration**: Utilize the delegates function of TensorFlow Lite to accelerate the inference speed of the model by calling the hardware accelerators (such as GPU) on the device. Through the above - mentioned technical means, the paper aims to explore how to effectively optimize deep - learning models so that they can run efficiently on resource - constrained Raspberry Pi, thereby expanding the scope of deep - learning applications.