ViT
Vision Transformer klasik: transformer murni yang diterapkan pada patch gambar berukuran tetap, dengan token kelas yang dipelajari dan tanpa konvolusi. LibreYOLO menyediakan empat ukuran pretrained AugReg untuk klasifikasi gambar.
- Task
- classify
- Ukuran
- ti, s, b, l at 224 px
- Instalasi
pip install libreyolo- Tier dukungan
- Hanya inferensi, sejak v. Hanya prediksi, validasi, dan ekspor. Fitur pelatihan tidak berlaku.
- Lisensi
- Kode Apache-2.0, bobot Apache-2.0. Penggunaan komersial
Instalasi
ViT 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("LibreViTti-cls.pt")result = model(SAMPLE_IMAGE, save=True) probs = result.probsprint(probs.top1, probs.top1conf)print(probs.top5, probs.top5conf)libreyolo predict model=LibreViTti-cls.pt source=https://raw.githubusercontent.com/LibreYOLO/libreyolo/release/libreyolo/assets/parkour.jpg save=TruePengklasifikasi mengembalikan result.probs, bukan result.boxes: top1 dan top5
memberikan indeks kelas, sedangkan top1conf dan top5conf memberikan confidence-nya.
Prapemrosesan mengubah ukuran dan melakukan center crop ke input tetap 224px dengan resep
evaluasi AugReg milik timm: interpolasi bikubik pada fraksi crop 0.9. Lihat
prediksi untuk sumber, streaming, dan penanganan hasil.
Varian
Empat ukuran, tiny hingga large, yang memakai satu graph patch-16 tetap pada 224px dan berbeda dalam lebar embedding serta kedalaman transformer. LibreYOLO menyediakan family ini khusus untuk inferensi: prediksi, validasi top-1/top-5 bergaya ImageNet, dan ekspor didukung, sedangkan resep fine-tuning AugReg tidak diimplementasikan.
Validasi
val() berjalan terhadap split bergaya ImageFolder (direktori dengan subfolder train/
dan val/, satu folder per kelas) dan mengembalikan akurasi top-1 dan top-5.
from libreyolo import LibreYOLO model = LibreYOLO("LibreViTti-cls.pt") # data adalah root direktori dengan split folder kelas train/ dan val/# (tata letak ImageFolder), bukan YAML dataset.metrics = model.val(data="imagenet-1k/") print(metrics["metrics/accuracy_top1"])print(metrics["metrics/accuracy_top5"])libreyolo val model=LibreViTti-cls.pt data=imagenet-1k/Ekspor
| 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: tidak didukung | classify to CoreML: tidak didukung | classify 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. Ekspor mencantumkan argumen yang diterima setiap format
beserta komponen tambahan yang disediakan beberapa format.
from libreyolo import LibreYOLO model = LibreYOLO("LibreViTti-cls.pt")model.export(format="onnx")model.export(format="tensorrt", half=True)libreyolo export model=LibreViTti-cls.pt format=onnxlibreyolo export model=LibreViTti-cls.pt format=tensorrt half=Truefrom 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("LibreViTti-cls.onnx")result = model(SAMPLE_IMAGE) print(result.probs.top1)Checkpoint
Setiap berkas bobot yang dipublikasikan untuk family ini.
| Berkas | Input (piksel) | Lisensi bobot |
|---|---|---|
| classify | ||
| LibreViTti-cls.pt | 224 | apache-2.0 |
| LibreViTs-cls.pt | 224 | apache-2.0 |
| LibreViTb-cls.pt | 224 | apache-2.0 |
| LibreViTl-cls.pt | 224 | 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
- ViT, Google Research
- Lisensi upstream
- Apache-2.0
- Sumber upstream
- github.com/google-research/vision_transformer
- 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. LibreYOLO's runtime code for this family is a derived port of the Apache-2.0 timm Vision Transformer implementation (Ross Wightman, huggingface/pytorch-image-models), kept checkpoint-compatible with the shipped tensors. The four AugReg checkpoints themselves are timm's Apache-2.0 conversion of Google Research's own AugReg pretraining, so the code and the weights carry the same permissive terms end to end.
Sitasi
@article{dosovitskiy2020vit,
title={An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale},
author={Dosovitskiy, Alexey and Beyer, Lucas and Kolesnikov, Alexander and Weissenborn, Dirk and Zhai, Xiaohua and Unterthiner, Thomas and Dehghani, Mostafa and Minderer, Matthias and Heigold, Georg and Gelly, Sylvain and Uszkoreit, Jakob and Houlsby, Neil},
journal={ICLR},
year={2021}
}
@article{steiner2021augreg,
title={How to train your ViT? Data, Augmentation, and Regularization in Vision Transformers},
author={Steiner, Andreas and Kolesnikov, Alexander and and Zhai, Xiaohua and Wightman, Ross and Uszkoreit, Jakob and Beyer, Lucas},
journal={arXiv preprint arXiv:2106.10270},
year={2021}
}Disalin dari blok sitasi penulis di github.com/google-research/vision_transformer#bibtex.