踐)
5分鐘部署swinv2_cr_small_ns_224.sw_in1k基于PyTorch的圖像分類實(shí)踐【免費(fèi)下載鏈接】swinv2_cr_small_ns_224.sw_in1k項(xiàng)目地址: https://ai.gitcode.com/hf_mirrors/timm/swinv2_cr_small_ns_224.sw_in1kswinv2_cr_small_ns_224.sw_in1k是一個(gè)基于PyTorch的圖像分類模型屬于Swin Transformer V2架構(gòu)的獨(dú)立實(shí)現(xiàn)非常適合新手和普通用戶快速上手進(jìn)行圖像分類實(shí)踐。該模型在ImageNet-1k數(shù)據(jù)集上進(jìn)行了預(yù)訓(xùn)練能夠高效地完成各類圖像分類任務(wù)。 準(zhǔn)備工作環(huán)境搭建要部署swinv2_cr_small_ns_224.sw_in1k模型首先需要搭建好相關(guān)的環(huán)境。確保你的系統(tǒng)中已經(jīng)安裝了Python和PyTorch。如果還沒有安裝可以通過以下命令進(jìn)行安裝pip install torch torchvision此外還需要安裝timm庫它是一個(gè)PyTorch圖像模型庫提供了豐富的預(yù)訓(xùn)練模型和相關(guān)工具。安裝命令如下pip install timm 模型獲取克隆倉庫接下來需要獲取swinv2_cr_small_ns_224.sw_in1k模型的代碼倉庫。打開終端執(zhí)行以下命令克隆倉庫git clone https://gitcode.com/hf_mirrors/timm/swinv2_cr_small_ns_224.sw_in1k克隆完成后進(jìn)入項(xiàng)目目錄cd swinv2_cr_small_ns_224.sw_in1k 模型詳情了解模型參數(shù)在項(xiàng)目目錄中我們可以通過查看配置文件來了解模型的詳細(xì)參數(shù)。其中config.json文件包含了模型的架構(gòu)、輸入大小、均值、標(biāo)準(zhǔn)差等重要信息。從config.json中我們可以看到該模型的架構(gòu)為swinv2_cr_small_ns_224輸入大小為[3, 224, 224]即3通道、224×224分辨率的圖像。模型的均值為[0.485, 0.456, 0.406]標(biāo)準(zhǔn)差為[0.229, 0.224, 0.225]這些參數(shù)在圖像預(yù)處理時(shí)會(huì)用到。? 圖像分類實(shí)踐使用模型進(jìn)行預(yù)測下面我們來進(jìn)行圖像分類的實(shí)踐。首先準(zhǔn)備一張待分類的圖像。然后使用以下Python代碼加載模型并進(jìn)行預(yù)測from urllib.request import urlopen from PIL import Image import timm import torch # 加載圖像 img Image.open(urlopen( https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/beignets-task-guide.png )) # 創(chuàng)建模型 model timm.create_model(swinv2_cr_small_ns_224.sw_in1k, pretrainedTrue) model model.eval() # 獲取模型特定的變換歸一化、調(diào)整大小 data_config timm.data.resolve_model_data_config(model) transforms timm.data.create_transform(**data_config, is_trainingFalse) # 進(jìn)行預(yù)測 output model(transforms(img).unsqueeze(0)) # 將單張圖像轉(zhuǎn)換為批次為1的輸入 top5_probabilities, top5_class_indices torch.topk(output.softmax(dim1) * 100, k5) # 打印結(jié)果 print(Top 5 預(yù)測結(jié)果) for i in range(5): print(f類別 {top5_class_indices[0][i]}概率 {top5_probabilities[0][i]:.2f}%)運(yùn)行上述代碼模型會(huì)對輸入圖像進(jìn)行分類并輸出Top 5的預(yù)測類別及其概率。 功能擴(kuò)展特征提取與圖像嵌入除了圖像分類swinv2_cr_small_ns_224.sw_in1k模型還可以用于特征提取和圖像嵌入。特征提取通過設(shè)置features_onlyTrue可以獲取模型各層的特征圖。代碼如下model timm.create_model( swinv2_cr_small_ns_224.sw_in1k, pretrainedTrue, features_onlyTrue, ) model model.eval() output model(transforms(img).unsqueeze(0)) for o in output: print(o.shape)運(yùn)行后會(huì)輸出各層特征圖的形狀這些特征圖可以用于后續(xù)的圖像處理任務(wù)。圖像嵌入通過設(shè)置num_classes0可以去除分類器獲取圖像的嵌入向量。代碼如下model timm.create_model( swinv2_cr_small_ns_224.sw_in1k, pretrainedTrue, num_classes0, # 移除分類器 nn.Linear ) model model.eval() output model(transforms(img).unsqueeze(0)) # 輸出形狀為 (batch_size, num_features) 的張量圖像嵌入向量可以用于圖像檢索、相似度計(jì)算等任務(wù)。 模型比較與引用如果你想了解該模型與其他模型的性能比較可以參考timm的model results。如果你的工作中使用了該模型請引用以下文獻(xiàn)inproceedings{liu2021swinv2, title{Swin Transformer V2: Scaling Up Capacity and Resolution}, author{Ze Liu and Han Hu and Yutong Lin and Zhuliang Yao and Zhenda Xie and Yixuan Wei and Jia Ning and Yue Cao and Zheng Zhang and Li Dong and Furu Wei and Baining Guo}, booktitle{International Conference on Computer Vision and Pattern Recognition (CVPR)}, year{2022} }misc{rw2019timm, author {Ross Wightman}, title {PyTorch Image Models}, year {2019}, publisher {GitHub}, journal {GitHub repository}, doi {10.5281/zenodo.4414861}, howpublished {\url{https://github.com/huggingface/pytorch-image-models}} }通過以上步驟你可以在5分鐘內(nèi)快速部署swinv2_cr_small_ns_224.sw_in1k模型并進(jìn)行圖像分類等相關(guān)實(shí)踐。希望這篇文章對你有所幫助【免費(fèi)下載鏈接】swinv2_cr_small_ns_224.sw_in1k項(xiàng)目地址: https://ai.gitcode.com/hf_mirrors/timm/swinv2_cr_small_ns_224.sw_in1k創(chuàng)作聲明:本文部分內(nèi)容由AI輔助生成(AIGC),僅供參考