API Python
API Python publik LibreYOLO adalah daftar __all__ di libreyolo/__init__.py. Ekspor tingkat paket memakai from libreyolo import <name>; protokol pelacakan dan pelatihan di bawah memakai submodul masing-masing.
Entry point
Factory memuat model atau mengonfigurasi klien API. Pemisahannya berdasarkan kontrak pemanggilan, bukan arsitektur.
| Factory | Memuat | Prompt saat pemanggilan | Ekstra yang diperlukan |
|---|---|---|---|
LibreYOLO | Family tanpa prompt, dengan sniffing checkpoint atau suffix berkas | ||
LibreSAM | Segmenter yang dapat menerima prompt, berdasarkan alias ukuran | Titik, bounding box, atau teks konsep | sam |
LibreVLM | Detektor vision-language generatif, berdasarkan alias | Vocabulary kelas atau prompt bebas | vlm |
LibreOpenVocab | Detektor yang dikondisikan oleh teks, berdasarkan alias | Vocabulary kelas | openvocab |
LibreGen | Model generatif, berdasarkan alias atau direktori model lokal | Prompt teks (teks ke gambar) atau gambar (gambar ke 3D) | gen |
LibreEnsemble | Dua detektor atau lebih yang digabungkan menjadi satu antarmuka |
from libreyolo import LibreYOLO, LibreEnsemble # Factory dengan sniffing bobot untuk family tanpa prompt.detector = LibreYOLO("LibreYOLO9t.pt") # Dua detektor atau lebih di balik satu antarmuka prediksi.ens = LibreEnsemble(["LibreYOLO9t.pt", "LibreYOLO9s.pt"]) # Tiga factory lainnya memerlukan ekstra yang diinstal:# pip install 'libreyolo[sam]' -> from libreyolo import LibreSAM# pip install 'libreyolo[vlm]' -> from libreyolo import LibreVLM# pip install 'libreyolo[openvocab]' -> from libreyolo import LibreOpenVocabprint(type(detector).__name__, ens.fusion)LibreYOLO menerima berkas checkpoint dan artefak ekspor. Factory lain menerima alias model; LibreVLM dan LibreVLA juga memuat ulang direktori checkpoint yang disimpannya sendiri, dan LibreGen memuat direktori model lokal dalam format upstream family yang didukung.
LibreYOLO( model_path: str, size: str | None = None, reg_max: int = 16, nb_classes: int | None = None, device: str = "auto", task: str | None = None, compute_units: str = "all",)model_path menerima checkpoint .pt, berkas ONNX .onnx, ExecuTorch .pte,
MNN .mnn, TensorRT .engine, direktori OpenVINO, Paddle, atau ncnn, maupun
URL model HTTP atau HTTPS Triton. size dan nb_classes dibaca dari checkpoint
ketika tidak diberikan. compute_units hanya dibaca untuk pemuatan .mlpackage
CoreML dan nilainya salah satu dari all, cpu_only, cpu_and_gpu,
cpu_and_ne. task menerima nama task kanonis dari libreyolo.tasks.TASKS.
from libreyolo import LibreYOLO, SAMPLE_IMAGE model = LibreYOLO("LibreYOLO9t.pt") # Sumber satu gambar mengembalikan satu Results; list atau direktori# mengembalikan list Results.result = model(SAMPLE_IMAGE) print(result.boxes.xyxy)print(result.names)from libreyolo import LibreYOLO9, SAMPLE_IMAGE model = LibreYOLO9("LibreYOLO9t.pt", size="t")result = model(SAMPLE_IMAGE) print(len(result))LibreGround memetakan instruksi ke titik gambar; LibreVLA memprediksi potongan aksi robot; LibreLLM memanggil endpoint model bahasa jarak jauh yang kompatibel. Lihat API grounding, API policy, dan klien model bahasa.
LibreYOLO("hf://owner/repo@revision/filename") memuat checkpoint Hub. model.push_to_hub(repo_id, private=False) memublikasikan checkpoint dan kartu model. Referensi Hub menjelaskan resolusi dan autentikasi.
Kelas family
Setiap family yang dapat dikembalikan factory juga diekspor berdasarkan nama,
sehingga kelas dapat dibuat secara langsung ketika checkpoint telah diketahui.
Constructor mengikuti BaseModel.__init__:
Family(model_path, size, nb_classes=80, device="auto", task=None, **kwargs)Nilai default konstruktor berbeda menurut family; periksa signature-nya sebelum membuat instance secara langsung. YOLO9 dan variannya menyisipkan reg_max: int = 16 setelah size.
Family deteksi dan multi-task: LibreYOLO9, LibreYOLO9E2E,
LibreYOLO9P2, LibreYOLONAS, LibreYOLOX, LibreYOLO7, LibreYOLO4,
LibreYOLO3, LibreYOLO2, LibreYOLO1, LibreRTDETR, LibreRTDETRv2,
LibreRTDETRv4, LibreRFDETR, LibreDFINE, LibreDOMEDETR, LibreDEIM,
LibreDEIMv2, LibreDETR, LibreDeformableDETR, LibreDINODETR,
LibreLWDETR, LibreMaskRCNN, LibreFCOS, LibreFasterRCNN,
LibreRetinaNet, LibreSSD, LibreCenterNet, LibreEfficientDet,
LibreEC, LibreGTR, LibreTinyFormer, LibrePICODET, LibrePPYOLOE,
LibreRTMDet, LibreFOMO.
Family dense prediksi: LibreMiDaS, LibreDepthAnythingV2,
LibreDepthAnything3, LibreZipDepth, LibreMoGe2, LibreTEED,
LibreDexiNed, LibreNAFNet, LibreRealESRGAN, LibreSwinIR,
LibreBiRefNet, LibreFeyNobg, LibreFCN, LibreEoMT, LibreDeepLabv3,
LibrePIDNet, LibrePPLiteSeg, LibreUNet, LibreSegformer,
LibreLingBotVision, LibreMarigoldV2, LibreDDColor, LibreHVICIDNet,
LibreLaMa, LibreQuickSRNet, LibreBEN2, LibreViTMatte.
Family classification dan embedding: LibreViT, LibreMobileNetV4,
LibreConvNeXt, LibreDeiT, LibreSwin, LibreEfficientNetV2, LibreVGG,
LibreResNet, LibreAlexNet, LibreCLIP, LibreSigLIP2, LibreDINOv2,
LibreConvNeXtV2, LibrePE, LibreVJEPA2, LibreLeVJEPA.
Task lain: LibreHRNet dan LibreDEKR (pose), LibreL2CS (gaze),
LibrePPOCR (ocr), LibreFaceEmbedder (embed), serta detektor 3D
LibreFCOS3D, LibreDetAny3D, LibreWildDet3D dan Libre3DMOOD (detect3d).
Tingkat saudara juga mengekspor kelas family-nya: LibreSAM1, LibreSAM2,
LibreSAM3, LibreEdgeTAM, LibreMobileSAM, LibrePicoSAM3;
LibreGroundingDINO, LibreOWLv2, LibreOMDetTurbo; LibreLFM2VL,
LibreQwen3VL, LibreSmolVLM2, LibreInternVL3, LibreFlorence2,
LibreKosmos2, LibreLocateAnything, LibreGemma4, LibreMoondream,
LibreMolmo2, LibreNorthMicroVision, LibreMODUS (juga ditulis
LibreModus), LibreWeVisOneVL; LibreShowUI, LibreGroundFlorence2 dan LibreGroundQwen3VL
di balik LibreGround; LibreSmolVLA, LibreACT dan LibreDiffusionPolicy
di balik LibreVLA; LibreFlux2Klein, LibreSanaSprint dan
LibreSperidlabsIdol di balik LibreGen.
Antarmuka prediksi
Memanggil model menjalankan inferensi. predict adalah alias untuk __call__,
sehingga keduanya dapat saling menggantikan.
model( source=None, *, conf=0.25, iou=0.45, imgsz=None, device=None, classes=None, max_det=300, agnostic_nms=False, augment=False, save=False, batch=1, stream=False, stream_buffer=False, vid_stride=1, show=False, output_path=None, color_format="auto", tiling=False, overlap_ratio=0.2, output_file_format=None, cuda_graph=False, **kwargs,)Sumber satu gambar mengembalikan satu Results. List, tuple, atau direktori
mengembalikan list Results, sedangkan stream=True mengembalikan generator.
Metode lain pada objek model didokumentasikan di
halaman API model.
agnostic_nms=True menjalankan NMS class-agnostic: di antara kotak yang tumpang
tindih di atas iou, hanya kotak dengan skor tertinggi yang dipertahankan, apa
pun kelasnya. Langkah ini berjalan pada deteksi akhir milik family, setelah filter
classes, dan mencakup task detect, segment, pose, dan OBB, dengan IoU terotasi
untuk kotak berorientasi. Pada task lain mana pun ia memunculkan ValueError.
Muatan Results
Results dan kelas payload-nya diekspor pada tingkat paket: Results, Boxes, Masks, Keypoints, Points, Probs, OBB, Gaze, SemanticMask, PanopticSegmentation, DepthMap, EdgeMap, NormalMap, RestoredImage, Matte, Meshes, OCRRegions, Embeddings, Identities. Masing-masing dijelaskan dalam tipe Results.
Boxes3D, AlbedoMap, dan Actions menambahkan kuboid 3D, albedo intrinsik, dan potongan aksi. Lihat tipe hasil.
GeneratedImage dan Gaussians membawa keluaran LibreGen: gambar hasil generasi di Results.generated dan objek 3D hasil generasi di Results.gaussians.
Backend
Artefak hasil ekspor dimuat melalui LibreYOLO() berdasarkan suffix berkas,
sehingga kelas backend jarang dibuat secara manual. Kelas tersebut diekspor
untuk kasus ketika backend harus dipilih secara eksplisit: OnnxBackend,
OpenVINOBackend, PaddleBackend, TensorRTBackend, TritonBackend,
NcnnBackend, CoreMLBackend, ditambah create_triton_config.
BaseExporter adalah registry exporter di balik model.export().
Validator
model.val() melakukan dispatch ke validator yang tepat berdasarkan task,
sehingga kelas berikut diekspor untuk penggunaan langsung dan subclassing:
DetectionValidator, SegmentationValidator, PoseValidator,
SemanticValidator, PanopticValidator, DepthValidator, NormalValidator,
EdgeValidator, serta ValidationConfig bersama.
Tracking
model.track() memilih tracker berdasarkan nama. Kelas tracker dan dataclass
konfigurasinya juga diekspor: ByteTracker dengan TrackConfig,
BoTSortTracker dengan BoTSortConfig, serta OCSortTracker dengan
OCSortConfig.
libreyolo.tracking.Tracker mendefinisikan reset() dan update(results, image=None) untuk instance tracker kustom.
Helper data
DATASETS_DIR adalah root dataset hasil resolve, load_data_config membaca YAML
dataset, dan check_dataset memvalidasinya. Loader khusus task yang disebutkan
dalam Format dataset berada di
libreyolo.data, bukan pada level paket.
Gallery dan distillation
Gallery dan FaceGallery menyimpan vektor identitas terdaftar untuk task
embed dan menghasilkan payload Identities. Distiller dan
get_distill_config menjalankan pelatihan teacher-student.
libreyolo.training.TrainFitnessCallback mendefinisikan fitness(metrics) untuk pemilihan checkpoint kustom. Lihat callback fitness.
Aset
SAMPLE_IMAGE adalah path absolut ke gambar yang disertakan dalam paket,
sehingga setiap snippet dalam dokumentasi ini berjalan tanpa mengunduh gambar
terlebih dahulu.
Lazy import dan kelas yang diganti namanya
Sebagian besar nama sibling tier, backend, validator, dan helper data diselesaikan
melalui __getattr__ pada level modul, sehingga mengimpor libreyolo tidak
mengimpor dependency-nya. Import tetap gagal dengan pesan jelas ketika ekstra
yang diperlukan tidak ada.
Dua nama kelas telah diubah dan ejaan lama masih diselesaikan, disertai
DeprecationWarning: LibreYOLORTDETR kini menjadi LibreRTDETR, dan
LibreYOLORFDETR kini menjadi LibreRFDETR.