
5分鐘部署swinv2_cr_small_ns_224.sw_in1k基于PyTorch的圖像分類實踐【免費下載鏈接】swinv2_cr_small_ns_224.sw_in1k項目地址: https://ai.gitcode.com/hf_mirrors/timm/swinv2_cr_small_ns_224.sw_in1kswinv2_cr_small_ns_224.sw_in1k是一個基于PyTorch的圖像分類模型屬于Swin Transformer V2架構(gòu)的獨立實現(xiàn)非常適合新手和普通用戶快速上手進行圖像分類實踐。該模型在ImageNet-1k數(shù)據(jù)集上進行了預(yù)訓(xùn)練能夠高效地完成各類圖像分類任務(wù)。 準備工作環(huán)境搭建要部署swinv2_cr_small_ns_224.sw_in1k模型首先需要搭建好相關(guān)的環(huán)境。確保你的系統(tǒng)中已經(jīng)安裝了Python和PyTorch。如果還沒有安裝可以通過以下命令進行安裝pip install torch torchvision此外還需要安裝timm庫它是一個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克隆完成后進入項目目錄cd swinv2_cr_small_ns_224.sw_in1k 模型詳情了解模型參數(shù)在項目目錄中我們可以通過查看配置文件來了解模型的詳細參數(shù)。其中config.json文件包含了模型的架構(gòu)、輸入大小、均值、標準差等重要信息。從config.json中我們可以看到該模型的架構(gòu)為swinv2_cr_small_ns_224輸入大小為[3, 224, 224]即3通道、224×224分辨率的圖像。模型的均值為[0.485, 0.456, 0.406]標準差為[0.229, 0.224, 0.225]這些參數(shù)在圖像預(yù)處理時會用到。? 圖像分類實踐使用模型進行預(yù)測下面我們來進行圖像分類的實踐。首先準備一張待分類的圖像。然后使用以下Python代碼加載模型并進行預(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) # 進行預(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}%)運行上述代碼模型會對輸入圖像進行分類并輸出Top 5的預(yù)測類別及其概率。 功能擴展特征提取與圖像嵌入除了圖像分類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)運行后會輸出各層特征圖的形狀這些特征圖可以用于后續(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) 的張量圖像嵌入向量可以用于圖像檢索、相似度計算等任務(wù)。 模型比較與引用如果你想了解該模型與其他模型的性能比較可以參考timm的model results。如果你的工作中使用了該模型請引用以下文獻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模型并進行圖像分類等相關(guān)實踐。希望這篇文章對你有所幫助【免費下載鏈接】swinv2_cr_small_ns_224.sw_in1k項目地址: https://ai.gitcode.com/hf_mirrors/timm/swinv2_cr_small_ns_224.sw_in1k創(chuàng)作聲明:本文部分內(nèi)容由AI輔助生成(AIGC),僅供參考