Rumah > Artikel > Peranti teknologi > Berdasarkan PyTorch, mudah digunakan, perpustakaan alat pembelajaran mendalam pengecaman imej halus Hawkeye ialah sumber terbuka
Pengecaman imej berbutir halus [1] ialah topik penyelidikan penting dalam pembelajaran persepsi visual Ia mempunyai nilai aplikasi yang hebat dalam ekonomi baharu yang pintar dan Internet industri, dan telah digunakan secara meluas dalam banyak senario dunia sebenar... Dalam. melihat kekurangan maklumat dalam bidang semasa Sebagai perpustakaan alat sumber terbuka untuk pembelajaran mendalam dalam bidang ini, pasukan Profesor Wei Xiushen dari Universiti Sains dan Teknologi Nanjing menghabiskan hampir setahun membangun, menggilap dan menyiapkan Hawkeye - sumber terbuka perpustakaan alat untuk pengecaman imej halus pembelajaran mendalam untuk rujukan oleh penyelidik dan jurutera dalam bidang yang berkaitan. Artikel ini adalah pengenalan terperinci kepada Hawkeye.
Hawkeye ialah perpustakaan alat pembelajaran mendalam pengecaman imej yang terperinci berdasarkan PyTorch, direka khas untuk penyelidik dan jurutera dalam bidang berkaitan. Pada masa ini, Hawkeye menyertakan kaedah pengecaman terperinci daripada pelbagai paradigma perwakilan, termasuk "berdasarkan penapis kedalaman", "berdasarkan mekanisme perhatian", "berdasarkan interaksi ciri tertib tinggi", "berdasarkan fungsi kehilangan khas", " berdasarkan data rangkaian" dan kaedah lain.
Gaya kod projek Hawkeye bagus, strukturnya jelas dan mudah dibaca, serta kebolehskalaan yang kukuh. Bagi mereka yang baru dalam bidang pengecaman imej berbutir halus, Hawkeye lebih mudah untuk bermula, menjadikannya lebih mudah bagi mereka untuk memahami proses utama dan kaedah perwakilan pengecaman imej berbutir halus, dan juga memudahkan mereka untuk cepat melaksanakan algoritma mereka sendiri pada perpustakaan alat ini. Selain itu, kami juga menyediakan kod contoh latihan untuk setiap model di perpustakaan Kaedah yang dibangunkan sendiri juga boleh disesuaikan dengan cepat dan ditambah kepada Hawkeye mengikut contoh.
Pautan perpustakaan sumber terbuka Hawkeye: https://github.com/Hawkeye-FineGrained/Hawkeye
Hawkeye kini menyokong baik- imej berbutir Terdapat sejumlah 16 model dan kaedah paradigma pembelajaran utama dalam pengiktirafan, seperti berikut:
Berdasarkan penapis dalam
Berdasarkan mekanisme perhatian
Berdasarkan tinggi -pesanan interaksi ciri
Berdasarkan fungsi kehilangan khas
Berdasarkan data rangkaian
Peer-Learning (ICCV 2021)Kaedah lainNTS-Net (ECCV 2018)CrossX (ICCV 2019)DCL (CVPR 2019)3. Pasang Hawkeye Gunakan conda atau pip untuk memasang dependencies yang berkaitan:Sediakan set data
Kami menyediakan 8 set data pengecaman butiran halus yang biasa digunakan dan pautan muat turun terkini:cd Hawkeye/data wget https://data.caltech.edu/records/65de6-vp158/files/CUB_200_2011.tgz mkdir bird && tar -xvf CUB_200_2011.tgz -C bird/Kami menyediakan fail meta-data untuk 8 set data di atas, yang boleh memadankan FGDataset dalam perpustakaan untuk memuatkan set latihan dan set ujian dengan mudah dan set ujian adalah bahagian rasmi yang disediakan oleh setiap set data. Apabila menggunakan set data yang berbeza, anda hanya perlu mengubah suai konfigurasi set data dalam fail konfigurasi percubaan untuk memudahkan penukaran. Ubah suai konfigurasi set data dalam fail konfigurasi percubaan Contoh adalah seperti berikut:
dataset: name: cub root_dir: data/bird/CUB_200_2011/images meta_dir: metadata/cub4 Gunakan Hawkeye untuk melatih model Untuk setiap kaedah yang disokong oleh Hawkeye, kami Mengasingkan templat latihan dan fail konfigurasi disediakan. Sebagai contoh, latihan APINet hanya memerlukan satu arahan:
python Examples/APINet.py --config configs/APINet.yamlParameter percubaan semuanya dalam fail yaml yang sepadan, yang sangat mudah dibaca dan mudah diubah suai, seperti:
experiment: name: API_res101 2# 实验名称 log_dir: results/APINet # 实验日志、结果等的输出目录 seed: 42# 可以选择固定的随机数种子 resume: results/APINet/API_res101 2/checkpoint_epoch_19.pth# 可以从训练中断的 checkpoint 中恢复训练 dataset: name: cub# 使用 CUB200 数据集 root_dir: data/bird/CUB_200_2011/images # 数据集中图像放置的路径 meta_dir: metadata/cub# CUB200 的 metadata 路径 n_classes: 10 # 类别数,APINet 需要的数据集 n_samples: 4# 每个类别的样本数 batch_size: 24# 测试时的批样本数 num_workers: 4# Dataloader 加载数据集的线程数 transformer:# 数据增强的参数配置 image_size: 224# 图像输入模型的尺寸 224x224 resize_size: 256# 图像增强前缩放的尺寸 256x256 model: name: APINet# 使用 APINet 模型,见 model/methods/APINet.py num_classes: 200# 类别数目 load: results/APINet/API_res101 1/best_model.pth # 可以加载训练过的模型参数 train: cuda: [4]# 使用的 GPU 设备 ID 列表,[] 时使用 CPU epoch: 100# 训练的 epoch 数量 save_frequence: 10# 自动保存模型的频率 val_first: False# 可选是否在训练前进行一次模型精度的测试 optimizer: name: Adam# 使用 Adam 优化器 lr: 0.0001# 学习率为 0.0001 weight_decay: 0.00000002 scheduler: # 本例使用自定义组合的 scheduler,由 warmup 和余弦退火学习率组合而成,见 Examples/APINet.py name: '' T_max: 100# scheduler 的总迭代次数 warmup_epochs: 8# warmup 的 epoch 数 lr_warmup_decay: 0.01# warmup 衰减的比例 criterion: name: APINetLoss# APINet 使用的损失函数,见 model/loss/APINet_loss.pyParameter utama percubaan Jurulatih APINetTrainer dalam program Examples/APINet.py diwarisi daripada Trainer Anda tidak perlu menulis proses latihan yang rumit, logger, penjimatan model, pemuatan konfigurasi dan kod lain ubah suai beberapa modul mengikut keperluan. Kami juga menyediakan berbilang cangkuk dalam fasa latihan, yang boleh memenuhi pelaksanaan khas beberapa kaedah. Fail log, fail berat model, kod latihan yang digunakan untuk latihan dan fail konfigurasi pada masa itu akan disimpan dalam log_dir direktori output percubaan Menyandarkan konfigurasi dan kod latihan memudahkan perbandingan percubaan yang berbeza pada masa hadapan .
Untuk contoh yang lebih terperinci, sila rujuk maklumat khusus dalam pautan projek: https://github.com/Hawkeye-FineGrained/Hawkeye
Atas ialah kandungan terperinci Berdasarkan PyTorch, mudah digunakan, perpustakaan alat pembelajaran mendalam pengecaman imej halus Hawkeye ialah sumber terbuka. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!