PLATFORM MATA · FITUR BARU
Pemuatan Model Universal
Satu panggilan memuat model — dari ID HuggingFace, berkas ONNX lokal, arsip TorchScript, nama Torchvision, atau alias di konfigurasi proyek Anda. MATA mendeteksi runtime-nya dan menyiapkan adapter yang sesuai, sehingga kode di atasnya tidak perlu berubah.
Bagian dari MATA →
01
01
Apa Itu
mata.load(task, source) dan mata.run(task, image, model=...) menerima argumen yang sama dalam segala bentuk kedatangan sebuah model. Tugasnya — detect, segment, classify, depth, ocr, track, vlm, embed, barcode, recognize — menentukan keluarga adapter yang dibutuhkan; sumbernya menentukan runtime yang menjalankannya.
Tidak ada bagian di atas baris itu yang perlu tahu bedanya. Detektor yang dimuat dari checkpoint di hub dan detektor yang dimuat dari berkas di mesin yang sama mengembalikan objek hasil yang sama, dengan format bounding box dan label per instance yang sama.
02
02
Sumber yang Diterima
Loader membaca string sumber dan menyelesaikannya melalui urutan pemeriksaan yang tetap, sehingga tidak ada keraguan antara sebuah nama dan sebuah lokasi berkas.
- Alias dari .mata/models.yaml (lokal proyek) atau ~/.mata/models.yaml (global pengguna), yang dapat membawa nilai bawaan per tugas seperti ambang deteksi.
- Berkas di disk — .onnx, .pt, .pth, .bin, .trt, atau .engine — dimuat melalui ONNX Runtime atau TorchScript.
- Nama torchvision/ seperti torchvision/retinanet_resnet50_fpn atau torchvision/ssd300_vgg16.
- Nama mesin yang dikenal: easyocr, paddleocr, tesseract, pyzbar, zxing.
- ID model HuggingFace yang mengandung garis miring, seperti facebook/detr-resnet-50 atau IDEA-Research/grounding-dino-tiny.
03
03
Runtime dan Cakupannya
Tidak setiap runtime mencakup setiap tugas, dan MATA menyatakan matriksnya secara terbuka alih-alih gagal di tengah proses pemuatan.
- PyTorch — seluruh keluarga tugas: deteksi, segmentasi, klasifikasi, kedalaman, OCR, pelacakan, VLM, dan embedding.
- ONNX Runtime — deteksi, klasifikasi, dan embedding.
- TorchScript — deteksi dan klasifikasi.
- Torchvision — deteksi.
- Mesin native untuk pembacaan barcode dan QR: pyzbar dan zxing-cpp.
Tugas yang hendak Anda jalankan menentukan format yang dibutuhkan mesin tersebut — tidak ada bagian lain dari pipeline yang harus berubah.
04
04
Konfigurasi, Bukan Keterikatan
Model dialamatkan dengan nama di mana pun sebuah string diterima — di Python, di CLI, dan di peta provider pada graf. Tim menyimpan katalog di .mata/models.yaml dan mendaftarkan alias saat runtime dengan mata.register_model() bila katalog disusun di tempat lain.
Checkpoint yang tidak berada di hub tetap dapat dimuat: arahkan loader ke berkas .pth dan berikan konfigurasi serta arsitektur yang dibutuhkannya. Pemuatan model tetap menjadi entri katalog, bukan jalur kode.
05
05
Pemuatan yang Terlihat
Sejak v1.9.8, proses pertama yang harus mengunduh bobot model akan mengatakannya, dan membiarkan bilah kemajuan unduhan sampai ke terminal alih-alih tampak menggantung. Proses berikutnya kembali senyap, dengan cache lokal dideteksi melalui is_model_cached().
Setiap adapter melaporkan waktu pemuatannya saat selesai, misalnya "Model loaded on cuda (4.2s)", dan mata.verbose(0) mengembalikan kesenyapan penuh bila skrip membutuhkannya.
- Proses pertama tanpa cache: "Downloading {model_id} (first run — this may take a minute)...".
- Baris waktu pemuatan dari setiap adapter, misalnya 4,2 detik pada CUDA.
- Tingkat verbositas 0, 1, dan 2 untuk mengatur seberapa banyak yang dicetak.
06
06
Titik Awal
Pasang dengan pip install datamata pada Python 3.10 atau lebih baru, lalu muat model pertama dari CLI atau dari tiga baris Python. Tidak ada langkah pendaftaran dan tidak ada langkah build sebelum inferensi pertama.
CLI menerima argumen yang sama dengan API, sehingga sebuah model dapat dicoba dari terminal sebelum masuk ke pipeline: mata run detect image.jpg --model facebook/detr-resnet-50 --conf 0.4 --save.
Bawa model yang sudah Anda jalankan
Beri tahu kami checkpoint dan format yang menjadi andalan tim Anda; kami akan menunjukkan cara memuatnya melalui MATA dan apa yang perlu berubah pada pipeline di sekitarnya — biasanya tidak ada.