Skip to content

Quick Start

This guide walks you from "nothing installed" to a published validation session in roughly five minutes. The profiler is always operated against an EdgeFirst Studio session.

1. Install the profiler

The recommended convenience path is pip. The wheel ships the same native binary the platform installers deliver, and pulls in the few Python-side helpers needed for end-to-end workflows. Platform installers are provided for environments where Python is not available.

pip install edgefirst-profiler
curl -fsSL https://raw.githubusercontent.com/EdgeFirstAI/profiler-cli/main/install.sh | bash
irm https://raw.githubusercontent.com/EdgeFirstAI/profiler-cli/main/install.ps1 | iex

Confirm the install:

edgefirst-profiler --version

For per-target details (NPU delegates, runtime libraries, hardware-specific quirks) see the installation guides.

2. Sign in to EdgeFirst Studio

edgefirst-profiler login

The interactive prompt asks for server, username, and password. The credentials are saved to ~/.config/edgefirststudio/token and refresh automatically while you are using the profiler. For headless / CI flows, see Connecting to EdgeFirst Studio.

3. Launch the TUI

Running edgefirst-profiler with no subcommand launches the interactive terminal UI. Any explicit subcommand — validate, login, publish, report — bypasses the TUI and runs headlessly.

edgefirst-profiler

The TUI opens on the F1 Help screen, which lists the keybindings and the four screens available to you:

EdgeFirst Profiler — F1 Help screen, shown on launch
EdgeFirst Profiler — F1 Help screen, shown on launch

Four function keys switch between screens:

Key Screen Purpose
F1 Help Keybindings and a short orientation — the landing screen
F2 Studio Sign in to EdgeFirst Studio, browse projects, run validation sessions
F3 Files Browse the local filesystem
F4 Profiler Configure and run a profiling pass with a live dashboard

Press q to quit (disabled while typing into form fields). Ctrl-C always quits.

4. Run a validation session

The profiler is operated against a Studio validation session. Both paths produce the same Studio session card and the same set of accuracy charts.

Press F2 to switch to the Studio screen. If you are not signed in, the login form appears first.

F2 Studio — login form
F2 Studio — login form

Once signed in, navigate the explorer:

Projects  →  Experiments  →  Training Sessions  →  Artifacts
F2 Studio — explorer drilling into a training session
F2 Studio — explorer drilling into a training session

Each artifact is prefixed with a coloured dot indicating whether it can be deployed on the current host:

Indicator Status Meaning Example artifacts
Green Deployable Format recognized and all runtime requirements met on this host. .onnx (Generic ONNX), .tflite (Generic TFLite)
Orange Conditions not confirmed Known deployable format for a specific target, but the required hardware, runtime, or accelerator was not detected. .hef (Hailo-8L runtime absent), .dvm (NXP Ara240 not present), .engine (no CUDA host), .imx95.tflite (different SoC)
Red Not deployable Supporting file, archive, or unrecognized format — not a model the profiler can run directly. labels.txt, _saved_model.zip, .tensorrt.zip

Select an artifact and choose Validate. The profiler creates a new validation session in Studio, downloads anything missing, jumps to F4 Profiler, and starts the run.

F2 Studio — confirming Validate against a model artifact
F2 Studio — confirming Validate against a model artifact

The F4 dashboard streams iteration-level latency, system metrics, and per-stage timings while the run executes:

EdgeFirst Profiler — F4 dashboard during a run
EdgeFirst Profiler — F4 dashboard during a run

When the run finishes, a completion summary shows the headline numbers and the path to the trace file. The artifacts upload to Studio automatically and the cloud validator is triggered.

╔═ Profiling Complete ═════════════════════════════╗
║                                                  ║
║  Iterations: 100                                 ║
║                                                  ║
║  Mean:  43.76 ms                                 ║
║  P95:   44.12 ms                                 ║
║  P99:   44.51 ms                                 ║
║  Min:   43.21 ms  Max: 45.03 ms                  ║
║                                                  ║
║  Trace: ./results/trace.pftrace                  ║
║                                                  ║
║  [Enter] Dismiss                                 ║
╚══════════════════════════════════════════════════╝

For the full walkthrough see Validation from the Profiler.

Path B — start from Studio

Create a user-managed validation session in the Studio web UI (instructions). Make a note of the session ID, then on the target:

edgefirst-profiler validate --session-id v-1ce9

The profiler runs headlessly, prints progress bars for download/inference/upload, emits a formatted Session Report to stdout, and publishes results to Studio when the run completes.

5. View the results in Studio

Both paths land you at the same place: the validation session card in EdgeFirst Studio. The card shows progress while the cloud validator runs, then surfaces the accuracy charts and trace viewer when it completes.

EdgeFirst Studio — trace viewer on a completed validation session, showing pipeline stages and per-operator timing
EdgeFirst Studio — trace viewer on a completed validation session, showing pipeline stages and per-operator timing

See Object Detection Metrics and Segmentation Metrics for the metrics reference.

Next steps

  • Profile on edge hardware. The convenience install path works on desktop hosts and most target boards. Embedded targets with NPU/GPU acceleration have a few extra knobs — pick your target from the installation guides.
  • Pick the right Studio path. Validation from Studio (session created in the web UI) versus Validation from the Profiler (session created from the TUI).
  • Connect to a different Studio. See Connecting to EdgeFirst Studio for test / stage / saas server selection and headless credential handling.