Swin Transformer

Swin Transformer V1: vision transformer hierarkis yang menghitung attention di dalam window lokal bergeser, bukan di seluruh gambar. LibreYOLO menyediakan empat ukuran untuk klasifikasi gambar.

Task
classify
Ukuran
t, 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.
Proyek upstream
Swin Transformer oleh Microsoft Research, MIT. Makalah, sumber
Lisensi
Kode Apache-2.0, bobot MIT. Penggunaan komersial

Instalasi

Swin tidak memerlukan komponen tambahan opsional. Semua impornya 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("LibreSwint-cls.pt")result = model(SAMPLE_IMAGE, save=True) probs = result.probsprint(probs.top1, probs.top1conf)print(probs.top5, probs.top5conf)
CLI
libreyolo predict model=LibreSwint-cls.pt source=https://raw.githubusercontent.com/LibreYOLO/libreyolo/release/libreyolo/assets/parkour.jpg save=True

Pengklasifikasi mengembalikan result.probs, bukan result.boxes: top1 dan top5 memberikan indeks kelas, sedangkan top1conf dan top5conf memberikan confidence-nya. Setiap ukuran ditetapkan pada input 224px karena tahap attention akhir dibuat untuk resolusi tersebut; prediksi, validasi, dan ekspor semuanya memunculkan error jika imgsz berbeda diteruskan. Lihat prediksi untuk sumber, streaming, dan penanganan hasil.

Varian

Empat ukuran, tiny hingga large, dibuat dari tower shifted-window yang sama dan berbeda dalam lebar embedding serta kedalaman tahap. Large di-pretrain pada ImageNet-22k dan dilakukan fine-tuning pada ImageNet-1k; tiga lainnya dilatih langsung pada ImageNet-1k. LibreYOLO menyediakan family ini khusus untuk inferensi: prediksi, validasi top-1/top-5 bergaya ImageNet, dan ekspor didukung, sedangkan resep pelatihan ImageNet upstream 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.

Python
from libreyolo import LibreYOLO model = LibreYOLO("LibreSwint-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"])
CLI
libreyolo val model=LibreSwint-cls.pt data=imagenet-1k/

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: tidak didukungclassify to CoreML: tidak didukungclassify 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.

Python
from libreyolo import LibreYOLO model = LibreYOLO("LibreSwint-cls.pt")model.export(format="onnx")model.export(format="tensorrt", half=True)
CLI
libreyolo export model=LibreSwint-cls.pt format=onnxlibreyolo export model=LibreSwint-cls.pt format=tensorrt half=True
Gunakan berkas hasil ekspor
from 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("LibreSwint-cls.onnx")result = model(SAMPLE_IMAGE) print(result.probs.top1)

Checkpoint

Setiap berkas bobot yang dipublikasikan untuk family ini.

BerkasInput (piksel)Lisensi bobot
classify
LibreSwint-cls.pt224mit
LibreSwins-cls.pt224mit
LibreSwinb-cls.pt224mit
LibreSwinl-cls.pt224mit

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
Swin Transformer, Microsoft Research
Lisensi upstream
MIT
Kode LibreYOLO
MIT
Bobot
MIT, dipublikasikan ulang di huggingface.co/LibreYOLO
Interpretasi
MIT is a permissive license, so these weights can be used in commercial and closed-source products. It asks only that you keep the license text and copyright notice with any copy you redistribute, and it carries no explicit patent grant. LibreYOLO's runtime code for this family is a derived port of the Apache-2.0 timm Swin implementation (Ross Wightman, huggingface/pytorch-image-models), kept parameter-name compatible so the tensors load unchanged; the four released Tiny/Small/Base/Large checkpoints are Microsoft's own MIT-licensed patch-4/window-7 classifiers. Code and weights therefore sit under two different permissive licenses, both of which allow commercial use.

Sitasi

@inproceedings{liu2021Swin,
  title={Swin Transformer: Hierarchical Vision Transformer using Shifted Windows},
  author={Liu, Ze and Lin, Yutong and Cao, Yue and Hu, Han and Wei, Yixuan and Zhang, Zheng and Lin, Stephen and Guo, Baining},
  booktitle={Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV)},
  year={2021}
}

Disalin dari blok sitasi penulis di github.com/microsoft/Swin-Transformer#citing-swin-transformer.

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.