Skip to main content

AI Apps and Models

NE503 runs AI apps through a container runtime, with built-in model management. AI apps must declare the models they depend on — once selected, the models auto-load when the app starts, and each model card shows which apps reference it. Non-AI apps (e.g., pure video recording) don't need model permissions. This chapter covers apps first, then models.

Applications

Go to the Applications page: search and status filters at the top, app cards below, and an Import card in the top-right to install new apps.

App List and Filters

  • Search box: search by container name or image name.
  • Status filter: All / Installed / Running / Stopped / Failed — quickly locate a category of apps.
  • Each app card shows: running status, name, version, real-time CPU / memory usage.

App Actions

Each app card provides:

ButtonAction
Stop / RestartStop / restart the app
LogsView runtime logs
ConsoleOpen a shell inside the container (for debugging)
Visit AppOpen the app's own web UI (e.g., AI Model Showcase)
UninstallRemove the app

Install a New App (6-Step Wizard)

Click the Import card to launch the Application Setup Wizard (6 steps). The images below show Step 1 (Source) and the final Review page:

Wizard Step 1 SourceWizard Review Confirmation

Step 1 · Source

SourceDescription
Registry ImagePull from Docker Hub or a private registry; enter the Image Address
Upload ArchiveUpload a local .tar / .tar.gz image file
Upload PackageUpload an app.yaml manifest + image as a complete config package

Step 2 · Basic Info

  • Application ID: unique identifier, cannot be changed after creation
  • Application Name / Version / Description: display and notes

Step 3 · Resources

  • CPU Limit: CPU cap (%)
  • Memory Limit: memory cap
  • Auto-start on boot: start automatically on boot
  • Restart Policy: restart-on-failure policy

Step 4 · Permissions

This is the most important step — it determines which platform capabilities the app can use.

Permission groupEffect
AI Models AccessCheck the inference models the app may call (see Models below)
Max Inference QPSCap the app's inferences per second to prevent NPU hogging
Max Concurrent InferenceCap the number of concurrent inferences
Allow Dynamic Model RegistrationLet the app discover and register models at runtime
Video Stream PermissionsCheck the streams the app can use (main / sub / third, each annotated with resolution and frame rate)
Event Publish / Subscribe TopicsEvent Bus topics to publish / subscribe (comma-separated, e.g., app/output, camera/*)
Network ModeIsolated (no network) / Host (share host network)
Device ControlHardware control grants: Light Control (IR fill), IR Cut Filter, PTZ Control, Lens Control

Once Device Control is granted, the app can drive the lens and IR programmatically via the SDK.

Step 5 · Advanced

  • Environment Variables: key-value environment variables
  • Volumes: storage volume mounts

Both optional; add as the app requires.

Step 6 · Review

A summary of the previous five steps. Confirm and click Install. After installation, the app appears in the list (initially Stopped); click the start button on its card to run it.

Models

Go to the Models page to view and manage inference models. The device comes with multiple built-in model types (object detection, OCR, semantic segmentation, keypoints, depth estimation, CLIP zero-shot, image classification, etc.); the actual list depends on the device.

Model List

Each model card shows: load status (Loaded / Not Loaded), how many apps reference it (X Apps), ID, type, input size, file size, path, and Load / Unload / Detail / Delete actions.

Scan and Import

  • Scan Models: scan the /data/aipc/models/ directory to auto-register new .hef models.
  • Import: a two-step import — Step 1 upload the .hef file, Step 2 fill in Model ID / Model Type / Threshold and other config.

Load and Unload

A model must be Loaded onto the NPU before it can be used for inference:

  • If an app declares a model in its Permissions, the model is loaded automatically when the app starts.
  • You can also Load / Unload manually on this page.
  • Delete removes the model file; Unload only releases it from the NPU without deleting the file.

Model Detail and Threshold Tuning

Click Detail to open the model detail dialog. Key fields:

FieldDescription
Model ID / TypeIdentifier and type (detection / ocr / segmentation…)
Input SizeThe input resolution the model requires. Note: the platform preprocessing pipeline outputs a fixed 384×640 NV12 format — a mismatched input size produces no inference results
File Size / PathSize and path of the .hef file
ThresholdInference threshold (adjustable) — raise it to reduce false positives (risk missing detections); lower it for the opposite
Estimated TOPS / MemoryEstimated inference compute and memory footprint
Load TimeWhen the model was last loaded
Used By AppsReverse reference — which apps depend on this model