- This repository provides all the source code written for the paper
Optimizing Medical Image Classification Models for Edge Devices
.
AndroidBenchmarkingApp
: Contains Android Application for benchmarking model performance on Android devices.
model_optimization
: Contains source code and weights for post training optimizations and qunatization aware training. It also contains code for performance evaluation (AUC-ROC score) of models.
inference_timing
: Contains source code for calculating inference time on devices (other than Android, for that use AndroidBenchmarkingApp
)
-
Change
NIH_14_DATASET_PATH
in all the notebooks insidemodel_optimization
directory accordingly. This code assumes that NIH 14 datset is extracted asNIH_14
inside themodel_optimization
directory. -
test_images
insideinference_timimg
directory is radomly sampled from main dataset. Their sole purpose is to calculate timings. -
weights
directory insidemodel_optimization
contains all the weights used for this paper. One can directly use it or make their own with the help ofquantize_models.ipynb
notebook. The name of weight files are self explanatory. -
Weight file inside
./AndroidBenchmarkingApp/app/src/main/assets
are the same as in./model_optimization/weights
and maps as:QAT_int_8_v1.tflite
:INT8.tflite
chexnet_kaggle_tflite_dynamic_quantization.tflite
:dynamic_quantization.tflite
chexnet_kaggle_tflite_fp16.tflite
:FP16.tflite
- Contributors are encouraged to open github issue and send their merge requests.
Areeba Abid (Emory University School of Medicine)
Priyanshu Sinha (Mentor Graphics India Pvt Ltd)