diff --git a/README.md b/README.md index 91aa42d..d6e891c 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ We provide *Edge2Train* (E2T) algorithm for all Arduino IDE-supported MCUs. E2T ### Datasets -We converted all the listed datasets into MCU executable *.h* files and placed them inside the E2T folder. The datasets 1 to 3 are used for training binary SVM classifiers on MCUs using *Edge2Train*. The users have to uncomment their dataset of choice (header file at the beginning of the main algorithm program) to use it when training on MCUs. +We converted all the listed datasets into MCU executable *.h* files and placed them inside the E2T folder. The datasets 1 to 3 are used for training binary SVM classifiers on MCUs using *Edge2Train*. The users have to uncomment their dataset of choice (header file at the beginning of the main algorithm program) to use it when training and inference on MCUs. 1. [Iris Flowers](https://archive.ics.uci.edu/ml/datasets/iris "Google's Homepage") (4 features, 3 classes, 150 samples): Using E2T, we train a binary classifier to distinguish Iris Setosa from other flowers based on the input features. 2. [Breast Cancer](https://www.kaggle.com/uciml/breast-cancer-wisconsin-data) (30 features, 2 classes, 569 samples): Here we train a binary classifier that can find the class names (malignant or benign) based on the input features. @@ -14,15 +14,18 @@ We converted all the listed datasets into MCU executable *.h* files and placed t ### MCU boards -Using Arduino IDE we upload the E2T algorithm along with the selected dataset on the following popular boards and trained binary classifiers on MCUs. +Using Arduino IDE we upload the E2T algorithm along with the selected/uncommented dataset on the following popular boards and trained binary classifiers on MCUs. -1. [nRF52840 Adafruit Feather](https://www.adafruit.com/product/4062): ARM Cortex-M4 @64MHz, 1MB Flash, 256KB SRAM -2. [STM32f103c8 Blue Pill](https://stm32-base.org/boards/STM32F103C8T6-Blue-Pill.html): ARM Cortex-M0 @72MHz, 128KB Flash, 20KB SRAM -3. [Generic ESP32](https://www.espressif.com/en/products/devkits): Xtensa LX6 @240MHz, 4MB Flash, 520KB SRAM -4. [ATSAMD21G18 Adafruit METRO](https://www.adafruit.com/product/3505): ARM Cortex-M0+ @48 MHz, 256kB Flash, 32KB SRAM +1. [nRF52840 Adafruit Feather](https://www.adafruit.com/product/4062): ARM Cortex-M4 @64MHz, 1MB Flash, 256KB SRAM. +2. [STM32f103c8 Blue Pill](https://stm32-base.org/boards/STM32F103C8T6-Blue-Pill.html): ARM Cortex-M0 @72MHz, 128KB Flash, 20KB SRAM. +3. [Generic ESP32](https://www.espressif.com/en/products/devkits): Xtensa LX6 @240MHz, 4MB Flash, 520KB SRAM. +4. [ATSAMD21G18 Adafruit METRO](https://www.adafruit.com/product/3505): ARM Cortex-M0+ @48 MHz, 256kB Flash, 32KB SRAM. +## Edge2train Performance Evaluation -**Tip:** When first time training SVMs on MCUs using E2T, we recommend users to use better resource boards like ESP32 and Adafruit Feather nrf52, then move on to using the tiny ones like Arduino Nano, Uno, etc. +After training we compare the accuracy, power consumed and inference time of our Edge2Trained models with Python Scikit learn models on high-resource CPUs. The CPU1 is a standard Ubuntu laptop with Intel (R) Core (TM) i7-5500 CPU @ 2.40 GHz. CPU2 is a Windows laptop with Intel (R) Core (TM) i7-8650U CPU @ 1.90 GHz. + +**Tip:** When first time training SVMs on MCUs using E2T, we recommend to use better resource boards like ESP32 and Adafruit Feather nrf52, then move on to using the tiny ones like Arduino Nano, Uno, etc. If the code is useful, please consider citing *Edge2Train* paper using the BibTex entry below. @@ -30,7 +33,7 @@ If the code is useful, please consider citing *Edge2Train* paper using the BibTe @inproceedings{sudharsan2020edge2train, title={Edge2train: a framework to train machine learning models (svms) on resource-constrained iot edge devices}, author={Sudharsan, Bharath and Breslin, John G and Ali, Muhammad Intizar}, - booktitle={Proceedings of the 10th International Conference on the Internet of Things}, + booktitle={Proceedings of the 10th International Conference on the Internet of Things (IoT’20)}, year={2020} } ```