For more information on this work, please read our preprint on alphaXiv or arXiv.
- install python packages using requirement.txt
- Run
python analysis_optimization.py. Please check the following parameters:
usage: analysis_optimization.py [-h] [-m M] [-p P] [-c1 C1] [-c2 C2] [--log LOG]
options:
-h, --help show this help message and exit
-m M Model: MBV2-w0.35; MN2-vww5; MN2-320K
-p P Problem: [P1, P2, vanilla, heuristic]
-c1 C1 specify the constraint set for the optimization problem P1: F_max. format: n1, n2...n_N
-c2 C2 specify the constraint set for the optimization problem P2: P_max in kB. format: n1, n2...n_N
--log LOG Log LevelThe experiments were conducted via RIOT-ML. To reproduce the results it is required to get RIOT-ML ready.
- Go get a IoT board e.g. STM32 nucleo-f767zi. Connect the IoT board to your PC.
- Clone the RIOT-ML from https://github.com/TinyPART/RIOT-ML/.
- Follow the Prequisites section, install all necessary packages and toolchains.
- Copy
msf_cnn_eval_hardware.py,main.candmsf_CNN_eval_modelsto the RIOT-ML directory. - Run
python msf_cnn_eval_hardware.pyunder the RIOT-ML directory. - Grab some coffee and wait for the results written in
msf_cnn_HIL_eval_result_{board}.json:).