MobileNetV4

MobileNetV4 adalah classifier gambar untuk perangkat mobile dan edge yang memakai blok Universal Inverted Bottleneck guna menyatukan beberapa desain blok mobile terdahulu ke satu struktur yang dapat dicari. LibreYOLO mendukungnya untuk satu task: klasifikasi.

Task
classify
Ukuran
s, m, l at 224 to 256 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
MobileNetV4 oleh Google, Apache-2.0. Makalah, sumber
Lisensi
Kode Apache-2.0, bobot Apache-2.0. Penggunaan komersial

Instalasi

MobileNetV4 tidak memerlukan extra opsional. Semua yang diimpornya tersedia dalam instalasi dasar.

bash
pip install libreyolo

Prediksi

Bobot diunduh dari Hugging Face saat pertama kali digunakan dan disimpan dalam cache lokal.

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

Objek Results yang dikembalikan sama seperti yang dikembalikan setiap family, sehingga mengganti model hanya memerlukan perubahan satu baris. Classifier tidak memiliki box atau mask. result.probs memuat prediksi seluruh gambar dengan top1, top5, top1conf, dan top5conf. conf, iou, dan max_det diterima demi paritas API, tetapi tidak berpengaruh karena tidak ada yang perlu diberi ambang batas atau di-suppress pada satu vektor probabilitas. Lihat prediksi untuk sumber, streaming, dan penanganan hasil.

Varian

Ada tiga ukuran, small/medium/large, semuanya hanya berbasis konvolusi. Family ini tidak menyertakan varian hybrid yang menambahkan attention Mobile MQA. Pemilihan ukuran merupakan pertukaran langsung antara jumlah parameter dan akurasi. Task-nya tetap: setiap ukuran hanya mencakup klasifikasi. Nama berkas bobot berakhiran -cls.pt pada setiap ukuran, dan akhiran itulah yang dibaca factory untuk merutekan ke family ini. Argumen task= tidak diperlukan.

Pelatihan

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

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

Jika dibiarkan, trainer berjalan selama 100 epoch pada lr0=1e-3 dengan AdamW, batch 64, dan early stopping setelah 50 epoch tanpa peningkatan. data menerima root dataset (train/ dan val/, satu folder per kelas), nama pendek yang dikenal seperti imagenette160, atau URL .zip. lora=True tidak didukung di sini. Meneruskannya memunculkan error karena LoRA di LibreYOLO menargetkan komponen transformer dengan lapisan nn.Linear, sedangkan blok UIB family ini tidak memilikinya.

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

Validasi

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

Python
from libreyolo import LibreYOLO model = LibreYOLO("LibreMobileNetV4s-cls.pt")metrics = model.val(data="imagenette160") print(metrics["metrics/accuracy_top1"])print(metrics["metrics/accuracy_top5"])
CLI
libreyolo val model=LibreMobileNetV4s-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 dapat dimuat kembali melalui LibreYOLO() berdasarkan akhiran berkasnya, sehingga berkas .onnx atau .engine berperilaku seperti checkpoint dan mengembalikan Results yang sama. Ekspor mencantumkan argumen yang diterima setiap format serta extra yang ditambahkan oleh beberapa format.

Python
from libreyolo import LibreYOLO model = LibreYOLO("LibreMobileNetV4s-cls.pt")model.export(format="onnx")model.export(format="tensorrt", half=True)
CLI
libreyolo export model=LibreMobileNetV4s-cls.pt format=onnxlibreyolo export model=LibreMobileNetV4s-cls.pt format=tensorrt half=True
Gunakan berkas hasil ekspor
from libreyolo import LibreYOLO, SAMPLE_IMAGE # Factory merutekan berdasarkan akhiran berkas, sehingga artefak hasil ekspor dimuat# seperti checkpoint lain dan mengembalikan objek Results yang sama.model = LibreYOLO("LibreMobileNetV4s-cls.onnx")result = model(SAMPLE_IMAGE) print(result.probs.top1)

Checkpoint

Semua berkas bobot yang dipublikasikan untuk family ini.

BerkasInput (piksel)Lisensi bobot
classify
LibreMobileNetV4s-cls.pt224apache-2.0
LibreMobileNetV4m-cls.pt224apache-2.0
LibreMobileNetV4l-cls.pt256apache-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
MobileNetV4, Google
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 Google's design, whose official code lives in the tensorflow/models repository; LibreYOLO's implementation follows the conv-only MobileNetV4 (small/medium/large) block definitions, channel rounding and naming in timm, whose mobilenetv4_conv_{small,medium,large} ImageNet-1k weights are licensed Apache-2.0 and are what LibreYOLO ships. The hybrid variants, which add Mobile MQA attention, are not part of this family.

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.