ResNet

ResNet adalah pengklasifikasi gambar yang dibangun dari residual block dan skip connection, sehingga jaringan dapat menambahkan jauh lebih banyak lapisan tanpa kehilangan akurasi seperti pada tumpukan konvolusional biasa yang dalam. LibreYOLO mendukungnya untuk satu task: klasifikasi.

Task
classify
Ukuran
18, 34, 50, 101 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
ResNet oleh Microsoft Research Asia, Apache-2.0. Makalah, sumber
Lisensi
Kode Apache-2.0, bobot Apache-2.0. Penggunaan komersial

Instalasi

ResNet 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("LibreResNet50-cls.pt")result = model(SAMPLE_IMAGE, save=True) print(result.probs.top1, result.probs.top1conf)print(result.probs.top5)
CLI
libreyolo predict model=LibreResNet50-cls.pt source=cat.jpg save=True

Objek Results yang dikembalikan sama dengan yang dikembalikan setiap family, jadi mengganti model hanya memerlukan perubahan satu baris. Pengklasifikasi tidak memiliki kotak atau mask: result.probs menyimpan prediksi seluruh gambar dengan top1, top5, top1conf, dan top5conf. conf, iou, dan max_det diterima demi kesetaraan API tetapi tidak berpengaruh karena tidak ada yang perlu diberi ambang batas atau ditekan pada satu vektor probabilitas. Lihat prediksi untuk sumber, streaming, dan penanganan hasil.

Varian

Empat kedalaman, semuanya dilatih dan dievaluasi dengan cara yang sama, sehingga pemilihannya merupakan pertukaran langsung antara jumlah parameter dan akurasi. Task-nya tetap: setiap ukuran hanya mencakup klasifikasi. Nama berkas bobot berakhir dengan -cls.pt pada setiap ukuran, dan sufiks itulah yang dibaca factory untuk merutekan ke family ini; argumen task= tidak diperlukan.

Pelatihan

Fine-tuning dimulai dari backbone ImageNet yang dipublikasikan dan secara otomatis membangun ulang lapisan pengklasifikasi akhir agar sesuai dengan jumlah kelas dataset target.

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

Jika dibiarkan, pelatih 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 akan memunculkan error karena LoRA di LibreYOLO menargetkan komponen transformer dengan lapisan nn.Linear, sedangkan ResNet tidak memilikinya.

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

Validasi

val() mengembalikan dictionary dengan key metrics/. Untuk klasifikasi, key tersebut mencakup akurasi top-1 dan top-5 pada split validasi.

Python
from libreyolo import LibreYOLO model = LibreYOLO("LibreResNet50-cls.pt")metrics = model.val(data="imagenette160") print(metrics["metrics/accuracy_top1"])print(metrics["metrics/accuracy_top5"])
CLI
libreyolo val model=LibreResNet50-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 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("LibreResNet50-cls.pt")model.export(format="onnx")model.export(format="tensorrt", half=True)
CLI
libreyolo export model=LibreResNet50-cls.pt format=onnxlibreyolo export model=LibreResNet50-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("LibreResNet50-cls.onnx")result = model(SAMPLE_IMAGE) print(result.probs.top1)

Checkpoint

Setiap berkas bobot yang dipublikasikan untuk family ini.

BerkasInput (piksel)Lisensi bobot
classify
LibreResNet18-cls.pt224apache-2.0
LibreResNet34-cls.pt224apache-2.0
LibreResNet50-cls.pt224apache-2.0
LibreResNet101-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
ResNet, Microsoft Research Asia
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 the original Microsoft Research Asia design; the pretrained weights LibreYOLO ships are timm's resnet{18,34,50,101}.a1_in1k reproduction (the "ResNet Strikes Back" A1 recipe), trained by Ross Wightman and the timm contributors on ImageNet-1k and licensed Apache-2.0 there. LibreYOLO's module and attribute names mirror timm so the state dict loads unchanged and inference matches bit-identically.

Sitasi

@article{He2015,
	author = {Kaiming He and Xiangyu Zhang and Shaoqing Ren and Jian Sun},
	title = {Deep Residual Learning for Image Recognition},
	journal = {arXiv preprint arXiv:1512.03385},
	year = {2015}
}

Disalin dari blok sitasi penulis di github.com/KaimingHe/deep-residual-networks#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.