YOLO-NAS

Detektor konvolusional yang backbone dan neck-nya dihasilkan oleh pencarian arsitektur Deci.AI, dibuat dari block RepVGG yang menyadari kuantisasi. Bobotnya milik Deci.AI, berlisensi hanya untuk penggunaan nonkomersial, dan LibreYOLO tidak menerbitkan satu pun.

Task
detection, pose
Ukuran
s, m, l at 640 px
Instalasi
pip install libreyolo
Tier dukungan
Inti, sejak v1.1.0. Detektor inti yang dapat dilatih: fitur menyusul tier unggulan dalam gelombang rilis yang sama.
Proyek upstream
YOLO-NAS oleh Deci.AI, Deci.AI proprietary, non-commercial. Makalah, sumber
Lisensi
Kode Apache-2.0, bobot Deci.AI proprietary, non-commercial. Penggunaan komersial

Instalasi

YOLO-NAS tidak memerlukan komponen tambahan selain paket dasar.

bash
pip install libreyolo

Prediksi

Nama checkpoint yang belum tersedia di disk diambil dari CDN publik Deci, bukan organisasi LibreYOLO, yang tidak meng-host bobot ini. Sebelum transfer dimulai, library mencetak ketentuan lisensi Deci satu kali per proses, dan sebelum berkas unduhan dibuka, SHA-256-nya diperiksa terhadap nilai yang ditetapkan. Izin yang diberikan ketentuan tersebut dijelaskan dalam lisensi.

Python
from libreyolo import LibreYOLO, SAMPLE_IMAGE # Nama yang belum tersedia di disk diambil dari CDN Deci. Pengunduhan# mencetak ketentuan lisensi Deci terlebih dahulu; mengambil berkas berarti menerimanya.model = LibreYOLO("LibreYOLONASs.pt")result = model(SAMPLE_IMAGE, save=True) for box in result.boxes:    print(box.cls, box.conf, box.xyxy)
CLI
libreyolo predict model=LibreYOLONASs.pt save=True \  source=https://raw.githubusercontent.com/LibreYOLO/libreyolo/release/libreyolo/assets/parkour.jpg
Pose
from libreyolo import LibreYOLO, SAMPLE_IMAGE # Sufiks -pose memilih head pose dan kumpulan bobotnya sendiri.model = LibreYOLO("LibreYOLONASs-pose.pt")result = model(SAMPLE_IMAGE) print(result.keypoints.xy)

Objek Results yang dikembalikan sama dengan yang dikembalikan setiap family, jadi mengganti detektor hanya memerlukan perubahan satu baris. conf menetapkan ambang batas confidence dan iou menetapkan ambang NMS. Lihat prediksi untuk sumber, streaming, dan penanganan hasil.

Varian

Deteksi dan pose memakai arsitektur yang sama di bawah head berbeda, serta menerima argumen yang sama. Ukuran pada tabel di bawah adalah ukuran deteksi; pose diterbitkan pada ukuran tersebut dan satu ukuran lebih kecil. Head pose memprediksi kumpulan keypoint COCO.

CheckpointInput (piksel)mAP 50-95Parameter (juta)
LibreYOLONASl64056.366.98
LibreYOLONASm64055.451.18
LibreYOLONASs64051.819.05

COCO val2017, 500 images. Diukur oleh perangkat benchmark LibreYOLO dan dipublikasikan di Vision Analysis, tempat latensi pada berbagai hardware dan runtime dibandingkan serta rekaman lengkap setiap pengujian tersedia.

Pelatihan

Python
from libreyolo import LibreYOLO model = LibreYOLO("LibreYOLONASs.pt")model.train(data="my-dataset.yaml", epochs=100, imgsz=640, batch=16)
CLI
libreyolo train model=LibreYOLONASs.pt data=my-dataset.yaml \  epochs=100 imgsz=640 batch=16
Dari nol
from libreyolo import LibreYOLONAS # Tidak ada checkpoint Deci yang disentuh: model dimulai dari bobot acak,# sehingga hasil proses hanya diturunkan dari data Anda.model = LibreYOLONAS(None, size="s")model.train(data="my-dataset.yaml", imgsz=640, batch=16)

epochs, lr0, dan amp ditentukan per task jika dihilangkan, sehingga proses pose dimulai dengan default berbeda dari proses deteksi. Optimizer memakai AdamW secara default. Jumlah kelas berasal dari YAML dataset dan head dibangun ulang agar sesuai sebelum epoch pertama; pada head pose, jumlah keypoint ditangani dengan cara yang sama, sehingga checkpoint pose COCO dapat di-fine-tune ke skeleton berukuran berbeda.

Fine-tuning dimulai dari bobot Deci, yang dicakup oleh lisensi Deci. Pelatihan dari model yang diinisialisasi secara acak sama sekali tidak melibatkan checkpoint Deci, dan itulah snippet ketiga di atas.

Lihat pelatihan untuk dataset, augmentasi, multi-GPU, dan logger.

Validasi

val() mengembalikan dictionary dengan key metrics/ yang mencakup presisi, recall, mAP 50, dan mAP 50-95, yang diukur terhadap dataset apa pun dalam format yang digunakan untuk pelatihan.

Python
from libreyolo import LibreYOLO model = LibreYOLO("LibreYOLONASs.pt")metrics = model.val(data="my-dataset.yaml") print(metrics["metrics/mAP50-95"])print(metrics["metrics/mAP50"])
CLI
libreyolo val model=LibreYOLONASs.pt data=my-dataset.yaml
Dibandingkan dengan COCO
# YAML COCO bawaan menyertakan skrip unduhan tertanam, sehingga# memerlukan izin eksplisit kecuali dataset sudah tersedia secara lokal.libreyolo val model=LibreYOLONASl.pt data=coco.yaml imgsz=640 \  allow_download_scripts=True

Ekspor

TaskONNXTorchScriptExecuTorchTensorRTOpenVINOPaddleMNNRKNNncnnTFLiteCoreMLCore AI
DetectionDetection to ONNX: didukungDetection to TorchScript: didukungDetection to ExecuTorch: didukungDetection to TensorRT: didukungDetection to OpenVINO: didukungDetection to Paddle: didukungDetection to MNN: didukungDetection to RKNN: didukungDetection to ncnn: didukungDetection to TFLite: didukungDetection to CoreML: tidak didukungDetection to Core AI: didukung
PosePose to ONNX: didukungPose to TorchScript: didukungPose to ExecuTorch: didukungPose to TensorRT: didukungPose to OpenVINO: didukungPose to Paddle: didukungPose to MNN: tidak didukungPose to RKNN: tidak didukungPose to ncnn: didukungPose to TFLite: tidak didukungPose to CoreML: tidak didukungPose to Core AI: tidak didukung

Artefak hasil ekspor dimuat kembali melalui LibreYOLO() berdasarkan sufiks berkasnya, sehingga berkas .onnx atau .engine berperilaku seperti checkpoint dan mengembalikan Results yang sama. Menjalankan graph pada runtime mandiri tanpa memasang LibreYOLO juga didukung, tetapi prapemrosesan dan pascapemrosesannya harus ditulis sendiri. Setiap format memasang komponen tambahan berbeda dan menerima beberapa argumen sendiri. Keduanya dijelaskan pada halaman format tersebut.

Ekspor merupakan salinan lain dari bobot yang sama dalam container berbeda. Mengekspor checkpoint Deci tidak mengubah asal bobot maupun lisensi yang mencakupnya.

Python
from libreyolo import LibreYOLO model = LibreYOLO("LibreYOLONASs.pt")model.export(format="onnx", imgsz=640)
CLI
libreyolo export model=LibreYOLONASs.pt format=onnx imgsz=640
Gunakan berkas hasil ekspor
from libreyolo import LibreYOLO, SAMPLE_IMAGE # Factory merutekan berdasarkan sufiks berkas, sehingga artefak hasil ekspor# dimuat seperti checkpoint lain dan mengembalikan objek Results yang sama.model = LibreYOLO("LibreYOLONASs.onnx")result = model(SAMPLE_IMAGE) print(result.boxes.xyxy)

Checkpoint

Tidak ada yang dapat dicantumkan. Lisensi Deci melarang distribusi ulang, sehingga organisasi LibreYOLO tidak menerbitkan bobot YOLO-NAS dan unduhan diselesaikan di tempat lain: nama berbentuk LibreYOLONAS<size>.pt, atau LibreYOLONAS<size>-pose.pt untuk pose, dipetakan ke objek yang sesuai pada CDN publik Deci.

Hanya checkpoint dengan SHA-256 yang ditetapkan library yang dapat diambil dengan cara itu. Semua yang lain gagal dalam kondisi tertutup, bukan membuka pickle pihak ketiga yang belum diverifikasi, dan harus diunduh secara manual lalu diteruskan sebagai path. Berkas yang sudah ada di disk dimuat dari path-nya tanpa pengunduhan dan tanpa pemeriksaan checksum. Ini termasuk berkas .pth Deci dengan nama aslinya, yang dikenali loader.

Lisensi

Periksa lisensi di repositori Hugging Face untuk bobot tertentu yang diunduh. Setiap checkpoint di organisasi LibreYOLO memiliki lisensi, dan lisensinya tidak selalu sama dalam satu family. Repositori tersebut adalah sumber resmi. Ringkasan di bawah menjelaskan ketentuan yang berlaku saat halaman ini terakhir diverifikasi.

Ini adalah deskripsi lisensi yang terlibat, bukan nasihat hukum. Jika jawabannya penting secara komersial, baca sendiri lisensinya dan mintalah nasihat dari penasihat hukum Anda.

Karya asli
YOLO-NAS, Deci.AI
Lisensi upstream
Deci.AI proprietary, non-commercial
Kode LibreYOLO
MIT
Bobot
Deci.AI proprietary, non-commercial, didistribusikan oleh penulisnya. LibreYOLO tidak menghosting atau mencerminkannya.
Interpretasi
Two licenses apply here and they are not the same. The SuperGradients source this port follows is Apache-2.0 and LibreYOLO's own implementation is MIT, so nothing restricts the architecture or the training code. Deci's published checkpoints are a different matter: the YOLO-NAS license grants a revocable, non-transferable right to use them and nothing more. It forbids redistribution and sublicensing, forbids offering them as a managed or remote service, restricts modification and reverse engineering, and rules out commercial use, including any model running in a production environment, unless you hold a separate agreement with Deci. LibreYOLO therefore does not mirror them, and prints those terms once before the download starts. Weights trained from a randomly initialized model on your own data derive from no Deci checkpoint.

LibreYOLO tidak meng-host atau mencerminkan bobot ini: tidak ada apa pun untuk family ini dalam organisasi Hugging Face LibreYOLO. Setiap pengunduhan otomatis menuju CDN publik Deci, mencetak ketentuan Deci satu kali per proses sebelum dimulai, dan diperiksa terhadap SHA-256 yang ditetapkan sebelum berkas dibuka.

Pelatihan dari model yang diinisialisasi secara acak adalah alternatifnya. Arsitektur berlisensi Apache-2.0 di upstream dan MIT di sini, sehingga model yang dilatih dengan cara tersebut pada data sendiri tidak diturunkan dari checkpoint Deci.

Sitasi

YOLO-NAS dirilis tanpa makalah. Entri di bawah adalah yang diminta penulisnya dan mencakup SuperGradients, library tempat model ini dirilis.

@misc{supergradients,
  doi = {10.5281/ZENODO.7789328},
  url = {https://zenodo.org/record/7789328},
  author = {Aharon,  Shay and {Louis-Dupont} and {Ofri Masad} and Yurkova,  Kate and {Lotem Fridman} and {Lkdci} and Khvedchenya,  Eugene and Rubin,  Ran and Bagrov,  Natan and Tymchenko,  Borys and Keren,  Tomer and Zhilko,  Alexander and {Eran-Deci}},
  title = {Super-Gradients},
  publisher = {GitHub},
  journal = {GitHub repository},
  year = {2021},
}

Disalin dari blok sitasi penulis di github.com/Deci-AI/super-gradients#citing.

Diverifikasi dengan LibreYOLO v1.5.0. Tabel dukungan, checkpoint, dan angka benchmark di halaman ini dihasilkan dari library yang telah dirilis dan bobot yang dipublikasikan, bukan ditulis manual.