ConvNeXt

ConvNeXt adalah classifier gambar yang dibangun sepenuhnya dari konvolusi standar, dimodernisasi blok demi blok dari ResNet menuju pilihan desain vision transformer. LibreYOLO mendukungnya untuk satu task: klasifikasi.

Task
classify
Ukuran
t, s, b at 224 px
Instalasi
pip install libreyolo
Tier dukungan
Didukung, sejak v. Model pendukung yang dapat dilatih: CI dijaga tetap lulus, fitur ditambahkan saat ada kesempatan.
Proyek upstream
ConvNeXt oleh Meta AI (FAIR), Apache-2.0. Makalah, sumber
Lisensi
Kode MIT, bobot Apache-2.0. Penggunaan komersial

Instalasi

ConvNeXt tidak memerlukan extra opsional. Semua yang diimpornya sudah ada di instalasi dasar.

bash
pip install libreyolo

Fine-tuning adapter dengan lora=True adalah pengecualiannya, dan memerlukan extra lora.

bash
pip install "libreyolo[lora]"

Prediksi

Bobot diunduh dari Hugging Face saat pertama kali dipakai dan disimpan di cache lokal.

Python
from libreyolo import LibreYOLO, SAMPLE_IMAGE model = LibreYOLO("LibreConvNeXtt-cls.pt")result = model(SAMPLE_IMAGE, save=True) print(result.probs.top1, result.probs.top1conf)print(result.probs.top5)
CLI
libreyolo predict model=LibreConvNeXtt-cls.pt source=cat.jpg save=True

Objek Results yang dikembalikan sama dengan yang dikembalikan setiap family, jadi mengganti model dengan model lain cukup satu baris perubahan. Classifier tidak membawa box atau mask: result.probs menyimpan prediksi untuk seluruh gambar, dengan top1, top5, top1conf dan top5conf. conf, iou dan max_det tetap diterima demi paritas API tetapi tidak berpengaruh, karena pada satu vektor probabilitas tidak ada yang perlu disaring dengan ambang batas atau ditekan. Lihat prediksi untuk sumber, streaming dan penanganan hasil.

Varian

Tiga ukuran, tiny/small/base, semuanya dilatih dan dievaluasi dengan cara yang sama, jadi memilih salah satunya hanyalah pertukaran antara jumlah parameter dan akurasi. Task-nya tetap: setiap ukuran hanya mencakup klasifikasi. Nama berkas bobot selalu berakhiran -cls.pt di semua ukuran, dan sufiks itulah yang dibaca factory untuk mengarahkan ke family ini; argumen task= tidak diperlukan.

Pelatihan

Fine-tuning dimulai dari backbone ImageNet yang dipublikasikan dan membangun ulang lapisan classifier terakhir sesuai jumlah kelas dataset target secara otomatis.

Python
from libreyolo import LibreYOLO model = LibreYOLO("LibreConvNeXtt-cls.pt")model.train(data="imagenette160", epochs=5)
CLI
libreyolo train model=LibreConvNeXtt-cls.pt data=imagenette160 epochs=5
LoRA
from libreyolo import LibreYOLO model = LibreYOLO("LibreConvNeXtt-cls.pt")model.train(data="imagenette160", epochs=5, lora=True)
Multi-GPU
libreyolo train model=LibreConvNeXtt-cls.pt data=imagenette160 \  epochs=50 device=0,1 batch=-1

Tanpa pengaturan tambahan, trainer menjalankan 100 epoch pada lr0=1e-3 dengan AdamW, batch 64 dan early stopping setelah 50 epoch tanpa perbaikan. data menerima root dataset (train/ dan val/, satu folder per kelas), nama pendek yang dikenal seperti imagenette160, atau URL .zip. Blok ConvNeXt memuat MLP nn.Linear yang dibutuhkan LoRA, jadi lora=True didukung di sini, dan menyisipkan adapter ke MLP di dalam blok alih-alih melakukan fine-tuning pada seluruh backbone.

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

Validasi

val() mengembalikan dictionary berisi kunci metrics/. Untuk klasifikasi, isinya akurasi top-1 dan top-5 pada split validasi.

Python
from libreyolo import LibreYOLO model = LibreYOLO("LibreConvNeXtt-cls.pt")metrics = model.val(data="imagenette160") print(metrics["metrics/accuracy_top1"])print(metrics["metrics/accuracy_top5"])
CLI
libreyolo val model=LibreConvNeXtt-cls.pt data=imagenette160

Ekspor

TaskONNXTorchScriptExecuTorchTensorRTOpenVINOPaddleMNNRKNNncnnTFLiteCoreMLCore AI
classifyclassify to ONNX: didukungclassify to TorchScript: didukungclassify to ExecuTorch: didukungclassify to TensorRT: didukungclassify to OpenVINO: didukungclassify to Paddle: tidak didukungclassify to MNN: tidak didukungclassify to RKNN: tidak didukungclassify to ncnn: didukungclassify to TFLite: didukungclassify to CoreML: tidak didukungclassify to Core AI: didukung

Artefak hasil ekspor dimuat kembali lewat LibreYOLO() berdasarkan sufiks berkasnya, jadi berkas .onnx atau .engine berperilaku seperti checkpoint dan mengembalikan Results yang sama. Ekspor memuat daftar argumen yang diterima setiap format dan tambahan yang dipakai beberapa di antaranya.

Python
from libreyolo import LibreYOLO model = LibreYOLO("LibreConvNeXtt-cls.pt")model.export(format="onnx")model.export(format="tensorrt", half=True)
CLI
libreyolo export model=LibreConvNeXtt-cls.pt format=onnxlibreyolo export model=LibreConvNeXtt-cls.pt format=tensorrt half=True
Memakai berkas hasil ekspor
from libreyolo import LibreYOLO, SAMPLE_IMAGE # Factory memilih rute berdasarkan sufiks berkas, jadi artefak hasil# ekspor dimuat seperti checkpoint biasa dan mengembalikan objek# Results yang sama.model = LibreYOLO("LibreConvNeXtt-cls.onnx")result = model(SAMPLE_IMAGE) print(result.probs.top1)

Checkpoint

Semua berkas bobot yang dipublikasikan untuk family ini.

BerkasInput (piksel)Lisensi bobot
classify
LibreConvNeXtt-cls.pt224apache-2.0
LibreConvNeXts-cls.pt224apache-2.0
LibreConvNeXtb-cls.pt224apache-2.0

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
ConvNeXt, Meta AI (FAIR)
Lisensi upstream
Apache-2.0
Kode LibreYOLO
MIT
Bobot
Apache-2.0, dipublikasikan ulang di huggingface.co/LibreYOLO
Interpretasi
Apache-2.0 is a permissive license, so these weights can be used in commercial and closed-source products. It asks you to keep its license text and attribution notices with any copy of the weights you redistribute, and it grants a patent license. It places no obligation on your own application code, and weights you train yourself on your own data are yours. The architecture is Meta AI's original design, released under MIT at facebookresearch/ConvNeXt; the block definitions, layer-scale parameter and module naming that LibreYOLO's implementation follows come from timm, whose convnext_{tiny,small,base}.fb_in1k ImageNet-1k weights are licensed Apache-2.0 and are what LibreYOLO ships. Only ConvNeXt V1 is shipped here: ConvNeXt-V2's small pretrained checkpoints are CC-BY-NC 4.0 and are deliberately excluded as not redistributable in a commercial library.

Hanya ConvNeXt V1 yang disertakan di family ini. Checkpoint pretrained kecil milik ConvNeXt-V2 berlisensi CC-BY-NC 4.0 dan sengaja tidak disertakan, karena bobot non-komersial tidak bisa didistribusikan ulang di dalam library MIT/komersial.

Sitasi

@Article{liu2022convnet,
  author  = {Zhuang Liu and Hanzi Mao and Chao-Yuan Wu and Christoph Feichtenhofer and Trevor Darrell and Saining Xie},
  title   = {A ConvNet for the 2020s},
  journal = {Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)},
  year    = {2022},
}

Disalin dari blok sitasi penulis di github.com/facebookresearch/ConvNeXt#citation.

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.