RetinaNet
RetinaNet adalah detektor satu tahap yang dilatih dengan focal loss, yang menurunkan bobot negatif mudah sehingga grid anchor padat tidak lagi memerlukan tahap proposal terpisah untuk mempertahankan akurasi. LibreYOLO mem-porting implementasi torchvision untuk deteksi.
- Task
- detection
- Ukuran
- r50, r50v2 at 800 px
- Instalasi
pip install libreyolo- Tier dukungan
- Hanya inferensi, sejak v. Hanya prediksi, validasi, dan ekspor. Fitur pelatihan tidak berlaku.
- Lisensi
- Kode BSD-3-Clause, bobot BSD-3-Clause. Penggunaan komersial
Instalasi
RetinaNet tidak memerlukan komponen tambahan opsional. Semua impornya tersedia dalam instalasi dasar.
pip install libreyoloPrediksi
Bobot diunduh dari Hugging Face saat pertama kali digunakan dan disimpan dalam cache lokal.
from libreyolo import LibreYOLO, SAMPLE_IMAGE model = LibreYOLO("LibreRetinaNetr50v2.pt")result = model(SAMPLE_IMAGE, save=True) for box in result.boxes: print(box.cls, box.conf, box.xyxy)libreyolo predict model=LibreRetinaNetr50v2.pt source=https://raw.githubusercontent.com/LibreYOLO/libreyolo/release/libreyolo/assets/parkour.jpg save=TrueObjek Results yang dikembalikan sama dengan yang dikembalikan setiap family, jadi mengganti
detektor hanya memerlukan perubahan satu baris. conf dan iou menetapkan ambang batas
confidence dan NMS; RetinaNet mempertahankan tahap NMS upstream pada grid anchor
padat. Lihat prediksi untuk sumber, streaming, dan penanganan hasil.
Varian
Dua ukuran, keduanya memakai ResNet-50 dengan feature pyramid: r50 memakai head
asli, sedangkan r50v2 menggantinya dengan head GroupNorm dan block P6 lebih lebar
yang menerima input dari tahap terakhir backbone, bukan output FPN.
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.
from libreyolo import LibreYOLO model = LibreYOLO("LibreRetinaNetr50v2.pt")metrics = model.val(data="my-dataset.yaml") print(metrics["metrics/mAP50-95"])print(metrics["metrics/mAP50"])libreyolo val model=LibreRetinaNetr50v2.pt data=my-dataset.yamlEkspor
| Task | ONNX | TorchScript | ExecuTorch | TensorRT | OpenVINO | Paddle | MNN | RKNN | ncnn | TFLite | CoreML | Core AI |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Detection | Detection to ONNX: didukung | Detection to TorchScript: tidak didukung | Detection to ExecuTorch: tidak didukung | Detection to TensorRT: tidak didukung | Detection to OpenVINO: tidak didukung | Detection to Paddle: tidak didukung | Detection to MNN: tidak didukung | Detection to RKNN: tidak didukung | Detection to ncnn: tidak didukung | Detection to TFLite: tidak didukung | Detection to CoreML: tidak didukung | Detection to Core AI: tidak didukung |
RetinaNet hanya dapat diekspor ke ONNX dengan ukuran batch 1. RetinaNet mengubah ukuran
ke input variabel dengan rasio aspek dipertahankan, sehingga LibreYOLO memaksa
dynamic=True terlepas dari nilai yang diteruskan agar graph tetap valid untuk sumber
dengan bentuk berbeda. Berkas .onnx hasil ekspor dimuat kembali melalui LibreYOLO()
berdasarkan sufiks berkas dan mengembalikan Results yang sama.
from libreyolo import LibreYOLO model = LibreYOLO("LibreRetinaNetr50v2.pt")model.export(format="onnx", imgsz=800)libreyolo export model=LibreRetinaNetr50v2.pt format=onnx imgsz=800from 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("LibreRetinaNetr50v2.onnx")result = model(SAMPLE_IMAGE) print(result.boxes.xyxy)Checkpoint
Setiap berkas bobot yang dipublikasikan untuk family ini.
| Berkas | Input (piksel) | Lisensi bobot |
|---|---|---|
| Detection | ||
| LibreRetinaNetr50.pt | 800 | bsd-3-clause |
| LibreRetinaNetr50v2.pt | 800 | bsd-3-clause |
Setiap berkas di atas saat ini tersedia di organisasi LibreYOLO dan diunduh saat pertama kali digunakan.
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
- RetinaNet, PyTorch
- Lisensi upstream
- BSD-3-Clause
- Sumber upstream
- github.com/pytorch/vision
- Kode LibreYOLO
- MIT
- Bobot
- BSD-3-Clause, dipublikasikan ulang di huggingface.co/LibreYOLO
- Interpretasi
- BSD-3-Clause is a permissive license, so this code can be used in commercial and closed-source products with no obligation on your own application code. It asks only that you keep the copyright notice and disclaimer with any copy you redistribute, and it carries no patent grant. The two published checkpoints used for parity testing are not distributed in the LibreYOLO source tree: torchvision's own documentation notes that a pretrained model's terms may depend on its training data, so each Hugging Face mirror ships the BSD text on that implied basis and repeats the caveat rather than issuing an explicit checkpoint-specific grant.