ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

5分钟部署swinv2_cr_small_ns_224.sw_in1k:基于PyTorch的图像分类实践

5分钟部署swinv2_cr_small_ns_224.sw_in1k:基于PyTorch的图像分类实践 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架构的独立实现非常适合新手和普通用户快速上手进行图像分类实践。该模型在ImageNet-1k数据集上进行了预训练能够高效地完成各类图像分类任务。 准备工作环境搭建要部署swinv2_cr_small_ns_224.sw_in1k模型首先需要搭建好相关的环境。确保你的系统中已经安装了Python和PyTorch。如果还没有安装可以通过以下命令进行安装pip install torch torchvision此外还需要安装timm库它是一个PyTorch图像模型库提供了丰富的预训练模型和相关工具。安装命令如下pip install timm 模型获取克隆仓库接下来需要获取swinv2_cr_small_ns_224.sw_in1k模型的代码仓库。打开终端执行以下命令克隆仓库git clone https://gitcode.com/hf_mirrors/timm/swinv2_cr_small_ns_224.sw_in1k克隆完成后进入项目目录cd swinv2_cr_small_ns_224.sw_in1k 模型详情了解模型参数在项目目录中我们可以通过查看配置文件来了解模型的详细参数。其中config.json文件包含了模型的架构、输入大小、均值、标准差等重要信息。从config.json中我们可以看到该模型的架构为swinv2_cr_small_ns_224输入大小为[3, 224, 224]即3通道、224×224分辨率的图像。模型的均值为[0.485, 0.456, 0.406]标准差为[0.229, 0.224, 0.225]这些参数在图像预处理时会用到。️ 图像分类实践使用模型进行预测下面我们来进行图像分类的实践。首先准备一张待分类的图像。然后使用以下Python代码加载模型并进行预测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 )) # 创建模型 model timm.create_model(swinv2_cr_small_ns_224.sw_in1k, pretrainedTrue) model model.eval() # 获取模型特定的变换归一化、调整大小 data_config timm.data.resolve_model_data_config(model) transforms timm.data.create_transform(**data_config, is_trainingFalse) # 进行预测 output model(transforms(img).unsqueeze(0)) # 将单张图像转换为批次为1的输入 top5_probabilities, top5_class_indices torch.topk(output.softmax(dim1) * 100, k5) # 打印结果 print(Top 5 预测结果) for i in range(5): print(f类别 {top5_class_indices[0][i]}概率 {top5_probabilities[0][i]:.2f}%)运行上述代码模型会对输入图像进行分类并输出Top 5的预测类别及其概率。 功能扩展特征提取与图像嵌入除了图像分类swinv2_cr_small_ns_224.sw_in1k模型还可以用于特征提取和图像嵌入。特征提取通过设置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)运行后会输出各层特征图的形状这些特征图可以用于后续的图像处理任务。图像嵌入通过设置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) 的张量图像嵌入向量可以用于图像检索、相似度计算等任务。 模型比较与引用如果你想了解该模型与其他模型的性能比较可以参考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分钟内快速部署swinv2_cr_small_ns_224.sw_in1k模型并进行图像分类等相关实践。希望这篇文章对你有所帮助【免费下载链接】swinv2_cr_small_ns_224.sw_in1k项目地址: https://ai.gitcode.com/hf_mirrors/timm/swinv2_cr_small_ns_224.sw_in1k创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表