Tier stabilitas

LibreYOLO menggunakan kata tier untuk tiga hal terpisah: bukti di balik jalur ekspor, kontrak pemanggilan yang dijawab family model, dan kelompok cakupan tempat family terdaftar. Halaman ini mendefinisikan masing-masing dan menjelaskan hal yang tidak tersirat.

Tier dukungan ekspor

Tier ini menentukan apakah suatu pemanggilan berhasil. Tier berlaku pada triple (family, task, format), dan setiap kombinasi memiliki tepat satu tier.

TierArtiYang terjadi pada export()
validatedParitas numerik dicakup dalam CI atau run nightly yang terdokumentasiBerjalan
availableKonversi telah diimplementasikan, tetapi bukti paritas runtime numerik belum dicatatBerjalan
blockedTidak ada jalur yang didukungMemunculkan NotImplementedError saat preflight beserta alasannya

Validated dan available sama-sama berjalan tanpa konfirmasi atau peringatan umum. Perbedaannya terletak pada bukti, bukan izin: entri validated didukung oleh pengujian paritas dan memiliki release since, sedangkan entri available belum. Sebagai contoh, konversi CoreML tanpa run prediksi macOS berstatus available, bukan validated.

Kombinasi blocked gagal sebelum pemeriksaan dependency, pemuatan kalibrasi, tracing, atau pembuatan artefak, sehingga tidak ada hasil parsial yang ditulis.

Setiap cell validated memiliki constraint yang menjelaskan konfigurasi sumber angka paritas, biasanya canvas input tetap, batch 1, FP32, dan versi runtime tertentu. Bacalah sebagai klaim mengenai konfigurasi tersebut, bukan mengenai format secara umum. Aturan yang mengisi cell tanpa entri eksplisit tersedia di halaman matriks ekspor.

Baca kedua klasifikasi untuk satu family
from libreyolo.models.registry import GROUPS, group_offrom libreyolo.export.support import get_support, validated_alternatives family = "yolo9" group = group_of(family)print(group, GROUPS[group]) print(get_support(family, "detect", "onnx").tier)print(validated_alternatives(family, "detect"))

Tier API

Tier ini menentukan bentuk suatu pemanggilan. Sebuah family berada tepat dalam satu tier, yang dipilih berdasarkan kontrak pemanggilan, bukan arsitektur.

TierFactoryKontrak
Factory detektorLibreYOLOSatu forward tanpa prompt mengembalikan setiap objek yang ditemukan, dengan score terkalibrasi. Anggota mendaftarkan diri dengan mengenali checkpoint
Promptable segmentationLibreSAMForward tidak bermakna tanpa prompt spasial atau konsep per gambar yang diberikan saat pemanggilan. Interaktif dan stateful: encode sekali, prompt berkali-kali
Deteksi open-vocabularyLibreOpenVocabDetektor diskriminatif yang dikondisikan oleh teks. List kelas adalah prompt yang ditetapkan oleh set_classes
Vision-languageLibreVLMModel generatif yang dijalankan sebagai detektor. List kelas adalah prompt dan confidence merupakan placeholder
GroundingLibreGroundGambar dan instruksi rujukan dipetakan ke paling banyak satu titik per query
Policy robotLibreVLAFrame kamera dan status robot dipetakan ke potongan aksi mendatang

Sibling tier sengaja tidak mendaftar ke factory detektor, sehingga LibreYOLO("some-alias") tidak dapat menjangkaunya. Tier tersebut dimuat berdasarkan alias ukuran dan mengunduh secara otomatis, bukan melalui sniffing checkpoint.

Semuanya mengembalikan Results yang sama, sehingga kode downstream tidak berubah. Perbedaannya adalah metode mana yang bekerja: sibling tier memunculkan NotImplementedError untuk train(), val(), dan export(), dengan dua pengecualian. LibreVLM melakukan fine-tuning Qwen3-VL sebagai detektor, dan LibreVLA melatih serta memvalidasi SmolVLA, ACT, dan Diffusion Policy. Tier SAM dan open-vocabulary juga memunculkan error itu untuk track(). Setiap halaman tier mencantumkan pengecualiannya sendiri.

Kelompok cakupan

Klasifikasi ini menentukan family yang disertakan dalam pengujian lintas family, dan paling mungkin ditemui pembaca pada halaman model. Setiap family terdaftar masuk tepat ke satu kelompok, dan pengujian gagal ketika ada family terdaftar yang tidak dimasukkan. GROUPS dalam libreyolo/models/registry.py adalah sumber kolom Arti di bawah; MODEL_GROUPS dalam file yang sama menempatkan setiap family, dan kolom Family menghitung penempatan tersebut secara langsung. Kolom Label adalah nama lebih pendek yang digunakan situs untuk kelompok yang sama pada header halaman model.

KelompokLabelFamilyArti
g0Flagship2Anchor flagship yang diwajibkan dalam cakupan fitur bersama
g1Core12Kelompok cakupan detektor yang dapat dilatih
g2Supported19Kelompok cakupan tambahan untuk family yang dapat dilatih
g3Inference only44Family tanpa implementasi pelatihan
g4Museum5Family historis dengan cakupan inferensi
sSibling tier40API sibling (SAM, open-vocab, VLM, grounding, zero-shot) yang dicakup secara terpisah

Jumlahnya 122 family dalam enam kelompok. g3 adalah kelompok terbesar karena banyak isi registry merupakan lineage inference-only, bukan detektor yang aktif dilatih.

Bagi pembaca yang memilih model, kelompok menunjukkan tempat perhatian engineering diharapkan, bukan tingkat akurasi family. g0 dan g1 adalah tempat fitur baru dirancang dan diterapkan lebih dulu; g2 dijaga tetap hijau di CI, tetapi fitur diterapkan secara oportunistis, bukan dalam gelombang release yang sama. g3 menyatakan ketiadaan, bukan batas: predict, validate, dan export jika didukung family tetap bekerja, sedangkan train() pada family g3 atau g4 memunculkan NotImplementedError yang menyebutkan alasannya, bukan melakukan proses parsial secara diam-diam. Family s sama sekali tidak berada dalam trade-off ini karena dimuat melalui factory sendiri, bukan LibreYOLO(). Lihat konsep inti untuk mengetahui posisi kelompok bersama task, family, dan ukuran saat membaca nama file checkpoint.

Kelompok tidak memberikan atau membatasi kapabilitas yang terlihat pengguna. Dukungan berasal dari API yang diimplementasikan family dan pemeriksaan kapabilitas khusus format, bukan dari keanggotaan kelompok. Kelompok mengklasifikasikan family, bukan task, sehingga run cakupan yang dibatasi task menyebut task secara eksplisit, seperti "g1 detect".

Tiga tempat membaca kelompok saat runtime, bukan hanya dalam pengujian. collect_model_inventory() dalam libreyolo/models/inventory.py melampirkan kelompok ke setiap entri yang dicetak inventaris CLI. pretrained=False memicu jalur reinitialization from-scratch khusus hanya untuk family dalam g0, g1, dan g2. Di luar kelompok tersebut, pemeriksaan di libreyolo/models/base/model.py dilewati sepenuhnya, sehingga pretrained=False mencapai train() milik family sebagai keyword biasa. Pelatihan dengan classes= atau single_cls=True hanya diterima untuk deteksi g0 dan g1, dan memunculkan ValueError di tempat lain.

Pelatihan

Family dalam g3 atau g4 tidak memiliki implementasi pelatihan, dan memanggil train() akan memunculkan error. Hal itu merupakan properti kode family, bukan kelompoknya: kelompok mencatat fakta tersebut, bukan menyebabkannya.

Dari 122 family, 37 dapat dilatih: setiap family g0, g1, dan g2, ditambah Qwen3-VL melalui LibreVLM serta SmolVLA, ACT, dan Diffusion Policy melalui LibreVLA.

Untuk family yang dapat dilatih, apakah suatu knob augmentasi mencapai pipeline adalah pertanyaan terpisah dengan vocabulary tiga nilai sendiri, yaitu used, gated_by_mosaic, dan ignored. Lihat matriks augmentasi.

Hal yang tidak dijelaskan tier

Tier bukan klaim akurasi. Ekspor validated berarti artefak mereproduksi model native dalam ambang batas yang ditetapkan; status tersebut tidak menjelaskan kinerja model native pada dataset. Angka benchmark tersedia di halaman model.

Tier juga bukan pernyataan lisensi. Lisensi bobot berbeda-beda dalam satu family dan repository yang menyediakan checkpoint tertentu adalah sumber otoritatif. Keberadaan family dalam factory detektor tidak menjelaskan apakah bobot yang dipublikasikan mengizinkan penggunaan komersial.

Tier ekspor dari docs/adr/0011-export-support-tiers.md dan libreyolo/export/support.py; kelompok cakupan dan jumlah per family dari MODEL_GROUPS di libreyolo/models/registry.py; gate from-scratch dari libreyolo/models/base/model.py dan libreyolo/cli/commands/train.py; inventaris CLI dibaca dari libreyolo/models/inventory.py; tier API dari docstring package dan kontrak base.py di libreyolo/models/sam/, openvocab/, dan vlm/, semuanya pada v1.6.0. Label kelompok untuk pembaca (Flagship, Core, Supported, Inference only, Museum, Sibling tier) adalah vocabulary situs sendiri untuk kelompok yang sama, dari src/data/docs/registry.json.