Different between classifier and transfer learning

I successfully uploaded and ran the classifier library from Edge Impulse on my device without issues. However, when I switched the learning block to transfer learning and deployed the new library, the device could not run it properly, it keeps rebooting. This suggests the transfer learning model is too large or demanding for the device’s memory and processing limits, unlike the smaller classifier model which works fine. whats different between transfer learning and classifier(classification)

Hello @iddahmadihah first of all welcome to the Edge Impulse community!

Did you try to follow the suggestions from our docs Transfer learning (images) - Edge Impulse Documentation ?

Please do share more details of the hardware that you are using, and the resulting model sizes to understand more the issues that you have!

Thanks

1 Like

Hello @marcpous , thank you for your reply!

Here are the details of my setup:

Question/Issue:
When I run a Transfer Learning (image) model on my ESP32-S3 Vision Module, the device keeps rebooting during inference. A simple classifier model works fine, so I suspect the TL model is too heavy for the available memory.

Context/Use case:
I am working on deploying an image classification model (left, right, stop signs, , etc.) onto the AiRobotik ESP32-S3 Vision Module. The goal is to run real-time classification directly on the device.

Steps Taken:

  1. Trained both a Classifier (Image Classifier block) and a Transfer Learning (Image) model in Edge Impulse.
  2. Successfully deployed and ran the Classifier model on the ESP32-S3 without issues.
  3. Switched to Transfer Learning and deployed to the same device → device reboots during inference.

Expected Outcome:
The Transfer Learning model should run inference smoothly on the ESP32-S3 module.

Actual Outcome:
The ESP32-S3 Vision Module reboots immediately after starting inference with the Transfer Learning model.

Hardware:

  • Board: AiRobotik ESP32-S3 Vision Module (ESP32-S3 with integrated camera)
    *Internal RAM: 512KB
  • Flash: 8MB
  • PSRAM: 8MB (enabled)
  • Partition Scheme: Huge APP (3MB No OTA / 1MB SPIFFS)
  • Arduino IDE 2.3.6 with ESP32 board package 2.0.17

Model info:

  • Classifier model works fine without reboot.
  • Transfer Learning model after deployment:
    • RAM: ~334.6 KB
    • Flash: 536.0KB
  • Input image size: 96×96 GRAYSCALE

Do you suggest reducing image size further (e.g. 48×48), switching to int8 quantized model, or another optimization to make it stable on this device?

Thanks again for the support!