Ana içeriğe geç

İşler

Cordatus'ta model ve pipeline dağıtımı, sadece birkaç tıklamayla tamamlanan hızlı ve kolay bir süreçtir. Her dağıtım, bağımsız bir Job örneği olarak yönetilir. Inference analitiği ve alarmlar her iş için ayrı ayrı takip edilir ve saklanır.

Cordatus, Intelligent Video Analytics için NVIDIA DeepStream SDK kullanır. DeepStream sürümü cihazlar arasında farklılık gösterebilir ve bu durum Cordatus'un yeteneklerinde küçük farklılıklar oluşturabilir.


Yeni Bir Job Başlatma

Dağıtım süreci, Cordatus'taki kullanıma hazır modeller, özel modeller ve pipeline'lar için tamamen aynıdır.

Önemli Notlar

  • Bir modelden veya pipeline'dan birden fazla iş örneği oluşturabilirsiniz
  • Bir iş, cihazınızın lisans kapasitesi dahilinde birden fazla kamera stream'i üzerinde inference gerçekleştirebilir

NOTE: Bir modeli dağıtmadan önce, Cordatus'a en az bir aktif kamera ve client cihazı eklediğinizden emin olun. Ayrıntılı talimatlar için Camera ve Device bağlantı bölümlerine bakın.

Job Başlatma Adımları

  1. Web App'in sol kenar çubuğundan AI PlatformAI Workflow sayfasına gidin.
  2. Tek bir modelle bir iş başlatmak isterseniz, bir model seçebilir veya yanındaki oynat butonuyla başlatma ekranına gidebilirsiniz.
  3. Select a Device ekranıyla karşılaşacaksınız. Bu ekran üzerinden işi başlatmak istediğiniz cihazı seçin, ardından Select Device butonuna tıklayın.
  4. İş gereksinimlerini girin:

Gereksinimler

AlanAçıklama
Job Nameİşinize bir isim verin. İş, analitik ekranlarında bu isimle tanımlanacaktır.
Camera Selectionİşinizi başlatmak istediğiniz kamera(lar)ı seçin. Kamera eklemek için Cameras sayfasını ziyaret edebilirsiniz.
Model Assignment MatrixBu matris, hangi modelin hangi kamerada çalışacağını seçmenizi sağlar.
Bu ekran yalnızca birden fazla model seçtiğinizde görünür. Tek bir model seçerseniz bu ekran görünmez.
Computing DeviceSeçilen cihazınız hazırsa, sağda Device Ready mesajını göreceksiniz.
GPU ConfigurationBirden fazla GPU'nuz olduğunda, burada listelenecektir. Bu işi hangi GPU üzerinde başlatmak istediğinizi seçebilirsiniz.
Add Alarm (Optional)İşinizi başlatırken Model-Based Alarms ekleyebilirsiniz. Bu alarmların önceden tanımlanmış olması gerekir. Bunun için Alarms sayfasını takip edebilirsiniz.
Schedule Job (Optional)İşin belirli zamanlarda çalışmasını ve durmasını istiyorsanız, işinizi zamanlayabilirsiniz.
  1. Ardından işi başlatmak için Start Job butonuna tıklayın.

İlk Dağıtım

INFO: Bir cihazda ilk kez bir iş dağıtırken, süreç cihaza ve internet hızına bağlı olarak zaman alabilir. İlk dağıtım sırasında, client 35GB'lık inference motorunu cihaza indirip yükleyecektir. Kullanıcılar, Client arayüzünün sağ üst köşesindeki indirme simgesine tıklayarak indirme ilerlemesini takip edebilir. Tamamlandığında, iş otomatik olarak başlayacaktır.

Model daha önce indirilmemişse, Cordatus modeli indirecek, oluşturacak, kameraları bağlayacak ve inference sürecini başlatacaktır. Bir iş ilk kez başlatıldığında, model oluşturma ve indirme bölümleri cihaza ve internet hızına bağlı olarak biraz zaman alabilir. Bundan sonra, oluşturulmuş ve indirilmiş bir model tekrar oluşturulmayacaktır.

NOTE: Yeni bir iş yalnızca Web App üzerinden başlatılabilir. Ancak, bir işi Client üzerinden yeniden başlatabilir, durdurabilir veya silebilirsiniz.

Stream Sayfası

Stream sayfasında, inference edilmiş video görünümlerinizi gerçek zamanlı olarak izleyebilirsiniz. Bu sayfada gerçekleştirebileceğiniz işlemler:

  1. Metrics Icon (sağ üst): Inference işi için cihaz metriklerini görüntüleyin
  2. Detection Results Toggle (Orta): Inference sonuçlarının görüntülenmesini açın/kapatın
  3. View Mode (sağ alt): Picture-in-picture ve tam ekran modu arasında geçiş yapın
  4. Pause/Play Icon (sol alt): Videoyu durdurun veya devam ettirin
  5. All Detections (alt çubuk): Cordatus'un nesne tespit ettiği zaman periyotlarını görüntüleyin

Job Options Viewing a Job

Stream Ayrıntıları

Ekranın sağ üst köşesindeki grafik simgesine tıklayarak stream hakkında daha fazla ayrıntı görebilirsiniz. Açılan panelde şunları kontrol edebilirsiniz:

  • Kare hızı (FPS)
  • Bit hızı (bitrate)
  • Bant genişliği
  • Çözünürlük

Stream Details Stream Details


Bir Job'ı Durdurma

Web App'te Actions sütunu altındaki Stop butonuna tıklayarak bir işi durdurabilirsiniz. Cordatus işi durduracak ancak işi ve ilgili verileri silmeyecektir. Bu şekilde, işi daha sonra yeniden başlatabilirsiniz.

Stopping a Job Stopping a Job

Client'ten stop butonuna basarak da bir işi durdurabilirsiniz.

Stopping a Job Stopping a Job on Client


Bir Job'ı Yeniden Başlatma

Stopped veya Error durumundaki bir işi başlatabilirsiniz. İş durum kodları hakkında daha fazla bilgi için Job Status Codes bölümüne bakın.

Web App'te Bir Job'ı Yeniden Başlatma

Actions sütunu altındaki Run butonuna tıklayın.

Restarting a Job Restarting a Job

Client'te Bir Job'ı Yeniden Başlatma

Actions sütunu altındaki Run butonuna tıklayın.

Restarting a Job Restarting a Job on Client


Bir Job'ı Silme

Actions sütunu altındaki Delete butonuna tıklayarak bir işi silebilirsiniz.

Deleting a Job Deleting a Job

İş satırındaki Actions sütunu altındaki Delete butonuna tıklayarak işi Client üzerinden de silebilirsiniz.

Deleting a Job Deleting a Job on Client

WARNING: Bu işlem, işi ve client cihazından ilgili tüm inference analitik verilerini kalıcı olarak siler. Silindikten sonra bu işlem geri alınamaz. İşi silmek, dağıtılan model veya pipeline üzerinde herhangi bir etkiye sahip değildir.


Job Durum Kodları

Cordatus, yaşam döngüleri boyunca işlere çeşitli durumlar atar. Bu durum kodları, işin beklendiği gibi çalışıp çalışmadığı hakkında bilgi sağlar. Durum kodları, iş satırının "Status" olarak etiketlenen ilk sütununda görüntülenir.

DurumAçıklama
Downloading ModelModel cihaza indiriliyor. İlk dağıtım sırasında gerçekleşir.
BuildingYalnızca modelin ilk başlatılması sırasında gerçekleşir. Inference motoru modeli veya pipeline'ı oluşturuyor.
Preparing EnginePipeline kuruluyor ve motor başlatılıyor.
Warming UpMotor hazır, pipeline hazırlanıyor ve kameralara bağlanıyor.
Runningİş beklendiği gibi çalışıyor.
StoppedKullanıcı işi manuel olarak durdurdu.
Errorİş yürütülürken bir hata oluştu. Olası sorunlar için troubleshooting bölümüne bakın.

Status Codes Status Codes


Pipeline Profiler

Çalışan her iş, DeepStream pipeline'ının sağlığını ve performansını sürekli olarak ölçen yerleşik bir Pipeline Profiler ile birlikte gelir. Pipeline'ın her kilit aşamasına (batch oluşturma, inference, tracker, OSD, kare yakalama, sink, …) hafif problar iliştirir ve aşama başına gecikme, batch kullanımı, kaynak başına verim, kare kaybı oranı ve aktif kamera durumunu raporlar.

Profiler varsayılan olarak etkindir ve metriklerini her 2 saniyede bir yeniler; bu sayede işi yeniden başlatmaya gerek kalmadan canlı sorun giderme için kullanılabilir.

NOTE: Profiler kasıtlı olarak hafif tutulmuştur ve yalnızca mevcut GStreamer pad'leri üzerinde duvar saati zamanlamasını ölçer — ek GPU işi getirmez ve inference verimi üzerinde ölçülebilir bir etkisi yoktur.

Profiler'a Erişim

Profiler, inference motoru tarafından işin yerel API'si üzerinden sunulur. Çalışan bir işi incelemenin önerilen yolu interaktif dashboard'dur.

EndpointTürAçıklama
/dashboardHTMLKPI'lar, grafikler, kaynak başına kutucuklar ve bir kamera zaman çizelgesi içeren interaktif web dashboard'u.
/profiler/jsonJSONYapılandırılmış profiler anlık görüntüsü (dashboard tarafından kullanılır, scripting için de faydalıdır).
/profilerDüz metinİnsan tarafından okunabilir metin raporu — hızlı curl incelemesi veya log yakalama için kullanışlıdır.

Dashboard'u, işi çalıştıran cihazdaki motorun /dashboard URL'sine doğrudan giderek veya Client'teki işin sağ tık menüsünden açarak görüntüleyebilirsiniz.

PLACEHOLDER (image): Çalışan bir iş için profiler dashboard'unu açmak amacıyla kullanılan Client menüsü/butonunun ekran görüntüsü (örn. dashboard_menu.png girdisi).

Dashboard Genel Bakış

Dashboard dört alana ayrılmıştır: bir iş bilgi çubuğu, KPI kartları, zaman serisi grafikleri ve ayrıntılı tablolar.

Dashboard Overview

Job Bilgi Çubuğu

Üst çubuk, profilerin şu anda hangi işi izlediğini belirtir. Job Name, Child Job ID, Parent Job ID, Device Label, Platform ve kullanılan DeepStream sürümünü içerir. Özellikle aynı cihazda birden fazla iş çalışırken doğru işe baktığınızı doğrulamak için bunu kullanın.

KPI Kartları

KPI satırı, pipeline'ın mevcut sağlığına dair hızlı bir özet sunar:

KPIAçıklama
FPS InInference batch'ine ulaşan saniye başına kare sayısı (tüm kaynakların toplamı).
FPS OutPipeline'ın son yakalama aşamasından ayrılan saniye başına kare sayısı.
Frame DropPipeline'ın giriş ve çıkış aşamaları arasında düşen karelerin yüzdesi.
Active SourcesMevcut ölçüm penceresinde en az bir kare ileten kaynak sayısı.
WindowMevcut ölçüm penceresinin uzunluğu (saniye cinsinden). Sayaçlar her pencerenin sonunda sıfırlanır.

KPI

Verim Geçmişi

Canlı bir grafik, FPS In ve FPS Out değerlerini zaman içinde çizer. İki çizgi arasındaki kalıcı bir boşluk, pipeline içinde bir yerde karelerin düştüğünü gösterir — bu genellikle aşırı yüklenmiş bir GPU veya yavaş bir downstream aşamanın işaretidir.

Throughput History

Kamera Durum Zaman Çizelgesi

Kayıtlı her kamera, zaman çizelgesinde kendi satırında durumuna göre renk kodlanmış olarak (PLAYING, PENDING, FAILED, DEAD, …) gösterilir; böylece aralıklı bağlantı kesintilerini, yeniden deneme fırtınalarını veya hiç çevrimiçi olmayan kaynakları hemen fark edebilirsiniz. Panel, çok sayıda kameraya sahip işleri barındırmak için kaydırılabilir ve yeniden boyutlandırılabilir.

Cam Status Timeline

Ayrıntılı Tablolar

Grafiklerin altında dashboard, temel ham metrikleri sunar:

Aşama Gecikmeleri

Pipeline'ın problanmış her aşaması için (örn. mux_infer_src, infer_chain_out, gie_*_out, tracker_out, osd_probe, frame_capture, …) profiler şunları raporlar:

  • Milisaniye cinsinden Mean / Std / Min / Max buffer'lar arası varış süresi
  • İşlenen batch ve kare sayısı
  • Ortalama batch boyutu

Genel gecikmeye en yavaş katkıda bulunan aşamayı tespit etmek için bu tabloyu kullanın. Örneğin, gie_*_out ortalama gecikmesindeki bir sıçrama inference motorunun kendisine işaret ederken, frame_capture'daki bir sıçrama genellikle encoder/sink'e işaret eder.

Stage Latencies

Kaynak Başına Verim

Her kaynak, kare sayısı, mevcut FPS'i ve milisaniye cinsinden ortalama / min / max kareler arası varış süresi ile ayrı ayrı listelenir. Bu görünüm, belirli bir kameranın genel pipeline'ı yavaşlattığı durumlarda özellikle kullanışlıdır.

Per-Source Throughput

Prob Yürütme Ek Yükü

Cordatus, kendi pad problarını (metadata çıkarma, alarm değerlendirmesi, OSD çizimi, kare yakalama, …) sararak profilerin her callback'in ne kadar CPU zamanı tükettiğini ölçebilmesini sağlar. Tablo, çağrı başına ortalama / std / min / max yürütme süresini, toplam çağrı sayısını ve callback içinde geçirilen toplam duvar saati süresini gösterir. Özel bir prob pipeline'ı zorluyorsa, burada ortaya çıkacaktır.

Probe Execution Overhead

Aktif Kameralar

Kayıtlı her kaynağın ayrıntılı görünümü: kaynak ID'si, adı, GStreamer durumu, timeout / max-timeout sayacı, drop / max-retry sayacı, yeniden deneme aralığı ve kaynak URL'si. Mevcut pencerede bir kare alan kameralar aktif olarak işaretlenir. Bu, düşen veya yeniden bağlanan kameraları teşhis ederken en kullanışlı tek tablodur.

Active Cameras

Dashboard Kontrolleri

Dashboard başlığı iki kontrol sunar:

  • Refresh interval selector — polling aralığını 1 sn, 2 sn, 5 sn ve 10 sn arasında değiştirin. Daha düşük değerler, biraz daha fazla ağ trafiği pahasına daha duyarlı bir dashboard sağlar.
  • Pause / Resume button — dashboard'u geçici olarak dondurur, böylece bir sonraki polling tarafından üzerine yazılmadan bir anlık görüntüyü ayrıntılı olarak inceleyebilirsiniz.

Dashboard Controls

Sorun Giderme İçin Profiler Kullanımı

Profiler, bir işte bir şeylerin yanlış göründüğü durumlarda en yararlı olanıdır. Bazı yaygın kalıplar:

  • Çıkış FPS'i giriş FPS'inden düşük, Frame Drop % artıyor — pipeline yetişemiyor. En yavaş aşamayı bulmak için Stage Latencies tablosunu kontrol edin, ardından yükün kameralar arasında eşit dağılıp dağılmadığını görmek için Per-Source Throughput'a geçin.
  • Bir kamera düşmüş veya artan bir yeniden deneme sayacıyla işaretlenmiş — etkilenen kaynak ID'si için Active Cameras tablosunu kontrol edin. Burada gösterilen yeniden deneme aralığı ve drop max-retry değerleri, motorun yeniden bağlanma mantığı tarafından kullanılan değerlerle aynıdır.
  • Bir probda yüksek ortalama yürütme süresi — genellikle özel bir alarm veya analitik callback'ine işaret eder. Probe Execution Overhead tablosu hangisi olduğunu gösterecektir.
  • Kaynak başına kareler arası ms beklenenden çok daha yüksek — kameranın kendisi kareleri yavaş iletiyor (ağ veya codec sorunu), inference pipeline'ı değil.

Arayüzü Kullanma

Jobs sayfası, genel deneyimi iyileştirmek için kullanıcı dostu özellikler sunar.

Job Bilgisi

Bu sayfada, işleriniz hakkında ayrıntılı bilgilere erişebilirsiniz: Sütunları açıp kapatmak için sağ üstteki düzenleme butonunu kullanabilirsiniz.

  • Status: İşin mevcut durumu
  • Job Name: İşin adı
  • Applications: Kullanılan model(ler)
  • Cameras: Bağlı kameralar
  • Device: İşi çalıştıran cihaz
  • Container Name: Kullanılan inference motoru
  • Initialized At: Başlangıç zamanı
  • Last Updated: Güncelleme zamanı

Jobs Page Jobs Page

Client'te aynı özellikleri kullanabilirsiniz (cihaz adı hariç, çünkü zaten o cihazın işlerini görüntülüyorsunuz).

Jobs Page Jobs Page on Client

Arama Özelliği

Ekranın sağ üst köşesindeki arama kutusuna iş adını girerek belirli işleri kolayca bulabilirsiniz.

Search Job

Aynı arama kutusu Client'te de mevcuttur.

Search Job

Sıralama

Sütun başlıklarına tıklayarak işlerinizi ilgili sütun verilerine göre sıralayabilirsiniz. Bu özellik hem Client hem de Web App'te mevcuttur.

Alt Job'lar

Web App'te bir işe tıkladığınızda, sayfanın alt kısmında seçilen işle ilişkili child job'ları görüntüleyen yeni bir modal açılır. Bu modalda:

  • İş geçmişini inceleyebilirsiniz (işin kaç kez başlatıldığı)
  • Child job'lar hakkında bilgi alabilirsiniz (durumları, başlangıç ve bitiş zamanları)
  • Actions sütunu altındaki silme simgesine tıklayarak child job'ları silebilirsiniz

Child Jobs Child Jobs on Web App

Client'te bir işe tıkladığınızda, aynı işlevlere sahip aynı modal ekranın ortasında açılır.

Child Jobs Child Jobs on Client


Sürüm Desteği

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

Cihazınızda yüklü olan DeepStream sürümü hakkında ayrıntılı bilgi için NVIDIA DeepStream SDK sayfasını ziyaret edebilirsiniz.


Copyright © 2025 Cordatus.