İş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ı
- Web App'in sol kenar çubuğundan AI Platform → AI Workflow sayfasına gidin.
- Tek bir modelle bir iş başlatmak isterseniz, bir model seçebilir veya yanındaki oynat butonuyla başlatma ekranına gidebilirsiniz.
- 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.
- İş gereksinimlerini girin:
Gereksinimler
| Alan | Açı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 Matrix | Bu 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 Device | Seçilen cihazınız hazırsa, sağda Device Ready mesajını göreceksiniz. |
| GPU Configuration | Birden 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. |
- 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:
- Metrics Icon (sağ üst): Inference işi için cihaz metriklerini görüntüleyin
- Detection Results Toggle (Orta): Inference sonuçlarının görüntülenmesini açın/kapatın
- View Mode (sağ alt): Picture-in-picture ve tam ekran modu arasında geçiş yapın
- Pause/Play Icon (sol alt): Videoyu durdurun veya devam ettirin
- All Detections (alt çubuk): Cordatus'un nesne tespit ettiği zaman periyotlarını görüntüleyin
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
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
Client'ten stop butonuna basarak da bir işi durdurabilirsiniz.
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
Client'te Bir Job'ı Yeniden Başlatma
Actions sütunu altındaki Run butonuna tıklayın.
Restarting a Job on Client
Bir Job'ı Silme
Actions sütunu altındaki Delete butonuna tıklayarak bir işi silebilirsiniz.
Deleting a Job
İş satırındaki Actions sütunu altındaki Delete butonuna tıklayarak işi Client üzerinden de silebilirsiniz.
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.
| Durum | Açıklama |
|---|---|
| Downloading Model | Model cihaza indiriliyor. İlk dağıtım sırasında gerçekleşir. |
| Building | Yalnızca modelin ilk başlatılması sırasında gerçekleşir. Inference motoru modeli veya pipeline'ı oluşturuyor. |
| Preparing Engine | Pipeline kuruluyor ve motor başlatılıyor. |
| Warming Up | Motor hazır, pipeline hazırlanıyor ve kameralara bağlanıyor. |
| Running | İş beklendiği gibi çalışıyor. |
| Stopped | Kullanı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
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.
| Endpoint | Tür | Açıklama |
|---|---|---|
/dashboard | HTML | KPI'lar, grafikler, kaynak başına kutucuklar ve bir kamera zaman çizelgesi içeren interaktif web dashboard'u. |
/profiler/json | JSON | Yapılandırılmış profiler anlık görüntüsü (dashboard tarafından kullanılır, scripting için de faydalıdır). |
/profiler | Dü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.pnggirdisi).
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.

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:
| KPI | Açıklama |
|---|---|
| FPS In | Inference batch'ine ulaşan saniye başına kare sayısı (tüm kaynakların toplamı). |
| FPS Out | Pipeline'ın son yakalama aşamasından ayrılan saniye başına kare sayısı. |
| Frame Drop | Pipeline'ın giriş ve çıkış aşamaları arasında düşen karelerin yüzdesi. |
| Active Sources | Mevcut ölçüm penceresinde en az bir kare ileten kaynak sayısı. |
| Window | Mevcut ölçüm penceresinin uzunluğu (saniye cinsinden). Sayaçlar her pencerenin sonunda sıfırlanır. |

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.

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.
