Ga naar hoofdinhoud

Jobs

Het implementeren van modellen en pipelines in Cordatus is een snel en eenvoudig proces dat maar een paar klikken vereist. Elke implementatie wordt beheerd als een onafhankelijke Job-instantie. Inference-analyses en alarmen worden voor elke job apart bijgehouden en opgeslagen.

Cordatus gebruikt de NVIDIA DeepStream SDK voor Intelligent Video Analytics. De DeepStream-versie kan per apparaat verschillen, wat kleine verschillen kan veroorzaken in de mogelijkheden van Cordatus.


Een nieuwe job starten

Het implementatieproces is exact hetzelfde voor gebruiksklare modellen, aangepaste modellen en pipelines in Cordatus.

Belangrijke opmerkingen

  • U kunt meerdere jobinstanties aanmaken vanuit één model of pipeline
  • Een job kan inference uitvoeren op meerdere camerastreams binnen de licentiecapaciteit van uw apparaat

NOTE: Zorg er, voordat u een model implementeert, voor dat u minstens één actieve camera en clientapparaat aan Cordatus hebt toegevoegd. Zie de secties Camera en Device voor gedetailleerde instructies.

Stappen om een job te starten

  1. Ga naar de pagina AI PlatformAI Workflow in het linkermenu van de Web App.
  2. Als u een job wilt starten met één model, kunt u een model selecteren of via de afspeelknop ernaast naar het opstartscherm gaan.
  3. U komt terecht op het scherm Select a Device. Selecteer hier het apparaat waarop u de job wilt starten en klik daarna op de knop Select Device.
  4. Voer de jobvereisten in:

Vereisten

VeldBeschrijving
Job NameGeef uw job een naam. De job wordt in de analyseschermen met deze naam geïdentificeerd.
Camera SelectionSelecteer de camera('s) waarop u uw job wilt starten. U kunt de pagina Cameras bezoeken om camera's toe te voegen.
Model Assignment MatrixMet deze matrix kunt u selecteren welk model op welke camera draait.
Dit scherm verschijnt alleen als u meerdere modellen selecteert. Als u één model selecteert, verschijnt dit scherm niet.
Computing DeviceAls uw geselecteerde apparaat gereed is, ziet u rechts het bericht Device Ready.
GPU ConfigurationWanneer u meerdere GPU's hebt, worden deze hier vermeld. U kunt selecteren op welke GPU u deze job wilt starten.
Add Alarm (Optional)U kunt bij het starten van uw job modelgebaseerde alarmen toevoegen. Deze alarmen moeten vooraf gedefinieerd zijn. U kunt hiervoor de pagina Alarms raadplegen.
Schedule Job (Optional)Als u wilt dat de job op specifieke tijden start en stopt, kunt u uw job plannen.
  1. Klik daarna op de knop Start Job om de job te starten.

Eerste implementatie

INFO: Wanneer een job voor de eerste keer op een apparaat wordt geïmplementeerd, kan het proces enige tijd duren, afhankelijk van het apparaat en de internetsnelheid. Tijdens de eerste implementatie downloadt en installeert de client de 35 GB inference engine op het apparaat. Gebruikers kunnen de downloadvoortgang volgen door op het downloadicoon in de rechterbovenhoek van de Client-interface te klikken. Zodra dit is voltooid, start de job automatisch.

Als het model nog niet eerder is gedownload, downloadt en bouwt Cordatus het model, verbindt het de camera's en start het het inference-proces. Wanneer een job voor het eerst wordt gestart, kunnen het bouwen en downloaden van het model enige tijd in beslag nemen, afhankelijk van het apparaat en de internetsnelheid. Daarna wordt een gebouwd en gedownload model niet opnieuw gebouwd.

NOTE: Een nieuwe job kan alleen worden gestart vanuit de Web App. U kunt een job echter wel herstarten, stoppen of verwijderen vanuit de Client.

Streampagina

Op de streampagina kunt u uw inference-videobeelden in real time bekijken. Acties die u op deze pagina kunt uitvoeren:

  1. Metrics-icoon (rechtsboven): Bekijk apparaatmetrics voor de inference-job
  2. Detection Results-schakelaar (midden): Zet de weergave van inference-resultaten aan/uit
  3. View Mode (rechtsonder): Schakel tussen picture-in-picture en volledig scherm
  4. Pause/Play-icoon (linksonder): Stop of vervolg de video
  5. All Detections (onderste balk): Bekijk de tijdsperiodes waarin Cordatus objecten heeft gedetecteerd

Jobopties Een job bekijken

Streamdetails

U kunt meer details over de stream bekijken door op het grafiekicoon in de rechterbovenhoek van het scherm te klikken. In het geopende paneel kunt u het volgende controleren:

  • Framerate (FPS)
  • Bitrate
  • Bandbreedte
  • Resolutie

Streamdetails Streamdetails


Een job stoppen

U kunt een job stoppen door in de Web App op de knop Stop onder de kolom Actions te klikken. Cordatus stopt de job, maar verwijdert de job en de bijbehorende gegevens niet. Zo kunt u de job later opnieuw starten.

Een job stoppen Een job stoppen

U kunt een job ook stoppen door op de stopknop in de Client te klikken.

Een job stoppen Een job stoppen op de Client


Een job herstarten

U kunt een job starten in de status Stopped of Error. Zie de sectie Job Status Codes voor meer informatie over statuscodes van jobs.

Een job herstarten in de Web App

Klik op de knop Run onder de kolom Actions.

Een job herstarten Een job herstarten

Een job herstarten in de Client

Klik op de knop Run onder de kolom Actions.

Een job herstarten Een job herstarten op de Client


Een job verwijderen

U kunt een job verwijderen door op de knop Delete onder de kolom Actions te klikken.

Een job verwijderen Een job verwijderen

U kunt de job ook verwijderen op de Client door op de knop Delete onder de kolom Actions in de jobrij te klikken.

Een job verwijderen Een job verwijderen op de Client

WARNING: Deze actie verwijdert de job en alle bijbehorende inference-analysegegevens permanent van het clientapparaat. Deze actie kan niet ongedaan worden gemaakt zodra deze is uitgevoerd. Het verwijderen van de job heeft geen invloed op het geïmplementeerde model of de pipeline.


Statuscodes van jobs

Cordatus kent gedurende hun levenscyclus verschillende statussen toe aan jobs. Deze statuscodes geven informatie over of de job naar verwachting draait. Statuscodes worden weergegeven in de eerste kolom van de jobrij, met het label "Status".

StatusBeschrijving
Downloading ModelHet model wordt naar het apparaat gedownload. Komt voor tijdens de eerste implementatie.
BuildingKomt alleen voor bij de eerste keer starten van het model. De inference engine bouwt het model of de pipeline.
Preparing EngineDe pipeline wordt opgezet en de engine wordt gestart.
Warming UpDe engine is gereed, de pipeline wordt voorbereid en verbonden met de camera's.
RunningDe job draait zoals verwacht.
StoppedDe gebruiker heeft de job handmatig gestopt.
ErrorEr is een fout opgetreden tijdens de uitvoering van de job. Zie de sectie troubleshooting voor mogelijke problemen.

Statuscodes Statuscodes


Pipeline Profiler

Elke actieve job wordt geleverd met een geïntegreerde Pipeline Profiler die voortdurend de gezondheid en prestaties van de DeepStream-pipeline meet. Deze koppelt lichte probes aan elke belangrijke fase van de pipeline (batchvorming, inference, tracker, OSD, framecapture, sink, …) en rapporteert latentie per fase, batchbenutting, doorvoer per bron, framedropratio en de status van actieve camera's.

De profiler is standaard ingeschakeld en vernieuwt zijn metrics elke 2 seconden, zodat deze kan worden gebruikt voor live probleemoplossing zonder dat de job opnieuw moet worden gestart.

NOTE: De profiler is bewust lichtgewicht gehouden en meet alleen de kloktijd op bestaande GStreamer-pads — hij introduceert geen extra GPU-belasting en heeft geen meetbaar effect op de inference-doorvoer.

Toegang tot de profiler

De profiler wordt door de inference engine beschikbaar gesteld via de lokale API van de job. Het interactieve dashboard is de aanbevolen manier om een actieve job te inspecteren.

EndpointTypeBeschrijving
/dashboardHTMLInteractief webdashboard met KPI's, grafieken, tegels per bron en een cameratijdlijn.
/profiler/jsonJSONGestructureerde momentopname van de profiler (gebruikt door het dashboard, ook nuttig voor scripting).
/profilerPlatte tekstLeesbaar tekstrapport — handig voor snelle inspectie met curl of het vastleggen van logs.

U kunt het dashboard openen door direct naar de /dashboard-URL van de engine te navigeren op het apparaat waarop de job draait, of door het te openen vanuit het contextmenu van de job in de Client.

PLACEHOLDER (image): Schermafbeelding van het Client-menu/de knop die wordt gebruikt om het profilerdashboard voor een actieve job te openen (bijv. de entry dashboard_menu.png).

Overzicht van het dashboard

Het dashboard is verdeeld in vier gebieden: een jobinfobalk, KPI-kaarten, tijdreeksgrafieken en gedetailleerde tabellen.

Dashboardoverzicht

Jobinfobalk

De bovenste balk geeft aan welke job de profiler momenteel observeert. Deze bevat de Job Name, Child Job ID, Parent Job ID, Device Label, Platform en de gebruikte DeepStream-versie. Gebruik dit om te bevestigen dat u naar de juiste job kijkt, vooral wanneer er meerdere jobs op hetzelfde apparaat draaien.

KPI-kaarten

De KPI-rij biedt in één oogopslag een samenvatting van de huidige gezondheid van de pipeline:

KPIBeschrijving
FPS InAantal frames per seconde dat de inference-batch binnenkomt (som over alle bronnen).
FPS OutAantal frames per seconde dat de pipeline verlaat bij de laatste capturefase.
Frame DropPercentage frames dat verloren gaat tussen de invoer- en uitvoerfase van de pipeline.
Active SourcesAantal bronnen dat in het huidige meetvenster ten minste één frame heeft geleverd.
WindowLengte (in seconden) van het huidige meetvenster. Tellers worden gereset aan het einde van elk venster.

KPI

Geschiedenis van de doorvoer

Een live grafiek plot FPS In en FPS Out in de tijd. Een blijvende kloof tussen de twee lijnen duidt erop dat er ergens in de pipeline frames verloren gaan — meestal een teken van een overbelaste GPU of een trage downstream-fase.

Geschiedenis van de doorvoer

Tijdlijn van camerastatus

Elke geregistreerde camera wordt weergegeven als een eigen rij in de tijdlijn, met kleurcodering op basis van status (PLAYING, PENDING, FAILED, DEAD, …), zodat u onmiddellijk sporadische verbindingsonderbrekingen, herhaalde retry-pogingen of bronnen die nooit online zijn gekomen kunt herkennen. Het paneel is scrollbaar en aanpasbaar in grootte om jobs met veel camera's te ondersteunen.

Tijdlijn van camerastatus

Gedetailleerde tabellen

Onder de grafieken toont het dashboard de onderliggende ruwe metrics:

Latenties per fase

Voor elke geprobeerde fase van de pipeline (bijv. mux_infer_src, infer_chain_out, gie_*_out, tracker_out, osd_probe, frame_capture, …) rapporteert de profiler:

  • Gemiddelde/Std/Min/Max-aankomsttijd tussen buffers in milliseconden
  • Aantal verwerkte batches en frames
  • Gemiddelde batchgrootte

Gebruik deze tabel om te bepalen welke fase het meest bijdraagt aan de totale latentie. Een piek in de gemiddelde latentie van gie_*_out wijst bijvoorbeeld op de inference engine zelf, terwijl een piek in frame_capture doorgaans op de encoder/sink wijst.

Latenties per fase

Doorvoer per bron

Elke bron wordt afzonderlijk vermeld met het aantal frames, de huidige FPS en de gemiddelde/min/max aankomsttijd tussen frames in milliseconden. Deze weergave is bijzonder nuttig wanneer één specifieke camera de gehele pipeline vertraagt.

Doorvoer per bron

Overhead van probe-uitvoering

Cordatus verpakt zijn eigen pad-probes (metadata-extractie, alarmevaluatie, OSD-tekening, framecapture, …) zodat de profiler kan meten hoeveel CPU-tijd elke callback verbruikt. De tabel toont de gemiddelde/std/min/max-uitvoeringstijd per aanroep, het totale aantal aanroepen en de totale kloktijd die in de callback is doorgebracht. Als een aangepaste probe de pipeline vertraagt, komt dit hier naar voren.

Overhead van probe-uitvoering

Actieve camera's

Een gedetailleerd overzicht van elke geregistreerde bron: bron-ID, naam, GStreamer-status, timeout-/max-timeout-teller, drop-/max-retry-teller, retry-interval en de bron-URL. Camera's die in het huidige venster een frame hebben ontvangen, worden als actief gemarkeerd. Dit is de meest nuttige tabel bij het diagnosticeren van uitgevallen of opnieuw verbindende camera's.

Actieve camera's

Dashboardbediening

De koptekst van het dashboard biedt twee bedieningselementen:

  • Refresh interval selector — schakel het polling-interval tussen 1 s, 2 s, 5 s en 10 s. Lagere waarden geven een responsiever dashboard tegen de prijs van iets meer netwerkverkeer.
  • Pause/Resume-knop — bevriest het dashboard tijdelijk, zodat u een momentopname in detail kunt inspecteren zonder dat deze door de volgende polling wordt overschreven.

Dashboardbediening

De profiler gebruiken voor probleemoplossing

De profiler is het nuttigst wanneer er iets mis lijkt te zijn met een job. Enkele veelvoorkomende patronen:

  • Uitgaande FPS lager dan ingaande FPS, groeiend Frame Drop-percentage — de pipeline kan het niet bijhouden. Controleer de tabel Stage Latencies op de traagste fase en ga vervolgens naar Per-Source Throughput om te zien of de belasting ongelijk verdeeld is over de camera's.
  • Een camera gemarkeerd als verloren of met een groeiende retry-teller — controleer de tabel Active Cameras voor de betreffende bron-ID. Het retry-interval en de drop-max-retry-waarden die hier worden weergegeven, zijn dezelfde waarden die door de reconnect-logica van de engine worden gebruikt.
  • Hoge gemiddelde uitvoeringstijd bij een probe — wijst doorgaans op een aangepaste alarm- of analyse-callback. De tabel Probe Execution Overhead laat zien om welke het gaat.
  • Aankomsttijd tussen frames per bron veel hoger dan verwacht — de camera zelf levert frames traag (netwerk- of codecprobleem), niet de inference-pipeline.

De interface gebruiken

De pagina Jobs biedt gebruiksvriendelijke functies om de algehele ervaring te verbeteren.

Jobinformatie

Op deze pagina hebt u toegang tot gedetailleerde informatie over uw jobs: U kunt de bewerkknop rechtsboven gebruiken om kolommen te openen en te sluiten.

  • Status: Huidige status van de job
  • Job Name: Naam van de job
  • Applications: Gebruikte model(len)
  • Cameras: Verbonden camera's
  • Device: Apparaat waarop de job draait
  • Container Name: Gebruikte inference engine
  • Initialized At: Starttijd
  • Last Updated: Tijdstip van laatste update

Jobspagina Jobspagina

U kunt dezelfde functies gebruiken op de Client (behalve de apparaatnaam, omdat u al de jobs van dat apparaat bekijkt).

Jobspagina Jobspagina op de Client

Zoekfunctie

U kunt specifieke jobs eenvoudig vinden door de jobnaam in te voeren in het zoekvak in de rechterbovenhoek van het scherm.

Job zoeken

Hetzelfde zoekvak is ook beschikbaar op de Client.

Job zoeken

Sorteren

U kunt uw jobs sorteren op relevante kolomgegevens door op de kolomkoppen te klikken. Deze functie is beschikbaar op zowel de Client als de Web App.

Onderliggende jobs

Wanneer u in de Web App op een job klikt, wordt onderaan de pagina een nieuwe modal geopend met de onderliggende jobs die bij de geselecteerde job horen. In deze modal kunt u:

  • De jobgeschiedenis bekijken (hoe vaak de job is gestart)
  • Informatie opvragen over onderliggende jobs (hun statussen, start- en eindtijden)
  • Onderliggende jobs verwijderen door op het verwijdericoon onder de kolom Actions te klikken

Onderliggende jobs Onderliggende jobs in de Web App

Wanneer u op de Client op een job klikt, wordt dezelfde modal in het midden van het scherm geopend met dezelfde functionaliteiten.

Onderliggende jobs Onderliggende jobs op de Client


Ondersteunde versies

PlatformOS / L4TJetPackAGX ThorAGX Orin IndustrialAGX OrinOrin NXOrin NanoXavier SeriesTX2 Series
ARM64 (Jetson)L4T 38.2JetPack 7.0✔️
ARM64 (Jetson)L4T 36.4.4JetPack 6.2.1✔️✔️✔️✔️
ARM64 (Jetson)L4T 36.2JetPack 6.0✔️✔️✔️✔️
ARM64 (Jetson)L4T 35.6.2JetPack 5.1.5✔️✔️✔️✔️✔️
ARM64 (Jetson)L4T 35.4.1JetPack 5.1.2✔️✔️✔️✔️✔️
ARM64 (Jetson)L4T 35.3.1JetPack 5.1.1✔️✔️✔️✔️
ARM64 (Jetson)L4T 35.2.1JetPack 5.1✔️ (32GB)✔️ (16GB)✔️
ARM64 (Jetson)L4T 35.1JetPack 5.0.2✔️ (32GB)✔️
ARM64 (Jetson)L4T 32.7.6JetPack 4.6.6✔️✔️
ARM64 (Jetson)L4T 32.7.1JetPack 4.6.1✔️✔️
x86_64Ubuntu 22.04
x86_64Ubuntu 24.04

Voor gedetailleerde informatie over de op uw apparaat geïnstalleerde DeepStream-versie kunt u de pagina NVIDIA DeepStream SDK bezoeken.


Copyright © 2025 Cordatus.