{"id":14109310,"url":"https://github.com/Bisonai/awesome-edge-machine-learning","last_synced_at":"2025-08-01T08:31:27.930Z","repository":{"id":37548394,"uuid":"194094333","full_name":"Bisonai/awesome-edge-machine-learning","owner":"Bisonai","description":"A curated list of awesome edge machine learning resources, including research papers, inference engines, challenges, books, meetups and others.","archived":false,"fork":false,"pushed_at":"2023-02-23T11:17:36.000Z","size":138,"stargazers_count":240,"open_issues_count":1,"forks_count":51,"subscribers_count":24,"default_branch":"master","last_synced_at":"2024-05-23T06:07:25.108Z","etag":null,"topics":["auto-ml","awesome-list","edge","edge-deep-learning","edge-machine-learning","efficient-architectures","embedded-machine-learning","federated-learning","iot","mobile-machine-learning","pruning","quantization"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Bisonai.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2019-06-27T12:49:42.000Z","updated_at":"2024-05-14T19:32:17.000Z","dependencies_parsed_at":"2024-01-14T20:58:52.069Z","dependency_job_id":"0c9ef098-4fdc-4f62-b2bc-57f404e0d8eb","html_url":"https://github.com/Bisonai/awesome-edge-machine-learning","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bisonai%2Fawesome-edge-machine-learning","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bisonai%2Fawesome-edge-machine-learning/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bisonai%2Fawesome-edge-machine-learning/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bisonai%2Fawesome-edge-machine-learning/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Bisonai","download_url":"https://codeload.github.com/Bisonai/awesome-edge-machine-learning/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":228351727,"owners_count":17906546,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["auto-ml","awesome-list","edge","edge-deep-learning","edge-machine-learning","efficient-architectures","embedded-machine-learning","federated-learning","iot","mobile-machine-learning","pruning","quantization"],"created_at":"2024-08-14T10:02:13.508Z","updated_at":"2024-12-05T18:31:00.250Z","avatar_url":"https://github.com/Bisonai.png","language":"Python","funding_links":[],"categories":["Related awesome lists","Other Lists"],"sub_categories":["Misc","TeX Lists"],"readme":"# Awesome Edge Machine Learning\n[![Awesome](https://awesome.re/badge-flat2.svg)](https://awesome.re)\n\nA curated list of awesome edge machine learning resources, including research papers, inference engines, challenges, books, meetups and others.\n\n## Table of Contents\n- [Papers](https://github.com/bisonai/awesome-edge-machine-learning#papers)\n\t- [Applications](https://github.com/bisonai/awesome-edge-machine-learning/tree/master/Papers/Applications)\n\t- [AutoML](https://github.com/bisonai/awesome-edge-machine-learning/tree/master/Papers/AutoML)\n\t- [Efficient Architectures](https://github.com/bisonai/awesome-edge-machine-learning/tree/master/Papers/Efficient_Architectures)\n\t- [Federated Learning](https://github.com/bisonai/awesome-edge-machine-learning/tree/master/Papers/Federated_Learning)\n\t- [ML Algorithms For Edge](https://github.com/bisonai/awesome-edge-machine-learning/tree/master/Papers/ML_Algorithms_For_Edge)\n\t- [Network Pruning](https://github.com/bisonai/awesome-edge-machine-learning/tree/master/Papers/Network_Pruning)\n\t- [Others](https://github.com/bisonai/awesome-edge-machine-learning/tree/master/Papers/Others)\n\t- [Quantization](https://github.com/bisonai/awesome-edge-machine-learning/tree/master/Papers/Quantization)\n- [Datasets](https://github.com/bisonai/awesome-edge-machine-learning#datasets)\n- [Inference Engines](https://github.com/bisonai/awesome-edge-machine-learning#inference-engines)\n- [MCU and MPU Software Packages](https://github.com/bisonai/awesome-edge-machine-learning#mcu-and-mpu-software-packages)\n- [AI Chips](https://github.com/bisonai/awesome-edge-machine-learning#ai-chips)\n- [Books](https://github.com/bisonai/awesome-edge-machine-learning#books)\n- [Challenges](https://github.com/bisonai/awesome-edge-machine-learning#challenges)\n- [Other Resources](https://github.com/bisonai/awesome-edge-machine-learning#other-resources)\n- [Contribute](https://github.com/bisonai/awesome-edge-machine-learning#contribute)\n- [LicenseBlock](https://github.com/bisonai/awesome-edge-machine-learning#licenseblock)\n\n## Papers\n### [Applications](https://github.com/bisonai/awesome-edge-machine-learning/tree/master/Papers/Applications)\nThere is a countless number of possible edge machine learning applications. Here, we collect papers that describe specific solutions.\n\n\n### [AutoML](https://github.com/bisonai/awesome-edge-machine-learning/tree/master/Papers/AutoML)\nAutomated machine learning (AutoML) is the process of automating the end-to-end process of applying machine learning to real-world problems.\u003csup\u003e\u003ca href=\"https://en.wikipedia.org/wiki/Automated_machine_learning\" targe=\"_blank\"\u003eWikipedia\u003c/a\u003e\u003c/sup\u003e AutoML is for example used to design new efficient neural architectures with a constraint on a computational budget (defined either as a number of FLOPS or as an inference time measured on real device) or a size of the architecture.\n\n\n### [Efficient Architectures](https://github.com/bisonai/awesome-edge-machine-learning/tree/master/Papers/Efficient_Architectures)\nEfficient architectures represent neural networks with small memory footprint and fast inference time when measured on edge devices.\n\n\n### [Federated Learning](https://github.com/bisonai/awesome-edge-machine-learning/tree/master/Papers/Federated_Learning)\nFederated Learning enables mobile phones to collaboratively learn a shared prediction model while keeping all the training data on device, decoupling the ability to do machine learning from the need to store the data in the cloud.\u003csup\u003e\u003ca href=\"https://ai.googleblog.com/2017/04/federated-learning-collaborative.html\" target=\"_blank\"\u003eGoogle AI blog: Federated Learning\u003c/a\u003e\u003c/sup\u003e\n\n\n### [ML Algorithms For Edge](https://github.com/bisonai/awesome-edge-machine-learning/tree/master/Papers/ML_Algorithms_For_Edge)\nStandard machine learning algorithms are not always able to run on edge devices due to large computational requirements and space complexity. This section introduces optimized machine learning algorithms.\n\n\n### [Network Pruning](https://github.com/bisonai/awesome-edge-machine-learning/tree/master/Papers/Network_Pruning)\nPruning is a common method to derive a compact network – after training, some structural portion of the parameters is removed, along with its associated computations.\u003csup\u003e\u003ca href=\"http://jankautz.com/publications/Importance4NNPruning_CVPR19.pdf\" target=\"_blank\"\u003eImportance Estimation for Neural Network Pruning\u003c/a\u003e\u003c/sup\u003e\n\n\n### [Others](https://github.com/bisonai/awesome-edge-machine-learning/tree/master/Papers/Others)\nThis section contains papers that are related to edge machine learning but are not part of any major group. These papers often deal with deployment issues (i.e. optimizing inference on target platform).\n\n\n### [Quantization](https://github.com/bisonai/awesome-edge-machine-learning/tree/master/Papers/Quantization)\nQuantization is the process of reducing a precision (from 32 bit floating point into lower bit depth representations) of weights and/or activations in a neural network. The advantages of this method are reduced model size and faster model inference on hardware that support arithmetic operations in lower precision.\n\n\n## Datasets\n### [Visual Wake Words Dataset](https://arxiv.org/abs/1906.05721)\nVisual Wake Words represents a common microcontroller vision use-case of identifying whether a person is present in the image or not, and provides a realistic benchmark for tiny vision models. Within a limited memory footprint of 250 KB, several state-of-the-art mobile models achieve accuracy of 85-90% on the Visual Wake Words dataset.\n\n\n## Inference Engines\nList of machine learning inference engines and APIs that are optimized for execution and/or training on edge devices.\n\n### Arm Compute Library\n- Source code: [https://github.com/ARM-software/ComputeLibrary](https://github.com/ARM-software/ComputeLibrary)\n- Arm\n\n### Bender\n- Source code: [https://github.com/xmartlabs/Bender](https://github.com/xmartlabs/Bender)\n- Documentation: [https://xmartlabs.github.io/Bender/](https://xmartlabs.github.io/Bender/)\n- Xmartlabs\n\n### Caffe 2\n- Source code: [https://github.com/pytorch/pytorch/tree/master/caffe2](https://github.com/pytorch/pytorch/tree/master/caffe2)\n- Documentation: [https://caffe2.ai/](https://caffe2.ai/)\n- Facebook\n\n### CoreML\n- Documentation: [https://developer.apple.com/documentation/coreml](https://developer.apple.com/documentation/coreml)\n- Apple\n\n### Deeplearning4j\n- Documentation: [https://deeplearning4j.org/docs/latest/deeplearning4j-android](https://deeplearning4j.org/docs/latest/deeplearning4j-android)\n- Skymind\n\n### Embedded Learning Library\n- Source code: [https://github.com/Microsoft/ELL](https://github.com/Microsoft/ELL)\n- Documentation: [https://microsoft.github.io/ELL](https://microsoft.github.io/ELL)\n- Microsoft\n\n### Feather CNN\n- Source code: [https://github.com/Tencent/FeatherCNN](https://github.com/Tencent/FeatherCNN)\n- Tencent\n\n### MACE\n- Source code: [https://github.com/XiaoMi/mace](https://github.com/XiaoMi/mace)\n- Documentation: [https://mace.readthedocs.io/](https://mace.readthedocs.io/)\n- XiaoMi\n\n### MNN\n- Source code: [https://github.com/alibaba/MNN](https://github.com/alibaba/MNN)\n- Alibaba\n\n### MXNet\n- Documentation: [https://mxnet.incubator.apache.org/versions/master/faq/smart_device.html](https://mxnet.incubator.apache.org/versions/master/faq/smart_device.html)\n- Amazon\n\n### NCNN\n- Source code: [https://github.com/tencent/ncnn](https://github.com/tencent/ncnn)\n- Tencent\n\n### Neural Networks API\n- Documentation: [https://developer.android.com/ndk/guides/neuralnetworks/](https://developer.android.com/ndk/guides/neuralnetworks/)\n- Google\n\n### Paddle Mobile\n- Source code: [https://github.com/PaddlePaddle/paddle-mobile](https://github.com/PaddlePaddle/paddle-mobile)\n- Baidu\n\n### Qualcomm Neural Processing SDK for AI\n- Source code: [https://developer.qualcomm.com/software/qualcomm-neural-processing-sdk](https://developer.qualcomm.com/software/qualcomm-neural-processing-sdk)\n- Qualcomm\n\n### Tengine\n- Source code: [https://github.com/OAID/Tengine](https://github.com/OAID/Tengine)\n- OAID\n\n### TensorFlow Lite\n- Source code: [https://github.com/tensorflow/tensorflow/tree/master/tensorflow/lite](https://github.com/tensorflow/tensorflow/tree/master/tensorflow/lite)\n- Documentation: [https://www.tensorflow.org/lite/](https://www.tensorflow.org/lite/)\n- Google\n\n### dabnn\n- Source code: [https://github.com/JDAI-CV/dabnn](https://github.com/JDAI-CV/dabnn)\n- JDAI Computer Vision\n\n## MCU and MPU Software Packages\nList of software packages for AI development on MCU and MPU\n\n### [FP-AI-Sensing](https://www.st.com/content/st_com/en/products/embedded-software/mcu-mpu-embedded-software/stm32-embedded-software/stm32-ode-function-pack-sw/fp-ai-sensing1.html)\nSTM32Cube function pack for ultra-low power IoT node with artificial intelligence (AI) application based on audio and motion sensing\n\n### [FP-AI-VISION1](https://www.st.com/content/st_com/en/products/embedded-software/mcu-mpu-embedded-software/stm32-embedded-software/stm32cube-expansion-packages/fp-ai-vision1.html)\nFP-AI-VISION1 is an STM32Cube function pack featuring examples of computer vision applications based on Convolutional Neural Network (CNN)\n\n### [Processor SDK Linux for AM57x](http://www.ti.com/tool/SITARA-MACHINE-LEARNING)\nTIDL software framework leverages a highly optimized neural network implementation on TI’s Sitara AM57x processors, making use of hardware acceleration on the device\n\n### [X-LINUX-AI-CV](https://www.st.com/content/st_com/en/products/embedded-software/mcu-mpu-embedded-software/stm32-embedded-software/stm32-mpu-openstlinux-expansion-packages/x-linux-ai-cv.html)\nX-LINUX-AI-CV is an STM32 MPU OpenSTLinux Expansion Package that targets Artificial Intelligence for computer vision applications based on Convolutional Neural Network (CNN)\n\n### [e-AI Checker](https://www.renesas.com/jp/en/solutions/key-technology/e-ai/tool.html)\nBased on the output result from the translator, the ROM/RAM mounting size and the inference execution processing time are calculated while referring to the information of the selected MCU/MPU\n\n### [e-AI Translator](https://www.renesas.com/jp/en/solutions/key-technology/e-ai/tool.html)\nTool for converting  Caffe and TensorFlow models to MCU/MPU development environment\n\n### [eIQ Auto deep learning (DL) toolkit](https://www.nxp.com/design/software/development-software/eiq-auto-dl-toolkit:EIQ-AUTO)\nThe NXP eIQ™ Auto deep learning (DL) toolkit enables developers to introduce DL algorithms into their applications and to continue satisfying automotive standards\n\n### [eIQ ML Software Development Environment](https://www.nxp.com/design/software/development-software/eiq-ml-development-environment:EIQ)\nThe NXP® eIQ™ machine learning software development environment enables the use of ML algorithms on NXP MCUs, i.MX RT crossover MCUs, and i.MX family SoCs. eIQ software includes inference engines, neural network compilers and optimized libraries\n\n### [eIQ™ Software for Arm® NN Inference Engine](https://www.nxp.com/design/software/development-software/eiq-ml-development-environment/eiq-software-for-arm-nn-inference-engine:eIQArmNN)\n\n### [eIQ™ for Arm® CMSIS-NN](https://www.nxp.com/design/software/development-software/eiq-ml-development-environment/eiq-for-arm-cmsis-nn:eIQArmCMSISNN)\n\n### [eIQ™ for Glow Neural Network Compiler](https://www.nxp.com/design/software/development-software/eiq-ml-development-environment/eiq-for-glow-neural-network-compiler:eIQ-Glow)\n\n### [eIQ™ for TensorFlow Lite](https://www.nxp.com/design/software/development-software/eiq-ml-development-environment/eiq-for-tensorflow-lite:eIQTensorFlowLite)\n\n## AI Chips\nList of resources about AI Chips\n\n### [AI Chip (ICs and IPs)](https://github.com/basicmi/AI-Chip)\nA list of ICs and IPs for AI, Machine Learning and Deep Learning\n\n## Books\nList of books with focus on on-device (e.g., edge or mobile) machine learning.\n\n### [TinyML: Machine Learning with TensorFlow on Arduino, and Ultra-Low Power Micro-Controllers](http://shop.oreilly.com/product/0636920254508.do)\n- Authors: Pete Warden, Daniel Situnayake\n- Published: 2020\n\n### [Machine Learning by Tutorials: Beginning machine learning for Apple and iOS](https://store.raywenderlich.com/products/machine-learning-by-tutorials)\n- Author: Matthijs Hollemans\n- Published: 2019\n\n### [Core ML Survival Guide](https://leanpub.com/coreml-survival-guide)\n- Author: Matthijs Hollemans\n- Published: 2018\n\n### [Building Mobile Applications with TensorFlow](https://www.oreilly.com/library/view/building-mobile-applications/9781491988435/)\n- Author: Pete Warden\n- Published: 2017\n\n## Challenges\n### [Low Power Recognition Challenge (LPIRC)](https://rebootingcomputing.ieee.org/lpirc)\nCompetition with focus on the best vision solutions that can simultaneously achieve high accuracy in computer vision and energy efficiency. LPIRC is regularly held during computer vision conferences (CVPR, ICCV and others) since 2015 and the winners’ solutions have already improved 24 times in the ratio of accuracy divided by energy.\n\n- [Online Track](https://rebootingcomputing.ieee.org/lpirc/online-track)\n\n- [Onsite Track](https://rebootingcomputing.ieee.org/lpirc/onsite-track)\n\n\n## Other Resources\n### [Awesome EMDL](https://github.com/EMDL/awesome-emdl)\n\nEmbedded and mobile deep learning research resources\n\n### [Awesome Pruning](https://github.com/he-y/Awesome-Pruning)\n\nA curated list of neural network pruning resources\n\n### [Efficient DNNs](https://github.com/MingSun-Tse/EfficientDNNs)\n\nCollection of recent methods on DNN compression and acceleration\n\n### [Machine Think](https://machinethink.net/)\n\nMachine learning tutorials targeted for iOS devices\n\n### [Pete Warden's blog](https://petewarden.com/)\n\n\n\n## Contribute\nUnlike other awesome list, we are storing data in \u003ca href=\"https://en.wikipedia.org/wiki/YAML\"\u003eYAML\u003c/a\u003e format and markdown files are generated with `awesome.py` script.\n\nEvery directory contains `data.yaml` which stores data we want to display and `config.yaml` which stores its metadata (e.g. way of sorting data). The way how data will be presented is defined in `renderer.py`.\n\n\n## LicenseBlock\n[![CC0](http://mirrors.creativecommons.org/presskit/buttons/88x31/svg/cc-zero.svg)](https://creativecommons.org/publicdomain/zero/1.0/)\n\nTo the extent possible under law, [Bisonai](https://bisonai.com/) has waived all copyright and related or neighboring rights to this work.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FBisonai%2Fawesome-edge-machine-learning","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FBisonai%2Fawesome-edge-machine-learning","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FBisonai%2Fawesome-edge-machine-learning/lists"}