LogoLogo
HomeDocsAPIProjectsForum
  • Getting Started
    • For beginners
    • For ML practitioners
    • For embedded engineers
  • Frequently asked questions
  • Tutorials
    • End-to-end tutorials
      • Continuous motion recognition
      • Responding to your voice
      • Recognize sounds from audio
      • Adding sight to your sensors
        • Collecting image data from the Studio
        • Collecting image data with your mobile phone
        • Collecting image data with the OpenMV Cam H7 Plus
      • Object detection
        • Detect objects using MobileNet SSD
        • Detect objects with FOMO
      • Sensor fusion
      • Sensor fusion using Embeddings
      • Processing PPG input with HR/HRV Features Block
      • Industrial Anomaly Detection on Arduino® Opta® PLC
    • Advanced inferencing
      • Continuous audio sampling
      • Multi-impulse
      • Count objects using FOMO
    • API examples
      • Running jobs using the API
      • Python API Bindings Example
      • Customize the EON Tuner
      • Ingest multi-labeled data using the API
      • Trigger connected board data sampling
    • ML & data engineering
      • EI Python SDK
        • Using the Edge Impulse Python SDK with TensorFlow and Keras
        • Using the Edge Impulse Python SDK to run EON Tuner
        • Using the Edge Impulse Python SDK with Hugging Face
        • Using the Edge Impulse Python SDK with Weights & Biases
        • Using the Edge Impulse Python SDK with SageMaker Studio
        • Using the Edge Impulse Python SDK to upload and download data
      • Label image data using GPT-4o
      • Label audio data using your existing models
      • Generate synthetic datasets
        • Generate image datasets using Dall·E
        • Generate keyword spotting datasets
        • Generate physics simulation datasets
        • Generate audio datasets using Eleven Labs
      • FOMO self-attention
    • Lifecycle Management
      • CI/CD with GitHub Actions
      • OTA Model Updates
        • with Nordic Thingy53 and the Edge Impulse APP
      • Data Aquisition from S3 Object Store - Golioth on AI
    • Expert network projects
  • Edge Impulse Studio
    • Organization hub
      • Users
      • Data campaigns
      • Data
      • Data transformation
      • Upload portals
      • Custom blocks
        • Transformation blocks
        • Deployment blocks
          • Deployment metadata spec
      • Health Reference Design
        • Synchronizing clinical data with a bucket
        • Validating clinical data
        • Querying clinical data
        • Transforming clinical data
        • Buildling data pipelines
    • Project dashboard
      • Select AI Hardware
    • Devices
    • Data acquisition
      • Uploader
      • Data explorer
      • Data sources
      • Synthetic data
      • Labeling queue
      • AI labeling
      • CSV Wizard (Time-series)
      • Multi-label (Time-series)
      • Tabular data (Pre-processed & Non-time-series)
      • Metadata
      • Auto-labeler [Deprecated]
    • Impulse design & Experiments
    • Bring your own model (BYOM)
    • Processing blocks
      • Raw data
      • Flatten
      • Image
      • Spectral features
      • Spectrogram
      • Audio MFE
      • Audio MFCC
      • Audio Syntiant
      • IMU Syntiant
      • HR/HRV features
      • Building custom processing blocks
        • Hosting custom DSP blocks
      • Feature explorer
    • Learning blocks
      • Classification (Keras)
      • Anomaly detection (K-means)
      • Anomaly detection (GMM)
      • Visual anomaly detection (FOMO-AD)
      • Regression (Keras)
      • Transfer learning (Images)
      • Transfer learning (Keyword Spotting)
      • Object detection (Images)
        • MobileNetV2 SSD FPN
        • FOMO: Object detection for constrained devices
      • NVIDIA TAO (Object detection & Images)
      • Classical ML
      • Community learn blocks
      • Expert Mode
      • Custom learning blocks
    • EON Tuner
      • Search space
    • Retrain model
    • Live classification
    • Model testing
    • Performance calibration
    • Deployment
      • EON Compiler
      • Custom deployment blocks
    • Versioning
  • Tools
    • API and SDK references
    • Edge Impulse CLI
      • Installation
      • Serial daemon
      • Uploader
      • Data forwarder
      • Impulse runner
      • Blocks
      • Himax flash tool
    • Edge Impulse for Linux
      • Linux Node.js SDK
      • Linux Go SDK
      • Linux C++ SDK
      • Linux Python SDK
      • Flex delegates
    • Edge Impulse Python SDK
  • Run inference
    • C++ library
      • As a generic C++ library
      • On your desktop computer
      • On your Zephyr-based Nordic Semiconductor development board
    • Linux EIM Executable
    • WebAssembly
      • Through WebAssembly (Node.js)
      • Through WebAssembly (browser)
    • Docker container
    • Edge Impulse firmwares
  • Edge AI Hardware
    • Overview
    • MCU
      • Nordic Semi nRF52840 DK
      • Nordic Semi nRF5340 DK
      • Nordic Semi nRF9160 DK
      • Nordic Semi nRF9161 DK
      • Nordic Semi nRF9151 DK
      • Nordic Semi nRF7002 DK
      • Nordic Semi Thingy:53
      • Nordic Semi Thingy:91
    • CPU
      • macOS
      • Linux x86_64
    • Mobile Phone
    • Porting Guide
  • Integrations
    • Arduino Machine Learning Tools
    • NVIDIA Omniverse
    • Embedded IDEs - Open-CMSIS
    • Scailable
    • Weights & Biases
  • Pre-built datasets
    • Continuous gestures
    • Running faucet
    • Keyword spotting
    • LiteRT (Tensorflow Lite) reference models
  • Tips & Tricks
    • Increasing model performance
    • Data augmentation
    • Inference performance metrics
    • Optimize compute time
    • Adding parameters to custom blocks
    • Combine Impulses
  • Concepts
    • Glossary
    • Data Engineering
      • Audio Feature Extraction
      • Motion Feature Extraction
    • ML Concepts
      • Neural Networks
        • Layers
        • Activation Functions
        • Loss Functions
        • Optimizers
          • Learned Optimizer (VeLO)
        • Epochs
      • Evaluation Metrics
    • Edge AI
      • Introduction to edge AI
      • What is edge computing?
      • What is machine learning (ML)?
      • What is edge AI?
      • How to choose an edge AI device
      • Edge AI lifecycle
      • What is edge MLOps?
      • What is Edge Impulse?
      • Case study: Izoelektro smart grid monitoring
      • Test and certification
    • What is embedded ML, anyway?
    • What is edge machine learning (edge ML)?
Powered by GitBook
On this page
  • How Do I Enable Expert Mode?
  • What Can I Do in Expert Mode?
  • Limitations
  • Conclusion
  1. Edge Impulse Studio
  2. Learning blocks

Expert Mode

PreviousCommunity learn blocksNextCustom learning blocks

Last updated 6 months ago

Expert Mode is designed for users with advanced knowledge of machine learning and , offering greater control over model customization. This mode is useful when working on complex models or when you need specific adjustments beyond the pre-built learning blocks in Edge Impulse Studio. It's also great if you want to copy and paste existing models or code for quick modifications.

If you have expertise in machine learning and Keras, you can switch to Expert Mode to access the entire and bring in your models or custom architectures:

Already got a trained model?

Bring your own model or BYOM allows you to profile, optimize and deploy your own pretrained model (TensorFlow SavedModel, ONNX, or LiteRT (previously Tensorflow Lite)) to any edge device, directly from your Edge Impulse project.

How Do I Enable Expert Mode?

To enable Expert Mode in Edge Impulse:

  1. Navigate to the model configuration page in Edge Impulse Studio.

  2. Click on the "⋮" button (three vertical dots) to open the options menu.

  3. Toggle the "Expert Mode" option.

Once enabled, you can access and modify the full Keras code for your model. This unlocks advanced customization features, allowing you to train your model to meet specific requirements.

What Can I Do in Expert Mode?

In Expert Mode, you have access to a wide range of advanced features, including:

  • Custom Architectures: Use the full Keras API to create and modify neural network architectures. This includes changing loss functions, optimizers, and printing model architectures.

Limitations

For security reasons, network access is not enabled for jobs triggered by learning blocks, so external pre-trained weights cannot be fetched. Enterprise users can contact their solution engineer if network access is needed.

Conclusion

This advanced level of customization accelerates experimentation and ensures models are precisely optimized to meet the specific constraints and demands of each project.

Examples are available in the sub-pages of the .

If you already have a trained model, you can bring this model to Edge Impulse using our .

Early Stopping Callback: Prevent overfitting by setting up early stopping callbacks, with control over parameters such as monitor, min_delta, patience, and restore_best_weights. .

Object Weighting for FOMO: Adjust the weighting of object output cells in the loss function, particularly useful for rare object detection scenarios. .

MobileNet Cut Point Adjustment: Customize cut points in the MobileNetV2 architecture to modify spatial reduction and model capacity. .

FOMO Classifier Capacity Enhancement: Increase the capacity of the FOMO classifier by adding layers or increasing filters. .

Transfer Learning Adjustments: Customize the final layers of pre-trained models like MobileNetV1 for specific tasks, such as audio or image classification. .

Activation Functions: Implement custom activation functions to enhance model performance. .

Optimizer Customization: Integrate advanced optimizers like VeLO for superior training efficiency. .

Loss Function Customization: Define and implement custom loss functions tailored to your specific problem. .

Epoch Management: Control the number of training cycles and apply early stopping techniques to optimize training time and model accuracy. .

Expert Mode provides ML experts access and flexibility to fine-tune their machine-learning models for optimal performance. By accessing the ,users can customize every aspect of their models, including architecture design, loss functions, and optimizers. Features such as early stopping, object weighting, and MobileNet cut-point adjustment enable the creation of highly specialized models tailored to their unique project requirements.

ML concepts articles
BYOM feature
Learn more about Early Stopping
Expert Mode Tips for FOMO
MobileNet Cut Point Adjustment
Enhance FOMO Classifier
Learn more about Transfer Learning
Implementing Activation Functions
Using VeLO Optimizer
Customizing Loss Functions
Epoch Management
Keras API
Keras
Keras API
Switch to expert mode
NN expert mode