Efficient Convolutional Neural Networks on Raspberry Pi: Enhancing Performance with Pruning and Quantization

preprint OA: closed
Full text JSON View at publisher
AI-generated summary by claude@2026-07, 2026-07-15

This study investigated pruning and TensorFlow Lite conversion to optimize CNNs for the Raspberry Pi, finding that pruning maintains accuracy while significantly improving inference times.

One-sentence paraphrase of the abstract; not a substitute for reading it. No clinical advice. How this works

AI-generated deep summary by claude@2026-07, 2026-07-15 · read from full text

This paper studies how to optimize convolutional neural network (CNN) models for deployment on a resource-limited Raspberry Pi by combining magnitude-based weight pruning, int8 quantization, and TensorFlow Lite conversion, evaluating models trained on MNIST, SVHN, Horses or Humans, Cats vs Dogs, and TF Flowers. Using a Raspberry Pi 4 Model B, the authors benchmark accuracy, model size, and inference time across sparsity levels and report that pruning can maintain accuracy up to moderate sparsity (e.g., MNIST showed only a marginal accuracy change around 80% sparsity) but that performance drops at higher sparsity; they also find inference time reductions after pruning and quantization, with the MNIST model showing a particularly large speedup. A stated limitation is that the experiments focus on specific datasets, model architectures, and an edge-device setup, so results may not generalize to other workloads or hardware configurations. The paper does not explicitly discuss endometriosis or adenomyosis; it was included in the corpus via a keyword match in the upstream search index.

Read from the paper's body, not the abstract. Not a substitute for reading the paper. No clinical advice. How this works

Abstract

Abstract In the evolving realm of edge computing, adapting Convolutional Neural Networks (CNNs) for deployment on resource-limited devices like the Raspberry Pi presents significant challenges. This study delves into the effectiveness of pruning techniques and TensorFlow Lite conversion in optimizing CNN models for such platforms, focusing on widely-used datasets such as MNIST, SVHN, 'Horses or Humans', 'Cats vs Dogs', and 'TF Flowers'. Our comprehensive analysis reveals that pruning effectively maintains model accuracy up to a certain level of sparsity, particularly in models like MNIST, where only a marginal decrease in accuracy was observed with increased sparsity. This underscores the delicate balance between model complexity and performance. Moreover, our findings demonstrate notable improvements in inference times following the application of pruning and quantization techniques. This was especially evident in the significant reduction of inference time for the MNIST model, highlighting the feasibility of deploying more efficient CNN models on the Raspberry Pi. These optimizations not only enhance the practicality of using CNNs in resource-constrained environments but also extend their applicability in real-world scenarios. Our study contributes important insights into model optimization for edge devices and lays a foundation for future research, emphasizing the need for tailored approaches in neural network optimization for edge computing.
Full text 133,721 characters · extracted from preprint-html · click to expand
Efficient Convolutional Neural Networks on Raspberry Pi: Enhancing Performance with Pruning and Quantization | Research Square window.SnipcartSettings = { analytics: { enabled: false } }; (function() { var accessVector = localStorage.getItem('access_vector') || ''; window.dataLayer = window.dataLayer || []; if (accessVector) { window.dataLayer.push({ user: { profile: { profileInfo: { snid: accessVector } } } }); } })(); (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src='https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);})(window,document,'script','dataLayer','GTM-K279D39R'); Browse Preprints In Review Journals COVID-19 Preprints AJE Video Bytes Research Tools Research Promotion AJE Professional Editing AJE Rubriq About Preprint Platform In Review Editorial Policies Our Team Advisory Board Help Center Sign In Submit a Preprint Cite Share Download PDF Research Article Efficient Convolutional Neural Networks on Raspberry Pi: Enhancing Performance with Pruning and Quantization Salem Ameen, Theodoros Theodoridis, Kangaranmulle Siriwardana This is a preprint; it has not been peer reviewed by a journal. https://doi.org/ 10.21203/rs.3.rs-4345141/v1 This work is licensed under a CC BY 4.0 License Status: Posted Version 1 posted You are reading this latest preprint version Abstract In the evolving realm of edge computing, adapting Convolutional Neural Networks (CNNs) for deployment on resource-limited devices like the Raspberry Pi presents significant challenges. This study delves into the effectiveness of pruning techniques and TensorFlow Lite conversion in optimizing CNN models for such platforms, focusing on widely-used datasets such as MNIST, SVHN, 'Horses or Humans', 'Cats vs Dogs', and 'TF Flowers'. Our comprehensive analysis reveals that pruning effectively maintains model accuracy up to a certain level of sparsity, particularly in models like MNIST, where only a marginal decrease in accuracy was observed with increased sparsity. This underscores the delicate balance between model complexity and performance. Moreover, our findings demonstrate notable improvements in inference times following the application of pruning and quantization techniques. This was especially evident in the significant reduction of inference time for the MNIST model, highlighting the feasibility of deploying more efficient CNN models on the Raspberry Pi. These optimizations not only enhance the practicality of using CNNs in resource-constrained environments but also extend their applicability in real-world scenarios. Our study contributes important insights into model optimization for edge devices and lays a foundation for future research, emphasizing the need for tailored approaches in neural network optimization for edge computing. Artificial Intelligence and Machine Learning Edge Computing Convolutional Neural Networks (CNNs) Pruning Sparsity Quantization Raspberry Pi Computational Efficiency Figures Figure 1 Figure 2 I. INTRODUCTION In the dynamic landscape of machine learning, CNNs have become integral to advancements across diverse fields, from healthcare to the digital arts. The rise of edge computing, marked by a shift from centralized cloud systems to local data processing on devices, presents unique challenges, especially in deploying complex CNN models on resource-limited platforms like the Raspberry Pi. Despite its versatility in a range of applications, the computational constraints of the Raspberry Pi pose significant challenges for deploying complex CNN models. This study addresses the challenge of optimizing CNN models for the Raspberry Pi, focusing on an integrated approach that combines magnitude-based weight pruning, quantization, and TensorFlow Lite conversion. The magnitude-based pruning, a subset of unstructured pruning techniques, streamlines model complexity by selectively eliminating weights deemed less critical. This process is crucial for adapting to the hardware constraints of the Raspberry Pi and is further complemented by the quantization of the pruned models. Quantization, a process of reducing the precision of the model's numerical parameters, works alongside pruning to further enhance the models' efficiency, particularly in terms of computation and memory usage. The conversion of these optimized models into TensorFlow Lite format ensures their compatibility and functional robustness in constrained computational environments. Our methodological approach, designed for transparency and replicability, involves a comprehensive analysis of various CNN models across multiple datasets. By utilizing the Raspberry Pi 4 Model B, with its advanced features suitable for deep learning, we aim to critically evaluate the balance between model complexity and performance. This assessment focuses on key aspects such as accuracy and inference time, which are crucial in edge computing contexts. By integrating pruning and quantization techniques with TensorFlow Lite conversion, our research offers a holistic solution to model optimization for edge computing applications. This study not only provides valuable insights into deploying CNN models on the Raspberry Pi but also underscores the potential of applying similar optimizations to other low-power devices. Such advancements address a critical need in the era of ubiquitous and decentralized computing. In our commitment to open science, we have made our entire codebase publicly available, fostering reproducibility and encouraging further innovation in this rapidly evolving field. II. LITERATURE REVIEW A. Background and Evolution of CNNs: CNNs have transformed deep learning, especially in image recognition, classification, and medical analysis [1-8]. Originating from foundational work by LeCun and others [1-4], CNN architectures like MNIST, AlexNet, VGGNet, GoogLeNet, and ResNet [9-12] have enhanced efficiency and accuracy. These advancements are crucial in the context of our study, which explores the deployment of these complex models in resource-constrained environments like the Raspberry Pi. B. Challenges in Computational Requirements: Despite their success, CNNs encounter significant computational and memory challenges [13-16], particularly in edge computing where resources are scarce. This situation underscores the importance of our research in model optimization, focusing on model pruning and quantization [17, 18] to tailor CNNs for devices with limited computing power. C. CNNs in Edge Computing and Diverse Applications: CNNs are increasingly applied in edge computing across various sectors. For instance, Gonzalez-Huitron et al.'s work in agriculture [19] and Kumar et al.'s in medical diagnostics [20] demonstrate CNNs' potential in real-world, resource-limited settings. These applications align with our study's aim to optimize CNN models for practical deployment in similar environments. D. Optimization Techniques - Pruning and Quantization: Network pruning and trained quantization are key to reducing CNN model complexity [17, 18]. Han et al.’s research on reducing network parameters [17] and numerical precision [18] resonates with our study's approach, emphasizing the need for lightweight yet efficient neural networks in edge computing. E. TensorFlow Lite's Role in Model Optimization: TensorFlow Lite emerges as a critical tool for model optimization, particularly for Raspberry Pi deployment [21]. This tool's ability to convert and optimize TensorFlow models for resource-constrained devices is central to our study, enabling the practical application of complex CNN models in real-time scenarios on the Raspberry Pi. Emerging Trends - Federated Learning in Edge Computing: The advent of Federated Learning (FL) marks a paradigm shift in machine learning within edge computing [22]. FL's focus on collaborative model training and privacy aligns with the demands of modern edge computing, where efficient data processing and privacy are paramount. This trend underpins our study's context, exploring the deployment of optimized CNNs in such evolving computing landscapes. III. METHODOLOGY A. Objective and Experimental Approach: Our research aims to optimize CNNs for deployment on Raspberry Pi devices. We focus on magnitude-based weight pruning followed by TensorFlow Lite conversion and quantization, assessing the balance between model complexity and performance across various datasets. B. Model Architectures and Training: Five distinct CNN models were developed for datasets including MNIST, SVHN, 'Horses or Humans', 'Cats vs Dogs', and 'TensorFlow Flowers'. Each model's architecture was customized to suit the dataset's complexity, employing various layers like convolutional, max pooling, dropout, and dense layers. Key parameters for each model included: MNIST : Customized CNN, 370,454 total parameters, trained for 10 epochs. SVHN : Customized CNN, 551,466 total parameters, trained for 30 epochs. Horses or Humans : VGG16-based model, 551,466 total parameters, trained for 30 epochs. Cats vs Dogs : MobileNetV2-based model, 2,260,546 total parameters, trained for 8 epochs. TensorFlow Flowers : ResNet50-based model, 23,597,957 total parameters, trained for 25 epochs. Models were trained using Adam optimizer and sparse categorical entropy loss function. Data pre-processing included normalization, resizing, and augmentation where necessary. C. Pruning and Quantization Process: Magnitude-based weight pruning was employed using TensorFlow's pruning algorithm, progressively achieving desired sparsity levels. The process included: Initial full-capacity training to establish baseline performance. Weight ranking and pruning based on absolute values, with iterative adjustments to sparsity levels. Retraining post-pruning for performance recovery. Post-training dynamic quantization was then applied, reducing weight precision from float32 to int8, balancing computational efficiency and accuracy. D. TensorFlow Lite Conversion: Pruned and quantized models were converted to TensorFlow Lite format, ensuring compatibility with Raspberry Pi's hardware limitations. This involved model freezing, optimization, and conversion using TensorFlow Lite's tools. E. Performance Benchmarking on Raspberry Pi 4 Model B: Models were benchmarked on a Raspberry Pi 4 Model B, featuring a 64-bit quad-core Cortex-A72 processor and 8GB of RAM. Inference times were measured using a set of 100 images per model, focusing on the initialization overhead and overall efficiency. The benchmarking process included calculating average inference time, standard deviation, and standard error to assess performance distribution and consistency. F. Code Availability and Reproducibility: In line with open science principles, our entire codebase, including scripts for model training, pruning, conversion, and benchmarking, is publicly available on our GitHub repository 1, facilitating replication and further exploration in edge computing. IV. RESULTS Our study presents a comprehensive analysis of pruning techniques applied to various CNN models, aimed at optimizing their performance on Raspberry Pi devices. We focused on evaluating model accuracy, size, and inference time across different sparsity levels. A. Model Accuracy at Different Sparsity Levels : Table I displays the validation accuracy of diverse models, including MNIST, SVHN, 'Horses or Humans', 'Cats vs Dogs', and 'TF Flowers', at varying sparsity levels. Notably, up to a sparsity level of 80%, the models largely maintained their accuracy. For instance, the MNIST model exhibited an accuracy of 99.04% at 80% sparsity, a slight decrease from the baseline accuracy of 98.41%. However, accuracy significantly declined across all models beyond this sparsity threshold, illustrating the crucial balance between model sparsity and accuracy. Figure 1 visually depicts the relationship between sparsity levels and model accuracy, emphasizing the critical threshold of 80% sparsity beyond which accuracy sharply decreases. This graph illustrates the diminishing returns in model accuracy at higher levels of sparsity. B. Inference Time Improvements : The application of pruning and quantization techniques resulted in substantial improvements in inference times, particularly relevant for edge computing on Raspberry Pi. For example, in the TensorFlow Lite pruned model for the MNIST dataset, we observed a dramatic reduction in the first image's inference time (t _infer_1 ) from 539.58 ms to 21.32 ms. The average inference time (t _infer ) also decreased from 114.26 ms to 3.73 ms. These results, as summarized in Table II, demonstrate the potential of pruning techniques in significantly reducing computational load. The table provides a comprehensive performance analysis of inference times across different machine learning models, highlighting the impact of our optimization techniques on various datasets. Figure 2 provides a comparative visualization of inference times before and after the application of optimization techniques. The bar chart distinctly highlights the efficiency gains achieved through model pruning and quantization, underscoring the enhanced suitability of these models for deployment on resource-constrained devices like the Raspberry Pi. V. DISCUSSION AND ANALYSIS A. Pruning Implications Our results affirm the effectiveness of pruning in maintaining model accuracy with substantial parameter reduction, notably in models like 'Horses or Humans' and 'MNIST'. This aligns with current literature indicating parameter redundancy in these models, suggesting potential efficiency gains without compromising accuracy. However, our analysis also identifies a critical sparsity threshold, as depicted in Fig. 1, where accuracy begins to decline significantly. This threshold is vital in pruning application, highlighting the balance between model efficiency and performance retention. Further research could explore whether similar thresholds exist across different model architectures or problem domains. B. TensorFlow Lite Conversion and Quantization The transformation to TensorFlow Lite and the subsequent quantization, as demonstrated in our study, significantly impact model size and inference times - crucial in edge computing scenarios like the Raspberry Pi. This finding is in line with recent studies underscoring the importance of model format and quantization in optimizing CNNs for edge devices with limited storage and computational resources. Challenges such as maintaining model integrity during this process and scaling these optimizations for diverse models and datasets remain areas for future exploration. C. Benchmarking on Raspberry Pi Our benchmarking results showcase the Raspberry Pi's potential as an effective edge computing device, particularly with optimized models. The marked reduction in inference times for the MNIST dataset, illustrated in Fig. 2, supports the Raspberry Pi's applicability for real-time CNNs applications. These findings contribute to the emerging research promoting Raspberry Pi as a feasible platform for deploying optimized CNNs in practical settings, with potential implications for future hardware enhancements. D. Accuracy and Efficiency Trade-off The study also brings to light the trade-offs between accuracy and efficiency, especially in CNNs with pre-trained layers. The varying responses of different models to pruning and quantization underscore the necessity for dataset-specific optimization strategies. This insight stresses the need for customized model selection and optimization, particularly in deploying models on resource-constrained devices, where decisions may pivot on the specific application's requirements regarding accuracy versus efficiency. E. Synthesis of Analysis In conclusion, our analysis confirms that through careful application of pruning and quantization, CNNs models can be significantly optimized for edge devices, with nuanced implications for models' accuracy and performance. These benefits, however, are heavily dependent on the specific characteristics of the model and dataset, emphasizing the need for adaptive and tailored optimization approaches in the realm of edge computing. This study not only contributes to the field of CNN optimization but also provides a foundation for future research aimed at refining these methods for a broader range of applications and device capabilities. VI. CONCLUSION AND FUTURE WORK This research has systematically illuminated the effectiveness of pruning and TensorFlow Lite conversion techniques in enhancing the performance of CNN models on Raspberry Pi devices. Our investigations reveal a significant reduction in model size and inference times, while simultaneously maintaining, and in some cases improving, model accuracy. This underscores the considerable potential of these optimization strategies in the realm of efficient edge computing. A key insight from our work is the feasibility of substantially reducing model parameters through pruning techniques, which crucially does not compromise accuracy and optimizes models for faster inference. Concurrently, TensorFlow Lite conversion has emerged as an indispensable tool in ensuring that models are both lightweight and adaptable for edge computing applications. The observed variability in benefits, contingent on model architecture and dataset complexity, illuminates the path for future research — particularly the need for more adaptable and tailored optimization approaches. Future Directions: Building upon this foundation, future explorations could include: Hardware Accelerators : Investigating the integration of hardware accelerators like Google's Edge TPU or Intel's Neural Compute Stick offers promising avenues for further reducing inference times and enhancing computational efficiency. This could potentially revolutionize real-time data processing capabilities in edge computing. Diverse Models and Datasets : Expanding research to encompass a broader array of neural network architectures and datasets, particularly focusing on IoT applications, would deepen our understanding of the universal applicability and effectiveness of these optimization techniques. This could lead to more robust and versatile machine learning solutions across various domains. Application-Specific Optimizations : Delving into targeted applications, such as automated surveillance or healthcare diagnostics, would not only validate the practicality of these optimizations but also amplify their impact in real-world scenarios. Such studies could pave the way for advanced, efficient machine learning implementations in critical sectors. By pursuing these directions, future research can amplify the findings of this study, broadening the horizons of CNN optimizations in edge computing and beyond, thereby contributing significantly to the evolving landscape of distributed and intelligent computing. Declarations Ethics Declarations Conflict of Interest: The authors declare that they have no competing interests. Consent to Participate: Not applicable. Consent for Publication: Not applicable. Ethical Approval: Not applicable as this study did not involve humans or animals. Data Availability: The datasets used in this study are all publicly available. The datasets analyzed during the current study are available from the corresponding public domain resources. MNIST dataset is available from https://www.tensorflow.org/datasets/catalog/mnist. SVHN dataset is available from http://ufldl.stanford.edu/housenumbers/. 'Horses or Humans' dataset is available from https://laurencemoroney.com/datasets.html. 'Cats vs Dogs' dataset is available from https://www.tensorflow.org/datasets/catalog/cats_vs_dogs. 'TF Flowers' dataset is available from https://www.tensorflow.org/datasets/catalog/tf_flowers. References Y. LeCun et al., "Backpropagation applied to handwritten zip code recognition," Neural Computation, vol. 1, no. 4, pp. 541-551, 1989. Y. LeCun and Y. Bengio, "Convolutional networks for images, speech, and time series," The Handbook of Brain Theory and Neural Networks, vol. 3361, no. 10, pp. 1995, 1995. Z. Li et al., "A survey of convolutional neural networks: analysis, applications, and prospects," IEEE Trans. Neural Netw. Learn. Syst., 2021. Y. LeCun, Y. Bengio, and G. Hinton, "Deep learning," Nature, vol. 521, no. 7553, pp. 436-444, 2015. J. Deng et al., "Imagenet: A large-scale hierarchical image database," in Proc. IEEE Conf. Comput. Vis. Pattern Recognit., 2009, pp. 248-255. C. Li et al., "Deep Learning and Image Recognition," in Proc. IEEE Int. Conf. Comput. Intell. Softw. Eng., 2009, pp. 557-562. A. Krizhevsky, I. Sutskever, and G. E. Hinton, "ImageNet classification with deep convolutional neural networks," Commun. ACM, vol. 60, no. 6, pp. 84-90, 2017. T. Dhar et al., "Challenges of Deep Learning in Medical Image Analysis—Improving Explainability and Trust," IEEE Trans. Technol. Soc., vol. 4, no. 1, pp. 68-75, 2023. Y. LeCun et al., "Gradient-based learning applied to document recognition," Proc. IEEE, vol. 86, no. 11, pp. 2278-2324, 1998. A. Krizhevsky, I. Sutskever, and G. E. Hinton, "Imagenet classification with deep convolutional neural networks," in Adv. Neural Inf. Process. Syst., vol. 25, 2012. C. Szegedy et al., "Going deeper with convolutions," in Proc. IEEE Conf. Comput. Vis. Pattern Recognit., 2015, pp. 1-9. K. He et al., "Deep residual learning for image recognition," in Proc. IEEE Conf. Comput. Vis. Pattern Recognit., 2016, pp. 770-778. S. Ameen and S. Vadera, "Pruning neural networks using multi-armed bandits," The Computer Journal, vol. 63, no. 7, pp. 1099-1108, 2020. S. A. Ameen, Optimizing Deep Learning Networks Using Multi-Armed Bandits, University of Salford, United Kingdom, 2017. S. Vadera and S. Ameen, "Methods for pruning deep neural networks," IEEE Access, vol. 10, pp. 63280-63300, 2022. Y. He and L. Xiao, "Structured Pruning for Deep Convolutional Neural Networks: A survey," arXiv preprint arXiv:2303.00566, 2023. S. Han et al., "Learning both weights and connections for efficient neural network," in Adv. Neural Inf. Process. Syst., vol. 28, 2015. S. Han, H. Mao, and W. J. Dally, "Deep compression: Compressing deep neural networks with pruning, trained quantization and huffman coding," arXiv preprint arXiv:1510.00149, 2015. V. Gonzalez-Huitron et al., "Disease detection in tomato leaves via CNN with lightweight architectures implemented in Raspberry Pi 4," Computers and Electronics in Agriculture, vol. 181, pp. 105951, 2021. A. Kumar et al., "MobiHisNet: a lightweight CNN in mobile edge computing for histopathological image classification," IEEE Internet of Things Journal, vol. 8, no. 24, pp. 17778-17789, 2021. P. Warden and D. Situnayake, TinyML: Machine Learning with TensorFlow Lite on Arduino and Ultra-Low-Power Microcontrollers, O'Reilly Media, 2019. W. Y. B. Lim et al., "Federated learning in mobile edge networks: A comprehensive survey," IEEE Commun. Surv. Tutor., vol. 22, no. 3, pp. 2031-2063, 2020 Footnotes GitHub - SalemAmeen/raspberry_pi_optimization: raspberry pi optimisation Tables TABLE I Model Validation Accuracy Across Datasets at Incremental Sparsity Levels Sparsity MNIST horses or humans svhn TF flowers cats vs dogs 0 (baseline) 98.41 100.00 94.36 91.28 87.02 0.25 100.00 100.00 94.37 92.19 95.40 0.50 100.00 100.00 94.39 92.37 92.02 0.60 100.00 100.00 94.78 92.10 88.41 0.70 100.00 100.00 94.18 92.10 75.32 0.80 99.04 100.00 93.17 90.83 78.87 0.90 98.96 71.10 88.98 89.92 70.51 0.95 90.20 48.38 88.98 89.74 60.81 0.97 80.65 48.38 82.24 89.19 60.90 0.99 57.80 51.62 28.42 89.01 49.01 TABLE I I Performance Analysis: Inference Time Across Different Machine Learning Models Additional Declarations The authors declare no competing interests. Supplementary Files APPENDIX.docx Cite Share Download PDF Status: Posted Version 1 posted You are reading this latest preprint version Research Square lets you share your work early, gain feedback from the community, and start making changes to your manuscript prior to peer review in a journal. As a division of Research Square Company, we’re committed to making research communication faster, fairer, and more useful. We do this by developing innovative software and high quality services for the global research community. Our growing team is made up of researchers and industry professionals working together to solve the most critical problems facing scientific publishing. Also discoverable on Platform About Our Team In Review Editorial Policies Advisory Board Help Center Resources Author Services Accessibility API Access RSS feed Manage Cookie Preferences © Research Square 2026 | ISSN 2693-5015 (online) Privacy Policy Terms of Service Do Not Sell My Personal Information {"props":{"pageProps":{"initialData":{"identity":"rs-4345141","acceptedTermsAndConditions":true,"allowDirectSubmit":true,"archivedVersions":[],"articleType":"Research Article","associatedPublications":[],"authors":[{"id":296936018,"identity":"d0862d96-841f-4f79-9d8e-01bf37784866","order_by":0,"name":"Salem Ameen","email":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAZAAAAAyAQMAAABI0h/eAAAABlBMVEX///8AAABVwtN+AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAA/UlEQVRIie2RMUvDQBTHXzhIlhe6pqQmX+FfAi3F4mdJKeji0LGbAcEscfdjxOXmwFsFV8eWrgopLhErmthNOG03h/vxhrvj/Xj/xxFZLP8apSqiRdSe0u87/lY8t21FcozSYxymxJla0dvlNBorfq0bIBrnqVM3JIlJQeXCudXnyeTa1/0CSAYPK9UvSEZGpStfy6wUXxNjN7sLUgqJZGoO5tXOh/68KoU32x3QKer9N4UqhvJ1lUKYQt4rbjfFHEx4ISd6PizFHYWDdpeA1zeTAhfG9eM8v1+/6LMYj7LZPi8RBd5cnprl6TAzOarN9uPJyQ76SIvFYrGY+QIl1E27TP2x5wAAAABJRU5ErkJggg==","orcid":"https://orcid.org/0000-0002-1128-4155","institution":"University of Salford","correspondingAuthor":true,"prefix":"","firstName":"Salem","middleName":"","lastName":"Ameen","suffix":""},{"id":296936105,"identity":"1558c847-d832-486b-8619-4edbcf986b6b","order_by":1,"name":"Theodoros Theodoridis","email":"","orcid":"","institution":"University of Salford","correspondingAuthor":false,"prefix":"","firstName":"Theodoros","middleName":"","lastName":"Theodoridis","suffix":""},{"id":296936123,"identity":"45ad1b59-3de3-44f8-8662-7669faf308c7","order_by":2,"name":"Kangaranmulle Siriwardana","email":"","orcid":"","institution":"University of Salford","correspondingAuthor":false,"prefix":"","firstName":"Kangaranmulle","middleName":"","lastName":"Siriwardana","suffix":""}],"badges":[],"createdAt":"2024-04-29 22:02:19","currentVersionCode":1,"declarations":{"humanSubjects":false,"vertebrateSubjects":false,"conflictsOfInterestStatement":false,"humanSubjectEthicalGuidelines":false,"humanSubjectConsent":false,"humanSubjectClinicalTrial":false,"humanSubjectCaseReport":false,"vertebrateSubjectEthicalGuidelines":false,"coiExplicitlySet":false},"doi":"10.21203/rs.3.rs-4345141/v1","doiUrl":"https://doi.org/10.21203/rs.3.rs-4345141/v1","draftVersion":[],"editorialEvents":[],"editorialNote":"","failedWorkflow":false,"files":[{"id":55755779,"identity":"53f4dcad-f4b9-40d9-a7da-1d55c4807961","added_by":"auto","created_at":"2024-05-02 17:03:07","extension":"png","order_by":1,"title":"Figure 1","display":"","copyAsset":false,"role":"figure","size":94642,"visible":true,"origin":"","legend":"\u003cp\u003e\u003cstrong\u003eAccuracy vs. Sparsity Level Plot\u003c/strong\u003e\u003c/p\u003e","description":"","filename":"floatimage1.png","url":"https://assets-eu.researchsquare.com/files/rs-4345141/v1/babe7b4a91bd284616571b00.png"},{"id":55756127,"identity":"3628a168-162b-49e0-b1dd-fb8a46f5518b","added_by":"auto","created_at":"2024-05-02 17:11:07","extension":"png","order_by":2,"title":"Figure 2","display":"","copyAsset":false,"role":"figure","size":79156,"visible":true,"origin":"","legend":"\u003cp\u003e\u003cstrong\u003eInference Time Comparison Bar Chart\u003c/strong\u003e\u003c/p\u003e","description":"","filename":"floatimage2.png","url":"https://assets-eu.researchsquare.com/files/rs-4345141/v1/b68adaddfbe4675da34933b8.png"},{"id":55756617,"identity":"f8875701-0e78-495c-95da-0581531144ab","added_by":"auto","created_at":"2024-05-02 17:19:07","extension":"pdf","order_by":0,"title":"","display":"","copyAsset":false,"role":"manuscript-pdf","size":724810,"visible":true,"origin":"","legend":"","description":"","filename":"manuscript.pdf","url":"https://assets-eu.researchsquare.com/files/rs-4345141/v1/6b1756e3-656b-4341-8aa0-45e3060119fb.pdf"},{"id":55755778,"identity":"56dbb7ca-4e2d-4d95-bfbd-6245273c39e5","added_by":"auto","created_at":"2024-05-02 17:03:07","extension":"docx","order_by":1,"title":"","display":"","copyAsset":false,"role":"supplement","size":13864,"visible":true,"origin":"","legend":"","description":"","filename":"APPENDIX.docx","url":"https://assets-eu.researchsquare.com/files/rs-4345141/v1/0366978501822863714317d6.docx"}],"financialInterests":"The authors declare no competing interests.","formattedTitle":"\u003cp\u003eEfficient Convolutional Neural Networks on Raspberry Pi: Enhancing Performance with Pruning and Quantization\u003c/p\u003e","fulltext":[{"header":"I. INTRODUCTION","content":"\u003cp\u003eIn the dynamic landscape of machine learning, CNNs have become integral to advancements across diverse fields, from healthcare to the digital arts. The rise of edge computing, marked by a shift from centralized cloud systems to local data processing on devices, presents unique challenges, especially in deploying complex CNN models on resource-limited platforms like the Raspberry Pi. Despite its versatility in a range of applications, the computational constraints of the Raspberry Pi pose significant challenges for deploying complex CNN models.\u003c/p\u003e\n\u003cp\u003eThis study addresses the challenge of optimizing CNN models for the Raspberry Pi, focusing on an integrated approach that combines magnitude-based weight pruning, quantization, and TensorFlow Lite conversion. The magnitude-based pruning, a subset of unstructured pruning techniques, streamlines model complexity by selectively eliminating weights deemed less critical. This process is crucial for adapting to the hardware constraints of the Raspberry Pi and is further complemented by the quantization of the pruned models. Quantization, a process of reducing the precision of the model\u0026apos;s numerical parameters, works alongside pruning to further enhance the models\u0026apos; efficiency, particularly in terms of computation and memory usage. The conversion of these optimized models into TensorFlow Lite format ensures their compatibility and functional robustness in constrained computational environments.\u003c/p\u003e\n\u003cp\u003eOur methodological approach, designed for transparency and replicability, involves a comprehensive analysis of various CNN models across multiple datasets. By utilizing the Raspberry Pi 4 Model B, with its advanced features suitable for deep learning, we aim to critically evaluate the balance between model complexity and performance. This assessment focuses on key aspects such as accuracy and inference time, which are crucial in edge computing contexts.\u003c/p\u003e\n\u003cp\u003eBy integrating pruning and quantization techniques with TensorFlow Lite conversion, our research offers a holistic solution to model optimization for edge computing applications. This study not only provides valuable insights into deploying CNN models on the Raspberry Pi but also underscores the potential of applying similar optimizations to other low-power devices. Such advancements address a critical need in the era of ubiquitous and decentralized computing. In our commitment to open science, we have made our entire codebase publicly available, fostering reproducibility and encouraging further innovation in this rapidly evolving field.\u003c/p\u003e"},{"header":"II. LITERATURE REVIEW","content":"\u003cp\u003e\u003cstrong\u003e\u003cem\u003eA. Background and Evolution of CNNs:\u003c/em\u003e\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eCNNs have transformed deep learning, especially in image recognition, classification, and medical analysis [1-8]. Originating from foundational work by LeCun and others [1-4], CNN architectures like MNIST, AlexNet, VGGNet, GoogLeNet, and ResNet [9-12] have enhanced efficiency and accuracy. These advancements are crucial in the context of our study, which explores the deployment of these complex models in resource-constrained environments like the Raspberry Pi.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003cem\u003eB. Challenges in Computational Requirements:\u003c/em\u003e\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eDespite their success, CNNs encounter significant computational and memory challenges [13-16], particularly in edge computing where resources are scarce. This situation underscores the importance of our research in model optimization, focusing on model pruning and quantization [17, 18] to tailor CNNs for devices with limited computing power.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003cem\u003eC. CNNs in Edge Computing and Diverse Applications:\u003c/em\u003e\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eCNNs are increasingly applied in edge computing across various sectors. For instance, Gonzalez-Huitron et al.\u0026apos;s work in agriculture [19] and Kumar et al.\u0026apos;s in medical diagnostics [20] demonstrate CNNs\u0026apos; potential in real-world, resource-limited settings. These applications align with our study\u0026apos;s aim to optimize CNN models for practical deployment in similar environments.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003cem\u003eD. Optimization Techniques - Pruning and Quantization:\u003c/em\u003e\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eNetwork pruning and trained quantization are key to reducing CNN model complexity [17, 18]. Han et al.\u0026rsquo;s research on reducing network parameters [17] and numerical precision [18] resonates with our study\u0026apos;s approach, emphasizing the need for lightweight yet efficient neural networks in edge computing.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003cem\u003eE. TensorFlow Lite\u0026apos;s Role in Model Optimization:\u003c/em\u003e\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eTensorFlow Lite emerges as a critical tool for model optimization, particularly for Raspberry Pi deployment [21]. This tool\u0026apos;s ability to convert and optimize TensorFlow models for resource-constrained devices is central to our study, enabling the practical application of complex CNN models in real-time scenarios on the Raspberry Pi.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003cem\u003eEmerging Trends - Federated Learning in Edge Computing:\u003c/em\u003e\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eThe advent of Federated Learning (FL) marks a paradigm shift in machine learning within edge computing [22]. FL\u0026apos;s focus on collaborative model training and privacy aligns with the demands of modern edge computing, where efficient data processing and privacy are paramount. This trend underpins our study\u0026apos;s context, exploring the deployment of optimized CNNs in such evolving computing landscapes.\u003c/p\u003e"},{"header":"III. METHODOLOGY","content":"\u003cp\u003e\u003cstrong\u003e\u003cem\u003eA. Objective and Experimental Approach:\u003c/em\u003e\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eOur research aims to optimize CNNs for deployment on Raspberry Pi devices. We focus on magnitude-based weight pruning followed by TensorFlow Lite conversion and quantization, assessing the balance between model complexity and performance across various datasets.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003cem\u003eB. Model Architectures and Training:\u003c/em\u003e\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eFive distinct CNN models were developed for datasets including MNIST, SVHN, 'Horses or Humans', 'Cats vs Dogs', and 'TensorFlow Flowers'. Each model's architecture was customized to suit the dataset's complexity, employing various layers like convolutional, max pooling, dropout, and dense layers. Key parameters for each model included:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eMNIST\u003c/strong\u003e: Customized CNN, 370,454 total parameters, trained for 10 epochs.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eSVHN\u003c/strong\u003e: Customized CNN, 551,466 total parameters, trained for 30 epochs.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eHorses or Humans\u003c/strong\u003e: VGG16-based model, 551,466 total parameters, trained for 30 epochs.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eCats vs Dogs\u003c/strong\u003e: MobileNetV2-based model, 2,260,546 total parameters, trained for 8 epochs.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eTensorFlow Flowers\u003c/strong\u003e: ResNet50-based model, 23,597,957 total parameters, trained for 25 epochs.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eModels were trained using Adam optimizer and sparse categorical entropy loss function. Data pre-processing included normalization, resizing, and augmentation where necessary.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003cem\u003eC. Pruning and Quantization Process:\u003c/em\u003e\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eMagnitude-based weight pruning was employed using TensorFlow's pruning algorithm, progressively achieving desired sparsity levels. The process included:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eInitial full-capacity training to establish baseline performance.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eWeight ranking and pruning based on absolute values, with iterative adjustments to sparsity levels.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRetraining post-pruning for performance recovery.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003ePost-training dynamic quantization was then applied, reducing weight precision from float32 to int8, balancing computational efficiency and accuracy.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003cem\u003eD. TensorFlow Lite Conversion:\u003c/em\u003e\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003ePruned and quantized models were converted to TensorFlow Lite format, ensuring compatibility with Raspberry Pi's hardware limitations. This involved model freezing, optimization, and conversion using TensorFlow Lite's tools.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003cem\u003eE. Performance Benchmarking on Raspberry Pi 4 Model B:\u003c/em\u003e\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eModels were benchmarked on a Raspberry Pi 4 Model B, featuring a 64-bit quad-core Cortex-A72 processor and 8GB of RAM. Inference times were measured using a set of 100 images per model, focusing on the initialization overhead and overall efficiency. The benchmarking process included calculating average inference time, standard deviation, and standard error to assess performance distribution and consistency.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003cem\u003eF. Code Availability and Reproducibility:\u003c/em\u003e\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eIn line with open science principles, our entire codebase, including scripts for model training, pruning, conversion, and benchmarking, is publicly available on our GitHub repository 1, facilitating replication and further exploration in edge computing.\u003c/p\u003e"},{"header":"IV. RESULTS","content":"\u003cp\u003eOur study presents a comprehensive analysis of pruning techniques applied to various CNN models, aimed at optimizing their performance on Raspberry Pi devices. We focused on evaluating model accuracy, size, and inference time across different sparsity levels.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eA. Model Accuracy at Different Sparsity Levels\u003c/strong\u003e:\u003c/p\u003e\n\u003cp\u003eTable I displays the validation accuracy of diverse models, including MNIST, SVHN, 'Horses or Humans', 'Cats vs Dogs', and 'TF Flowers', at varying sparsity levels. Notably, up to a sparsity level of 80%, the models largely maintained their accuracy. For instance, the MNIST model exhibited an accuracy of 99.04% at 80% sparsity, a slight decrease from the baseline accuracy of 98.41%. However, accuracy significantly declined across all models beyond this sparsity threshold, illustrating the crucial balance between model sparsity and accuracy.\u003c/p\u003e\n\u003cp\u003eFigure 1 visually depicts the relationship between sparsity levels and model accuracy, emphasizing the critical threshold of 80% sparsity beyond which accuracy sharply decreases. This graph illustrates the diminishing returns in model accuracy at higher levels of sparsity.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eB. Inference Time Improvements\u003c/strong\u003e:\u003c/p\u003e\n\u003cp\u003eThe application of pruning and quantization techniques resulted in substantial improvements in inference times, particularly relevant for edge computing on Raspberry Pi. For example, in the TensorFlow Lite pruned model for the MNIST dataset, we observed a dramatic reduction in the first image's inference time (t\u003csub\u003e_infer_1\u003c/sub\u003e) from 539.58 ms to 21.32 ms. The average inference time (t\u003csub\u003e_infer\u003c/sub\u003e) also decreased from 114.26 ms to 3.73 ms. These results, as summarized in Table II, demonstrate the potential of pruning techniques in significantly reducing computational load. The table provides a comprehensive performance analysis of inference times across different machine learning models, highlighting the impact of our optimization techniques on various datasets.\u003c/p\u003e\n\u003cp\u003eFigure 2 provides a comparative visualization of inference times before and after the application of optimization techniques. The bar chart distinctly highlights the efficiency gains achieved through model pruning and quantization, underscoring the enhanced suitability of these models for deployment on resource-constrained devices like the Raspberry Pi.\u003c/p\u003e"},{"header":"V. DISCUSSION AND ANALYSIS","content":"\u003cp\u003e\u003cstrong\u003eA. Pruning Implications\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eOur results affirm the effectiveness of pruning in maintaining model accuracy with substantial parameter reduction, notably in models like 'Horses or Humans' and 'MNIST'. This aligns with current literature indicating parameter redundancy in these models, suggesting potential efficiency gains without compromising accuracy. However, our analysis also identifies a critical sparsity threshold, as depicted in Fig.\u0026nbsp;1, where accuracy begins to decline significantly. This threshold is vital in pruning application, highlighting the balance between model efficiency and performance retention. Further research could explore whether similar thresholds exist across different model architectures or problem domains.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eB. TensorFlow Lite Conversion and Quantization\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eThe transformation to TensorFlow Lite and the subsequent quantization, as demonstrated in our study, significantly impact model size and inference times - crucial in edge computing scenarios like the Raspberry Pi. This finding is in line with recent studies underscoring the importance of model format and quantization in optimizing CNNs for edge devices with limited storage and computational resources. Challenges such as maintaining model integrity during this process and scaling these optimizations for diverse models and datasets remain areas for future exploration.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eC. Benchmarking on Raspberry Pi\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eOur benchmarking results showcase the Raspberry Pi's potential as an effective edge computing device, particularly with optimized models. The marked reduction in inference times for the MNIST dataset, illustrated in Fig.\u0026nbsp;2, supports the Raspberry Pi's applicability for real-time CNNs applications. These findings contribute to the emerging research promoting Raspberry Pi as a feasible platform for deploying optimized CNNs in practical settings, with potential implications for future hardware enhancements.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eD. Accuracy and Efficiency Trade-off\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eThe study also brings to light the trade-offs between accuracy and efficiency, especially in CNNs with pre-trained layers. The varying responses of different models to pruning and quantization underscore the necessity for dataset-specific optimization strategies. This insight stresses the need for customized model selection and optimization, particularly in deploying models on resource-constrained devices, where decisions may pivot on the specific application's requirements regarding accuracy versus efficiency.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eE. Synthesis of Analysis\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eIn conclusion, our analysis confirms that through careful application of pruning and quantization, CNNs models can be significantly optimized for edge devices, with nuanced implications for models' accuracy and performance. These benefits, however, are heavily dependent on the specific characteristics of the model and dataset, emphasizing the need for adaptive and tailored optimization approaches in the realm of edge computing. This study not only contributes to the field of CNN optimization but also provides a foundation for future research aimed at refining these methods for a broader range of applications and device capabilities.\u003c/p\u003e"},{"header":"VI. CONCLUSION AND FUTURE WORK","content":"\u003cp\u003eThis research has systematically illuminated the effectiveness of pruning and TensorFlow Lite conversion techniques in enhancing the performance of CNN models on Raspberry Pi devices. Our investigations reveal a significant reduction in model size and inference times, while simultaneously maintaining, and in some cases improving, model accuracy. This underscores the considerable potential of these optimization strategies in the realm of efficient edge computing.\u003c/p\u003e\n\u003cp\u003eA key insight from our work is the feasibility of substantially reducing model parameters through pruning techniques, which crucially does not compromise accuracy and optimizes models for faster inference. Concurrently, TensorFlow Lite conversion has emerged as an indispensable tool in ensuring that models are both lightweight and adaptable for edge computing applications. The observed variability in benefits, contingent on model architecture and dataset complexity, illuminates the path for future research \u0026mdash; particularly the need for more adaptable and tailored optimization approaches.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFuture Directions:\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eBuilding upon this foundation, future explorations could include:\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003cem\u003eHardware Accelerators\u003c/em\u003e\u003c/strong\u003e: Investigating the integration of hardware accelerators like Google\u0026apos;s Edge TPU or Intel\u0026apos;s Neural Compute Stick offers promising avenues for further reducing inference times and enhancing computational efficiency. This could potentially revolutionize real-time data processing capabilities in edge computing.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003cem\u003eDiverse Models and Datasets\u003c/em\u003e\u003c/strong\u003e: Expanding research to encompass a broader array of neural network architectures and datasets, particularly focusing on IoT applications, would deepen our understanding of the universal applicability and effectiveness of these optimization techniques. This could lead to more robust and versatile machine learning solutions across various domains.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003cem\u003eApplication-Specific Optimizations\u003c/em\u003e\u003c/strong\u003e: Delving into targeted applications, such as automated surveillance or healthcare diagnostics, would not only validate the practicality of these optimizations but also amplify their impact in real-world scenarios. Such studies could pave the way for advanced, efficient machine learning implementations in critical sectors.\u003c/p\u003e\n\u003cp\u003eBy pursuing these directions, future research can amplify the findings of this study, broadening the horizons of CNN optimizations in edge computing and beyond, thereby contributing significantly to the evolving landscape of distributed and intelligent computing.\u003c/p\u003e"},{"header":"Declarations","content":"\u003cp\u003e\u003cstrong\u003eEthics Declarations\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eConflict of Interest: The authors declare that they have no competing interests.\u003c/p\u003e\n\u003cp\u003eConsent to Participate: Not applicable.\u003c/p\u003e\n\u003cp\u003eConsent for Publication: Not applicable.\u003c/p\u003e\n\u003cp\u003eEthical Approval: Not applicable as this study did not involve humans or animals.\u003c/p\u003e\n\u003cp\u003eData Availability: The datasets used in this study are all publicly available. The datasets analyzed during the current study are available from the corresponding public domain resources.\u003c/p\u003e\n\u003cp\u003eMNIST dataset is available from https://www.tensorflow.org/datasets/catalog/mnist.\u003c/p\u003e\n\u003cp\u003eSVHN dataset is available from http://ufldl.stanford.edu/housenumbers/.\u003c/p\u003e\n\u003cp\u003e\u0026apos;Horses or Humans\u0026apos; dataset is available from https://laurencemoroney.com/datasets.html.\u003c/p\u003e\n\u003cp\u003e\u0026apos;Cats vs Dogs\u0026apos; dataset is available from https://www.tensorflow.org/datasets/catalog/cats_vs_dogs.\u003c/p\u003e\n\u003cp\u003e\u0026apos;TF Flowers\u0026apos; dataset is available from https://www.tensorflow.org/datasets/catalog/tf_flowers.\u003c/p\u003e"},{"header":"References","content":"\u003col\u003e\n\u003cli\u003eY. LeCun et al., \u0026quot;Backpropagation applied to handwritten zip code recognition,\u0026quot; Neural Computation, vol. 1, no. 4, pp. 541-551, 1989.\u003c/li\u003e\n\u003cli\u003eY. LeCun and Y. Bengio, \u0026quot;Convolutional networks for images, speech, and time series,\u0026quot; The Handbook of Brain Theory and Neural Networks, vol. 3361, no. 10, pp. 1995, 1995.\u003c/li\u003e\n\u003cli\u003eZ. Li et al., \u0026quot;A survey of convolutional neural networks: analysis, applications, and prospects,\u0026quot; IEEE Trans. Neural Netw. Learn. Syst., 2021.\u003c/li\u003e\n\u003cli\u003eY. LeCun, Y. Bengio, and G. Hinton, \u0026quot;Deep learning,\u0026quot; Nature, vol. 521, no. 7553, pp. 436-444, 2015.\u003c/li\u003e\n\u003cli\u003eJ. Deng et al., \u0026quot;Imagenet: A large-scale hierarchical image database,\u0026quot; in Proc. IEEE Conf. Comput. Vis. Pattern Recognit., 2009, pp. 248-255.\u003c/li\u003e\n\u003cli\u003eC. Li et al., \u0026quot;Deep Learning and Image Recognition,\u0026quot; in Proc. IEEE Int. Conf. Comput. Intell. Softw. Eng., 2009, pp. 557-562.\u003c/li\u003e\n\u003cli\u003eA. Krizhevsky, I. Sutskever, and G. E. Hinton, \u0026quot;ImageNet classification with deep convolutional neural networks,\u0026quot; Commun. ACM, vol. 60, no. 6, pp. 84-90, 2017.\u003c/li\u003e\n\u003cli\u003eT. Dhar et al., \u0026quot;Challenges of Deep Learning in Medical Image Analysis\u0026mdash;Improving Explainability and Trust,\u0026quot; IEEE Trans. Technol. Soc., vol. 4, no. 1, pp. 68-75, 2023.\u003c/li\u003e\n\u003cli\u003eY. LeCun et al., \u0026quot;Gradient-based learning applied to document recognition,\u0026quot; Proc. IEEE, vol. 86, no. 11, pp. 2278-2324, 1998.\u003c/li\u003e\n\u003cli\u003eA. Krizhevsky, I. Sutskever, and G. E. Hinton, \u0026quot;Imagenet classification with deep convolutional neural networks,\u0026quot; in Adv. Neural Inf. Process. Syst., vol. 25, 2012.\u003c/li\u003e\n\u003cli\u003eC. Szegedy et al., \u0026quot;Going deeper with convolutions,\u0026quot; in Proc. IEEE Conf. Comput. Vis. Pattern Recognit., 2015, pp. 1-9.\u003c/li\u003e\n\u003cli\u003eK. He et al., \u0026quot;Deep residual learning for image recognition,\u0026quot; in Proc. IEEE Conf. Comput. Vis. Pattern Recognit., 2016, pp. 770-778.\u003c/li\u003e\n\u003cli\u003eS. Ameen and S. Vadera, \u0026quot;Pruning neural networks using multi-armed bandits,\u0026quot; The Computer Journal, vol. 63, no. 7, pp. 1099-1108, 2020.\u003c/li\u003e\n\u003cli\u003eS. A. Ameen, Optimizing Deep Learning Networks Using Multi-Armed Bandits, University of Salford, United Kingdom, 2017.\u003c/li\u003e\n\u003cli\u003eS. Vadera and S. Ameen, \u0026quot;Methods for pruning deep neural networks,\u0026quot; IEEE Access, vol. 10, pp. 63280-63300, 2022.\u003c/li\u003e\n\u003cli\u003eY. He and L. Xiao, \u0026quot;Structured Pruning for Deep Convolutional Neural Networks: A survey,\u0026quot; arXiv preprint arXiv:2303.00566, 2023.\u003c/li\u003e\n\u003cli\u003eS. Han et al., \u0026quot;Learning both weights and connections for efficient neural network,\u0026quot; in Adv. Neural Inf. Process. Syst., vol. 28, 2015.\u003c/li\u003e\n\u003cli\u003eS. Han, H. Mao, and W. J. Dally, \u0026quot;Deep compression: Compressing deep neural networks with pruning, trained quantization and huffman coding,\u0026quot; arXiv preprint arXiv:1510.00149, 2015.\u003c/li\u003e\n\u003cli\u003eV. Gonzalez-Huitron et al., \u0026quot;Disease detection in tomato leaves via CNN with lightweight architectures implemented in Raspberry Pi 4,\u0026quot; Computers and Electronics in Agriculture, vol. 181, pp. 105951, 2021.\u003c/li\u003e\n\u003cli\u003eA. Kumar et al., \u0026quot;MobiHisNet: a lightweight CNN in mobile edge computing for histopathological image classification,\u0026quot; IEEE Internet of Things Journal, vol. 8, no. 24, pp. 17778-17789, 2021.\u003c/li\u003e\n\u003cli\u003eP. Warden and D. Situnayake, TinyML: Machine Learning with TensorFlow Lite on Arduino and Ultra-Low-Power Microcontrollers, O\u0026apos;Reilly Media, 2019.\u003c/li\u003e\n\u003cli\u003eW. Y. B. Lim et al., \u0026quot;Federated learning in mobile edge networks: A comprehensive survey,\u0026quot; IEEE Commun. Surv. Tutor., vol. 22, no. 3, pp. 2031-2063, 2020\u003c/li\u003e\n\u003c/ol\u003e"},{"header":"Footnotes","content":"\u003col\u003e\u003cli\u003e\u003cspan\u003e GitHub - SalemAmeen/raspberry_pi_optimization: raspberry pi optimisation\u003c/span\u003e\u003c/li\u003e\u003c/ol\u003e"},{"header":"Tables","content":"\u003cp\u003eTABLE I Model Validation Accuracy Across Datasets at Incremental Sparsity Levels\u003c/p\u003e\n\u003ctable border=\"1\" cellspacing=\"0\" cellpadding=\"0\" width=\"463\"\u003e\n \u003ctbody\u003e\n \u003ctr\u003e\n \u003ctd width=\"17.136659436008678%\"\u003e\n \u003cp\u003eSparsity\u003c/p\u003e\n \u003c/td\u003e\n \u003ctd width=\"21.691973969631235%\"\u003e\n \u003cp\u003eMNIST\u003c/p\u003e\n \u003c/td\u003e\n \u003ctd width=\"16.702819956616054%\"\u003e\n \u003cp\u003ehorses or humans\u003c/p\u003e\n \u003c/td\u003e\n \u003ctd width=\"12.79826464208243%\"\u003e\n \u003cp\u003esvhn\u003c/p\u003e\n \u003c/td\u003e\n \u003ctd width=\"15.401301518438178%\"\u003e\n \u003cp\u003eTF flowers\u003c/p\u003e\n \u003c/td\u003e\n \u003ctd width=\"16.268980477223426%\"\u003e\n \u003cp\u003ecats vs dogs\u003c/p\u003e\n \u003c/td\u003e\n \u003c/tr\u003e\n \u003ctr\u003e\n \u003ctd width=\"17.136659436008678%\"\u003e\n \u003cp\u003e0\u003c/p\u003e\n \u003cp\u003e(baseline)\u003c/p\u003e\n \u003c/td\u003e\n \u003ctd width=\"21.691973969631235%\"\u003e\n \u003cp\u003e98.41\u003c/p\u003e\n \u003c/td\u003e\n \u003ctd width=\"16.702819956616054%\"\u003e\n \u003cp\u003e100.00\u003c/p\u003e\n \u003c/td\u003e\n \u003ctd width=\"12.79826464208243%\"\u003e\n \u003cp\u003e94.36\u003c/p\u003e\n \u003c/td\u003e\n \u003ctd width=\"15.401301518438178%\"\u003e\n \u003cp\u003e91.28\u003c/p\u003e\n \u003c/td\u003e\n \u003ctd width=\"16.268980477223426%\"\u003e\n \u003cp\u003e87.02\u003c/p\u003e\n \u003c/td\u003e\n \u003c/tr\u003e\n \u003ctr\u003e\n \u003ctd width=\"17.136659436008678%\"\u003e\n \u003cp\u003e0.25\u003c/p\u003e\n \u003c/td\u003e\n \u003ctd width=\"21.691973969631235%\"\u003e\n \u003cp\u003e100.00\u003c/p\u003e\n \u003c/td\u003e\n \u003ctd width=\"16.702819956616054%\"\u003e\n \u003cp\u003e100.00\u003c/p\u003e\n \u003c/td\u003e\n \u003ctd width=\"12.79826464208243%\"\u003e\n \u003cp\u003e94.37\u003c/p\u003e\n \u003c/td\u003e\n \u003ctd width=\"15.401301518438178%\"\u003e\n \u003cp\u003e92.19\u003c/p\u003e\n \u003c/td\u003e\n \u003ctd width=\"16.268980477223426%\"\u003e\n \u003cp\u003e95.40\u003c/p\u003e\n \u003c/td\u003e\n \u003c/tr\u003e\n \u003ctr\u003e\n \u003ctd width=\"17.136659436008678%\"\u003e\n \u003cp\u003e0.50\u003c/p\u003e\n \u003c/td\u003e\n \u003ctd width=\"21.691973969631235%\"\u003e\n \u003cp\u003e100.00\u003c/p\u003e\n \u003c/td\u003e\n \u003ctd width=\"16.702819956616054%\"\u003e\n \u003cp\u003e100.00\u003c/p\u003e\n \u003c/td\u003e\n \u003ctd width=\"12.79826464208243%\"\u003e\n \u003cp\u003e94.39\u003c/p\u003e\n \u003c/td\u003e\n \u003ctd width=\"15.401301518438178%\"\u003e\n \u003cp\u003e92.37\u003c/p\u003e\n \u003c/td\u003e\n \u003ctd width=\"16.268980477223426%\"\u003e\n \u003cp\u003e92.02\u003c/p\u003e\n \u003c/td\u003e\n \u003c/tr\u003e\n \u003ctr\u003e\n \u003ctd width=\"17.136659436008678%\"\u003e\n \u003cp\u003e0.60\u003c/p\u003e\n \u003c/td\u003e\n \u003ctd width=\"21.691973969631235%\"\u003e\n \u003cp\u003e100.00\u003c/p\u003e\n \u003c/td\u003e\n \u003ctd width=\"16.702819956616054%\"\u003e\n \u003cp\u003e100.00\u003c/p\u003e\n \u003c/td\u003e\n \u003ctd width=\"12.79826464208243%\"\u003e\n \u003cp\u003e94.78\u003c/p\u003e\n \u003c/td\u003e\n \u003ctd width=\"15.401301518438178%\"\u003e\n \u003cp\u003e92.10\u003c/p\u003e\n \u003c/td\u003e\n \u003ctd width=\"16.268980477223426%\"\u003e\n \u003cp\u003e88.41\u003c/p\u003e\n \u003c/td\u003e\n \u003c/tr\u003e\n \u003ctr\u003e\n \u003ctd width=\"17.136659436008678%\"\u003e\n \u003cp\u003e0.70\u003c/p\u003e\n \u003c/td\u003e\n \u003ctd width=\"21.691973969631235%\"\u003e\n \u003cp\u003e100.00\u003c/p\u003e\n \u003c/td\u003e\n \u003ctd width=\"16.702819956616054%\"\u003e\n \u003cp\u003e100.00\u003c/p\u003e\n \u003c/td\u003e\n \u003ctd width=\"12.79826464208243%\"\u003e\n \u003cp\u003e94.18\u003c/p\u003e\n \u003c/td\u003e\n \u003ctd width=\"15.401301518438178%\"\u003e\n \u003cp\u003e92.10\u003c/p\u003e\n \u003c/td\u003e\n \u003ctd width=\"16.268980477223426%\"\u003e\n \u003cp\u003e75.32\u003c/p\u003e\n \u003c/td\u003e\n \u003c/tr\u003e\n \u003ctr\u003e\n \u003ctd width=\"17.136659436008678%\"\u003e\n \u003cp\u003e0.80\u003c/p\u003e\n \u003c/td\u003e\n \u003ctd width=\"21.691973969631235%\"\u003e\n \u003cp\u003e99.04\u003c/p\u003e\n \u003c/td\u003e\n \u003ctd width=\"16.702819956616054%\"\u003e\n \u003cp\u003e100.00\u003c/p\u003e\n \u003c/td\u003e\n \u003ctd width=\"12.79826464208243%\"\u003e\n \u003cp\u003e93.17\u003c/p\u003e\n \u003c/td\u003e\n \u003ctd width=\"15.401301518438178%\"\u003e\n \u003cp\u003e90.83\u003c/p\u003e\n \u003c/td\u003e\n \u003ctd width=\"16.268980477223426%\"\u003e\n \u003cp\u003e78.87\u003c/p\u003e\n \u003c/td\u003e\n \u003c/tr\u003e\n \u003ctr\u003e\n \u003ctd width=\"17.136659436008678%\"\u003e\n \u003cp\u003e0.90\u003c/p\u003e\n \u003c/td\u003e\n \u003ctd width=\"21.691973969631235%\"\u003e\n \u003cp\u003e98.96\u003c/p\u003e\n \u003c/td\u003e\n \u003ctd width=\"16.702819956616054%\"\u003e\n \u003cp\u003e71.10\u003c/p\u003e\n \u003c/td\u003e\n \u003ctd width=\"12.79826464208243%\"\u003e\n \u003cp\u003e88.98\u003c/p\u003e\n \u003c/td\u003e\n \u003ctd width=\"15.401301518438178%\"\u003e\n \u003cp\u003e89.92\u003c/p\u003e\n \u003c/td\u003e\n \u003ctd width=\"16.268980477223426%\"\u003e\n \u003cp\u003e70.51\u003c/p\u003e\n \u003c/td\u003e\n \u003c/tr\u003e\n \u003ctr\u003e\n \u003ctd width=\"17.136659436008678%\"\u003e\n \u003cp\u003e0.95\u003c/p\u003e\n \u003c/td\u003e\n \u003ctd width=\"21.691973969631235%\"\u003e\n \u003cp\u003e90.20\u003c/p\u003e\n \u003c/td\u003e\n \u003ctd width=\"16.702819956616054%\"\u003e\n \u003cp\u003e48.38\u003c/p\u003e\n \u003c/td\u003e\n \u003ctd width=\"12.79826464208243%\"\u003e\n \u003cp\u003e88.98\u003c/p\u003e\n \u003c/td\u003e\n \u003ctd width=\"15.401301518438178%\"\u003e\n \u003cp\u003e89.74\u003c/p\u003e\n \u003c/td\u003e\n \u003ctd width=\"16.268980477223426%\"\u003e\n \u003cp\u003e60.81\u003c/p\u003e\n \u003c/td\u003e\n \u003c/tr\u003e\n \u003ctr\u003e\n \u003ctd width=\"17.136659436008678%\"\u003e\n \u003cp\u003e0.97\u003c/p\u003e\n \u003c/td\u003e\n \u003ctd width=\"21.691973969631235%\"\u003e\n \u003cp\u003e80.65\u003c/p\u003e\n \u003c/td\u003e\n \u003ctd width=\"16.702819956616054%\"\u003e\n \u003cp\u003e48.38\u003c/p\u003e\n \u003c/td\u003e\n \u003ctd width=\"12.79826464208243%\"\u003e\n \u003cp\u003e82.24\u003c/p\u003e\n \u003c/td\u003e\n \u003ctd width=\"15.401301518438178%\"\u003e\n \u003cp\u003e89.19\u003c/p\u003e\n \u003c/td\u003e\n \u003ctd width=\"16.268980477223426%\"\u003e\n \u003cp\u003e60.90\u003c/p\u003e\n \u003c/td\u003e\n \u003c/tr\u003e\n \u003ctr\u003e\n \u003ctd width=\"17.136659436008678%\"\u003e\n \u003cp\u003e0.99\u003c/p\u003e\n \u003c/td\u003e\n \u003ctd width=\"21.691973969631235%\"\u003e\n \u003cp\u003e57.80\u003c/p\u003e\n \u003c/td\u003e\n \u003ctd width=\"16.702819956616054%\"\u003e\n \u003cp\u003e51.62\u003c/p\u003e\n \u003c/td\u003e\n \u003ctd width=\"12.79826464208243%\"\u003e\n \u003cp\u003e28.42\u003c/p\u003e\n \u003c/td\u003e\n \u003ctd width=\"15.401301518438178%\"\u003e\n \u003cp\u003e89.01\u003c/p\u003e\n \u003c/td\u003e\n \u003ctd width=\"16.268980477223426%\"\u003e\n \u003cp\u003e49.01\u003c/p\u003e\n \u003c/td\u003e\n \u003c/tr\u003e\n \u003c/tbody\u003e\n\u003c/table\u003e\n\u003cp\u003e\u003cbr\u003e\u003c/p\u003e\n\u003cp\u003eTABLE I I Performance Analysis: Inference Time Across Different Machine Learning Models\u003c/p\u003e\n\u003cp\u003e\u003cimg src=\"data:image/png;base64,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\" width=\"532\" height=\"908\"\u003e\u003cbr\u003e\u003c/p\u003e"}],"fulltextSource":"","fullText":"","funders":[],"hasAdminPriorityOnWorkflow":false,"hasManuscriptDocX":true,"hasOptedInToPreprint":true,"hasPassedJournalQc":"","hasAnyPriority":true,"hideJournal":true,"highlight":"","institution":"University of Salford","isAcceptedByJournal":false,"isAuthorSuppliedPdf":false,"isDeskRejected":"","isHiddenFromSearch":false,"isInQc":false,"isInWorkflow":false,"isPdf":false,"isPdfUpToDate":true,"isWithdrawnOrRetracted":false,"journal":{"display":true,"email":"[email protected]","identity":"researchsquare","isNatureJournal":false,"hasQc":true,"allowDirectSubmit":true,"externalIdentity":"","sideBox":"","snPcode":"","submissionUrl":"/submission","title":"Research Square","twitterHandle":"researchsquare","acdcEnabled":true,"dfaEnabled":false,"editorialSystem":"","reportingPortfolio":"","inReviewEnabled":false,"inReviewRevisionsEnabled":true},"keywords":"Edge Computing, Convolutional Neural Networks (CNNs), Pruning, Sparsity, Quantization, Raspberry Pi, Computational Efficiency","lastPublishedDoi":"10.21203/rs.3.rs-4345141/v1","lastPublishedDoiUrl":"https://doi.org/10.21203/rs.3.rs-4345141/v1","license":{"name":"CC BY 4.0","url":"https://creativecommons.org/licenses/by/4.0/"},"manuscriptAbstract":"\u003cp\u003eIn the evolving realm of edge computing, adapting Convolutional Neural Networks (CNNs) for deployment on resource-limited devices like the Raspberry Pi presents significant challenges. This study delves into the effectiveness of pruning techniques and TensorFlow Lite conversion in optimizing CNN models for such platforms, focusing on widely-used datasets such as MNIST, SVHN, 'Horses or Humans', 'Cats vs Dogs', and 'TF Flowers'. Our comprehensive analysis reveals that pruning effectively maintains model accuracy up to a certain level of sparsity, particularly in models like MNIST, where only a marginal decrease in accuracy was observed with increased sparsity. This underscores the delicate balance between model complexity and performance.\u003c/p\u003e\n\u003cp\u003eMoreover, our findings demonstrate notable improvements in inference times following the application of pruning and quantization techniques. This was especially evident in the significant reduction of inference time for the MNIST model, highlighting the feasibility of deploying more efficient CNN models on the Raspberry Pi. These optimizations not only enhance the practicality of using CNNs in resource-constrained environments but also extend their applicability in real-world scenarios. Our study contributes important insights into model optimization for edge devices and lays a foundation for future research, emphasizing the need for tailored approaches in neural network optimization for edge computing.\u003c/p\u003e","manuscriptTitle":"Efficient Convolutional Neural Networks on Raspberry Pi: Enhancing Performance with Pruning and Quantization","msid":"","msnumber":"","nonDraftVersions":[{"code":1,"date":"2024-05-02 17:03:02","doi":"10.21203/rs.3.rs-4345141/v1","editorialEvents":[{"type":"communityComments","content":0}],"status":"published","journal":{"display":true,"email":"[email protected]","identity":"researchsquare","isNatureJournal":false,"hasQc":true,"allowDirectSubmit":true,"externalIdentity":"","sideBox":"","snPcode":"","submissionUrl":"/submission","title":"Research Square","twitterHandle":"researchsquare","acdcEnabled":true,"dfaEnabled":false,"editorialSystem":"","reportingPortfolio":"","inReviewEnabled":false,"inReviewRevisionsEnabled":true}}],"origin":"","ownerIdentity":"7ccbcde5-2b58-4974-9c0a-95fbe773896b","owner":[],"postedDate":"May 2nd, 2024","published":true,"recentEditorialEvents":[],"rejectedJournal":[],"revision":"","amendment":"","status":"posted","subjectAreas":[{"id":31321272,"name":"Artificial Intelligence and Machine Learning"}],"tags":[],"updatedAt":"2024-05-02T17:03:03+00:00","versionOfRecord":[],"versionCreatedAt":"2024-05-02 17:03:02","video":"","vorDoi":"","vorDoiUrl":"","workflowStages":[]},"version":"v1","identity":"rs-4345141","journalConfig":"researchsquare"},"__N_SSP":true},"page":"/article/[identity]/[[...version]]","query":{"redirect":"/article/rs-4345141","identity":"rs-4345141","version":["v1"]},"buildId":"_2-kVJe1T_tPrBINL-cwx","isFallback":false,"isExperimentalCompile":false,"dynamicIds":[84888],"gssp":true,"scriptLoader":[]}

Text is read by the "Ask this paper" AI Q&A widget below. Extraction quality varies by source — PMC NXML preserves structure cleanly, OA-HTML may include some navigation residue, and OA-PDF can have broken hyphenation. The publisher copy (via DOI) is the canonical version.

My notes (saved in your browser only)

Ask this paper AI returns verbatim quotes from the full text · source: preprint-html

Answers must be backed by verbatim quotes from this paper's full text. Hallucinated quotes are dropped automatically; if no verbatim passage answers the question, we say so. How this works

Citation neighborhood (no data yet)

We don't have any in-corpus citations linked to this paper yet. This is a recent paper (2024) — citers typically take a year or two to land, and the OpenAlex reference graph may still be filling in.

Source provenance

europepmc
last seen: 2026-05-20T01:45:00.602351+00:00