πŸ€– 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:

  1. 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)

  2. 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

  3. 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.

  4. 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

  5. cpu_temperature: Range 10-80 degrees. Above and below this range will result in low score with Temperature warning.

  6. 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
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support