> ## Documentation Index
> Fetch the complete documentation index at: https://docs.thistle.tech/llms.txt
> Use this file to discover all available pages before exploring further.

# Edge Impulse

> Secure model verification for Edge Impulse image classification models

Edge Impulse models (e.g., `.eim`) are loaded via the SDK's
`ImageImpulseRunner`. With the
[secure loader](/update/get_started/secure_model_verification#secure-loader-module-thistle_secure_loaderpy),
verification happens before the model is initialized:

```python theme={"dark"}
from edge_impulse_linux.image import ImageImpulseRunner
from thistle_secure_loader import secure_load

def edge_impulse_loader(path: str):
    runner = ImageImpulseRunner(path)
    runner.init()
    return runner

MODEL_PATH = "modelfile.eim"

runner = secure_load(MODEL_PATH, edge_impulse_loader)
print("Edge Impulse model verified and ready.")
```

The `secure_load` call verifies the `.eim` file's signature using `tuc` before
passing it to `ImageImpulseRunner`. If the signature check fails, a
`ModelVerificationError` is raised and the model is never loaded.

### Requirements

```txt theme={"dark"}
edge-impulse-linux>=1.0.0
PyAudio>=0.2.14                # required by edge_impulse_linux (audio submodule loaded on import)
opencv-python>=4.5.1,<5        # required by edge_impulse_linux (image processing)
```
