π€ esp32-process-success-predictor Tagline: Lightweight neural network for predicting process success on ESP32-based systems.
π§ Model Summary This model is designed for microcontrollers like the ESP32. It predicts the likelihood of success or failure for embedded tasks or processes based on sensor input or operational parameters.
Framework: TensorFlow Lite
Optimized for: Embedded deployment (ESP32, low-memory environments)
Input: Vector of process/task-specific features (e.g., Heap values, Default cpu temperature, Wifi attributes etc.)
Output: Score based prediction
ποΈ Intended Use Predict process outcomes in automation, robotics, or real-time control systems.
Deploy in constrained environments (under 1.2MB flash, < 300KB RAM).
Integrate with OTA update strategies and on-device decision-making.
π How to Use Checkout the following:
Link Note: Variable(s) name(s) in esp32-process-success-predictor-model.cc may differ on the sample code.
π¦ Files Included esp32-process-success-predictor.keras: Full Keras model
esp32-process-success-predictor.tflite: TensorFlow Lite version for microcontroller inference
esp32-process-success-predictor-model.cc: This can be directly used in ESP-IDF environment.
π§ͺ Training Info Epochs: 5
Accuracy: ~98.9%
Loss: ~0.025 on validation set
Dataset: Synthetic data set based on 3 years of data internally generated.
How to use the model? Input Attributes: battery_level,heap_largest_free_block,free_heap_size,wifi_rssi,cpu_temperature,is_charging Important: all these variables need to be set between 0 and 1 to get best results.
Definition and Convertion of values:
battery_level: adc_cali_raw_to_voltage() give the value in voltage. Depending upon the range, divide the output of this function by maximum voltage. if value is > 1.0 set it to 0.99 (Reference)
heap_largest_free_block: Assuming 32KB of heap as minimum requirement and maximum of 64K is requied to do an https call for OTA update of 1.2 MB size. Divide the number by 65536.0 If the value is > 1.0 give it 1.0 or 0.99. if value from function is < 32KB, set it to 0 Note: Depending upon the usecase, 32kb-64kb requirement may vary. The goal here is to adjust the value within the range. A low heap warning can be issued. Check Sample
free_heap_size: Assumption is 80KB to 100KB requirement. More than 100kb is good so set it to 1 less than 80KB let the value remain.
wifi_rssi: -30 to -67 range is considered. > -30 is must be 0 or near to 0 and < -67 must also be set to 0
cpu_temperature: Range 10-80 degrees. Above and below this range will result in low score with Temperature warning.
is_charging: if charging keep it as 1 else 0
Next Release: Including probe data attributes from chip. Stay tuned!
Contact us:Contact us
π License Apache 2.0
- Downloads last month
- 14