Update README.md
This commit is contained in:
parent
ebb4a9f685
commit
ab23ee50f0
75
README.md
75
README.md
|
|
@ -35,18 +35,13 @@ RIA_Example/
|
|||
│ └── example_model.onnx # Exported ONNX model (Screens / Application Packager input)
|
||||
│
|
||||
├── applications/
|
||||
│ └── example_application.json # Application Composer output (Application Packager)
|
||||
│ └── example_application.json # Application Composer output, can be built in RIA Screens (Application Packager)
|
||||
│
|
||||
├── screens-apps/
|
||||
│ └── zone-fingerprinting/
|
||||
│ ├── manifest.json # Screens app manifest
|
||||
│ ├── zone_fingerprint.onnx # ONNX model for this app
|
||||
│ └── zone-fingerprinting.tar.gz # Packaged app (upload directly to Screens)
|
||||
|
||||
│
|
||||
├── workflows/
|
||||
│ ├── train.yaml # Example Model Trainer workflow (committed to .riahub/workflows/)
|
||||
│ ├── hpo.yaml # Example HPO workflow
|
||||
│ └── compression.yaml # Example Compression workflow
|
||||
|
||||
│
|
||||
└── curator-configs/
|
||||
└── example_curator_config.json # Example curation configuration for the Curator tool
|
||||
|
|
@ -237,38 +232,16 @@ The application JSON format is documented in `schemas/application/ria_applicatio
|
|||
| `native-x86` | Standard x86 Linux deployment |
|
||||
| `native-arm64` | ARM edge devices |
|
||||
| `nvidia-x86` | GPU-accelerated inference on x86 |
|
||||
| `RIA Screens` | Web based runtime environment to monitor app |
|
||||
|
||||
|
||||
---
|
||||
|
||||
### Screens
|
||||
|
||||
Screens deploys a packaged RF inference application to a live pipeline. You upload a `.tar.gz` app package, configure a data source (live SDR, file playback, or synthetic), and start the pipeline. Results stream back to the browser in real time.
|
||||
Screens deploys a packaged RF inference application to a live pipeline. You build an app from Application Composer, configure a data source (live SDR, file playback, or synthetic), and start the pipeline. Results stream back to the browser in real time.
|
||||
|
||||
**Example files:** `screens-apps/zone-fingerprinting/zone-fingerprinting.tar.gz`
|
||||
|
||||
#### Uploading and running the Zone Fingerprinting demo
|
||||
|
||||
The Zone Fingerprinting app classifies RF devices in real time into five device classes (three authorized, two unauthorized) using an ONNX model and a 128-feature IQ preprocessor.
|
||||
|
||||
**Steps:**
|
||||
1. Go to **Screens** and click **New App**.
|
||||
2. Give it a name (e.g. `Zone Fingerprinting Demo`) and click **Create**.
|
||||
3. On the app page, click **Upload Package** and upload `zone-fingerprinting.tar.gz`.
|
||||
4. The app is now configured. To run it with a synthetic signal (no hardware needed):
|
||||
- The default `manifest.json` uses `dataSource.type: synthetic` — no changes required.
|
||||
5. Click **Start**. The inference pipeline starts and begins streaming results.
|
||||
6. The dashboard shows:
|
||||
- Live classification scores per device class
|
||||
- Confidence threshold control
|
||||
- Spectrogram panel
|
||||
- Preprocessor feature monitor
|
||||
- Event log
|
||||
|
||||
**To run with a real SDR (PlutoSDR):**
|
||||
1. Ensure your SDR device is connected and detected.
|
||||
2. Edit the app configuration and change `dataSource.type` to `sdr` with your device identifier.
|
||||
3. Set `center_frequency`, `sample_rate`, and `gain` to match your signal of interest.
|
||||
4. Click **Restart**.
|
||||
|
||||
#### App package format
|
||||
|
||||
|
|
@ -276,7 +249,6 @@ A Screens app package is a `.tar.gz` containing:
|
|||
- `manifest.json` — describes the app (models, GUI layout, data source, preprocessor)
|
||||
- ONNX model file(s) at the path(s) listed in `manifest.models[].path`
|
||||
|
||||
See `screens-apps/zone-fingerprinting/manifest.json` for a complete annotated example. The full manifest schema is at `schemas/screens/app_manifest.schema.json`.
|
||||
|
||||
**Data source types:**
|
||||
|
||||
|
|
@ -325,41 +297,6 @@ dataset.h5
|
|||
└── attrs # Dataset-level attributes: name, version, radio_task, backend
|
||||
```
|
||||
|
||||
### Screens App Manifest (`manifest.json`)
|
||||
|
||||
```json
|
||||
{
|
||||
"name": "My App",
|
||||
"version": "1.0.0",
|
||||
"description": "Brief description",
|
||||
"author": "Your Name",
|
||||
"models": [
|
||||
{
|
||||
"name": "classifier",
|
||||
"path": "model.onnx",
|
||||
"backend": "onnxrt-cpu"
|
||||
}
|
||||
],
|
||||
"preprocess": "magnitude_phase_window_stats",
|
||||
"dataSource": {
|
||||
"type": "synthetic",
|
||||
"params": {
|
||||
"sample_rate": 1000000,
|
||||
"center_frequency": 915000000,
|
||||
"buffer_size": 1024
|
||||
}
|
||||
},
|
||||
"components": [
|
||||
{
|
||||
"component": "BackendInferenceOutput",
|
||||
"props": { "modelName": "classifier", "topK": 3 }
|
||||
}
|
||||
],
|
||||
"config": {
|
||||
"confidence_threshold": 0.75
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Application JSON (`application.json`)
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user