← MATA

PLATFORM MATA · FITUR BARU

Pipeline Graf yang Diketik

Pipeline MATA adalah graf asiklik berarah yang berisi node bertipe: setiap node menyatakan apa yang dikonsumsinya dan apa yang dihasilkannya, validator memeriksa penyambungannya sebelum satu frame diproses, dan tugas yang independen berjalan paralel alih-alih berbaris.

Bagian dari MATA →

01

01

Apa Itu

Graf disusun dari node yang masing-masing menyatakan tipe artefak masukan dan tipe artefak keluaran, sehingga pipeline terbaca seperti kalimat yang menggambarkannya — Detect → Filter → PromptBoxes → Fuse. Deteksi, mask, klasifikasi, peta kedalaman, trek, dan region semuanya artefak bertipe, bukan larik yang lepas.

Graf yang sama dapat ditulis sebagai rangkaian pipa, sebagai penyambungan eksplisit, atau sebagai daftar yang diberikan ke mata.infer(). Ketiganya dikompilasi menjadi struktur tervalidasi yang sama, sehingga tim dapat memulai dari bentuk singkat dan tetap membacanya saat pipeline bertambah panjang.

02

02

Diperiksa Sebelum Berjalan

graph.compile(providers) menjalankan GraphValidator atas seluruh struktur. Bila ada yang salah, ValidationError mencantumkan setiap masalah beserta node dan artefak yang terlibat — pada waktu kompilasi, bukan pada frame pertama aliran langsung.

  • Tabrakan nama — setiap nama node harus unik.
  • Penyelesaian dependensi — setiap artefak masukan dihasilkan oleh node di hulu atau disediakan sebagai masukan graf.
  • Kesesuaian tipe — artefak yang tersambung harus cocok, sehingga DepthMap tidak dapat disambungkan ke node yang mengharapkan Image.
  • Deteksi siklus — struktur harus tetap asiklik.
  • Kapabilitas provider — setiap provider yang dirujuk ada di registry dengan kapabilitas yang diminta.

03

03

Pekerjaan Independen Berjalan Bersama

Setelah validasi, graf diurutkan menjadi tahap, dan node yang tidak saling bergantung masuk ke tahap yang sama. Deteksi, klasifikasi, dan estimasi kedalaman pada satu frame berjalan sebagai satu kelompok, bukan berurutan — di sinilah percepatan 1,5–3× yang terdokumentasi berasal.

Tiga penjadwal mencakup kebutuhan penerapan yang berbeda: SyncScheduler dalam urutan topologis untuk penelusuran masalah, ParallelScheduler untuk pekerjaan independen, dan OptimizedParallelScheduler untuk penempatan perangkat, eksekusi multi-GPU, serta pelepasan model.

04

04

Alur Kontrol Tanpa Kode Penyangga

Percabangan dan pengulangan adalah primitif graf, bukan Python di sekelilingnya. Sebuah node dapat membawa kondisi dan dilewati bila kondisinya salah, sehingga frame kosong tidak memakan biaya dan deteksi berkeyakinan rendah tidak pernah mencapai tahap segmentasi yang mahal.

  • EarlyExit — hentikan cabang begitu tujuannya tercapai.
  • While — ulangi satu tahap hingga ambang mutu terpenuhi.
  • Graph.add(condition=...) — pasang sisi kondisional pada node mana pun.
  • Filter — buang deteksi di bawah ambang skor sebelum pekerjaan berikutnya.

Keputusan murah dijalankan lebih dulu; model mahal berjalan sekali, pada frame yang memang layak.

05

05

Hasil dan Asal-Usulnya

Proses yang selesai mengembalikan kumpulan hasil multi-tugas dengan kanal bernama — result.final.dets.instances, result["final"]["masks"].instances — serta identitas instance yang stabil dan bertahan melewati fusi, sehingga sebuah deteksi dan mask-nya tetap objek yang sama lintas tahap.

Tiga subsistem observabilitas sudah terpasang dalam eksekusi dan tidak memerlukan instrumentasi: MetricsCollector mencatat latensi dan memori per node, ExecutionTracer menghasilkan span berhierarki, dan ProvenanceTracker mencatat konfigurasi model serta graf di balik sebuah hasil.

  • Metrik per node, diekspor sebagai ringkasan dengan latensi total dan wall-clock.
  • Jejak eksekusi yang diekspor sebagai JSON untuk ditinjau setelah proses selesai.
  • Entri asal-usul yang membawa tipe dan hash model untuk setiap provider.

06

06

Dari Skrip Lem ke Pipeline yang Dinyatakan

Preset mencakup bentuk-bentuk yang umum — grounding_dino_sam, full_scene_analysis, defect_detect_classify, crowd_monitoring, dan lainnya — dan masing-masing hanyalah pabrik graf, sehingga pipeline yang sudah bekerja menjadi titik awal, bukan target.

Untuk beban kerja panjang atau terdistribusi, node penyimpanan mempertahankan hasil ke Valkey melalui URI valkey:// dan membacanya kembali sebagai artefak, tanpa node lain di graf perlu mengetahuinya.

  • Preset adalah pabrik: panggil dengan parameter, dapatkan graf yang dapat dikompilasi, diperiksa, dan diperluas.
  • Kasus yang berulang lintas proyek layak diangkat menjadi preset Anda sendiri.
  • Graf yang berjalan di produksi adalah objek yang sama dengan yang Anda lacak di laptop, sehingga keduanya tidak saling menjauh.

Susun tugas yang Anda jalankan hari ini

Bawa alur kerja yang tim Anda pelihara secara manual — deteksi yang disusul klasifikasi, atau langkah peninjauan manual di antara dua model — dan kami akan menunjukkan bagaimana alur itu terbaca sebagai satu graf, serta pemeriksaan apa yang menjaganya tetap benar.