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.
- Lisensi
- Kode Apache-2.0, bobot Apache-2.0. Penggunaan komersial
Instalasi
MobileNetV4 tidak memerlukan extra opsional. Semua yang diimpornya 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("LibreMobileNetV4s-cls.pt")result = model(SAMPLE_IMAGE, save=True) print(result.probs.top1, result.probs.top1conf)print(result.probs.top5)libreyolo predict model=LibreMobileNetV4s-cls.pt source=cat.jpg save=TrueObjek 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.
from libreyolo import LibreYOLO model = LibreYOLO("LibreMobileNetV4s-cls.pt")model.train(data="imagenette160", epochs=5)libreyolo train model=LibreMobileNetV4s-cls.pt data=imagenette160 epochs=5libreyolo train model=LibreMobileNetV4s-cls.pt data=imagenette160 \ epochs=50 device=0,1 batch=-1Jika 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.
from libreyolo import LibreYOLO model = LibreYOLO("LibreMobileNetV4s-cls.pt")metrics = model.val(data="imagenette160") print(metrics["metrics/accuracy_top1"])print(metrics["metrics/accuracy_top5"])libreyolo val model=LibreMobileNetV4s-cls.pt data=imagenette160Ekspor
| Task | ONNX | TorchScript | ExecuTorch | TensorRT | OpenVINO | Paddle | MNN | RKNN | ncnn | TFLite | CoreML | Core AI |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| classify | classify to ONNX: didukung | classify to TorchScript: didukung | classify to ExecuTorch: didukung | classify to TensorRT: didukung | classify to OpenVINO: didukung | classify to Paddle: tidak didukung | classify to MNN: tidak didukung | classify to RKNN: tidak didukung | classify to ncnn: didukung | classify to TFLite: didukung | classify to CoreML: tidak didukung | classify 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.
from libreyolo import LibreYOLO model = LibreYOLO("LibreMobileNetV4s-cls.pt")model.export(format="onnx")model.export(format="tensorrt", half=True)libreyolo export model=LibreMobileNetV4s-cls.pt format=onnxlibreyolo export model=LibreMobileNetV4s-cls.pt format=tensorrt half=Truefrom 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.
| Berkas | Input (piksel) | Lisensi bobot |
|---|---|---|
| classify | ||
| LibreMobileNetV4s-cls.pt | 224 | apache-2.0 |
| LibreMobileNetV4m-cls.pt | 224 | apache-2.0 |
| LibreMobileNetV4l-cls.pt | 256 | apache-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
- Sumber upstream
- github.com/huggingface/pytorch-image-models
- 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.