ImageNet-22k到ImageNet-1k:convnextv2_base.fcmae_ft_in22k_in1k的迁移学习实践
ImageNet-22k到ImageNet-1k:convnextv2_base.fcmae_ft_in22k_in1k的迁移学习实践
【免费下载链接】convnextv2_base.fcmae_ft_in22k_in1k项目地址: https://ai.gitcode.com/hf_mirrors/timm/convnextv2_base.fcmae_ft_in22k_in1k
convnextv2_base.fcmae_ft_in22k_in1k是一款基于ConvNeXt-V2架构的图像分类模型,通过全卷积掩码自编码器框架(FCMAE)预训练,并在ImageNet-22k和ImageNet-1k数据集上进行微调,为图像分类任务提供了高效解决方案。
模型核心特性解析 🚀
架构与性能参数
该模型属于图像分类/特征骨干网络,拥有88.7M参数,15.4 GMACs计算量,28.8M激活值。训练时采用224x224图像尺寸,测试时则使用288x288尺寸以获得更优性能。在ImageNet-1k数据集上,该模型实现了86.74%的top1准确率和98.022%的top5准确率,展现出卓越的图像分类能力。
迁移学习策略
模型采用了两阶段迁移学习策略:首先在大规模ImageNet-22k数据集上进行预训练,学习通用视觉特征;然后在较小的ImageNet-1k数据集上进行微调,适应特定分类任务。这种从大到小的迁移学习方法,充分利用了大规模数据的优势,同时兼顾了特定任务的需求,有效提升了模型性能。
快速上手使用指南
环境准备
要使用该模型,首先需要安装timm库。可以通过以下命令进行安装:
pip install timm图像分类实现
以下是使用convnextv2_base.fcmae_ft_in22k_in1k进行图像分类的简单示例:
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('convnextv2_base.fcmae_ft_in22k_in1k', pretrained=True) model = model.eval() # 获取模型特定的变换(归一化、调整大小) data_config = timm.data.resolve_model_data_config(model) transforms = timm.data.create_transform(**data_config, is_training=False) output = model(transforms(img).unsqueeze(0)) # 将单张图像转换为批次为1的输入 top5_probabilities, top5_class_indices = torch.topk(output.softmax(dim=1) * 100, k=5)特征提取应用
除了图像分类,该模型还可用于特征提取:
model = timm.create_model( 'convnextv2_base.fcmae_ft_in22k_in1k', pretrained=True, features_only=True, ) model = model.eval() # 获取模型特定的变换 data_config = timm.data.resolve_model_data_config(model) transforms = timm.data.create_transform(**data_config, is_training=False) output = model(transforms(img).unsqueeze(0)) # 输出为特征图列表 for o in output: print(o.shape) # 打印每个特征图的形状模型优势与适用场景
与同类模型对比
在timm模型结果中,convnextv2_base.fcmae_ft_in22k_in1k表现出色。与convnext_base.fb_in22k_ft_in1k相比,虽然参数数量相近(88.72M vs 88.59M),但top1准确率更高(86.74% vs 85.822%),同时保持了较高的推理速度(624.23 samples_per_sec)。
适用场景
该模型适用于各种图像分类任务,如物体识别、场景分类等。其优秀的特征提取能力也使其可作为其他计算机视觉任务的骨干网络,如目标检测、语义分割等。特别是在数据量有限的情况下,利用预训练模型进行迁移学习,可以快速构建高性能的视觉系统。
模型配置详情
模型的配置信息存储在config.json文件中,包含了架构、输入尺寸、预处理参数等关键信息。其中,输入图像经过归一化处理,均值为[0.485, 0.456, 0.406],标准差为[0.229, 0.224, 0.225]。测试时采用288x288的输入尺寸和中心裁剪方式,以获得更稳定的性能。
总结与展望
convnextv2_base.fcmae_ft_in22k_in1k通过巧妙的迁移学习策略和先进的ConvNeXt-V2架构,在图像分类任务上取得了优异的性能。其从ImageNet-22k到ImageNet-1k的迁移学习实践,为我们展示了如何充分利用大规模数据进行模型预训练,再通过微调适应特定任务的有效方法。
未来,我们可以进一步探索该模型在更多计算机视觉任务上的应用,如目标检测、语义分割等,充分发挥其强大的特征提取能力。同时,也可以尝试在其他领域的数据集上进行迁移学习,拓展模型的适用范围。
引用与致谢
如果您在研究中使用了该模型,请引用以下文献:
@article{Woo2023ConvNeXtV2, title={ConvNeXt V2: Co-designing and Scaling ConvNets with Masked Autoencoders}, author={Sanghyun Woo, Shoubhik Debnath, Ronghang Hu, Xinlei Chen, Zhuang Liu, In So Kweon and Saining Xie}, year={2023}, journal={arXiv preprint arXiv:2301.00808}, } @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}} }感谢Facebook Research团队开发的ConvNeXt-V2架构,以及Ross Wightman维护的PyTorch Image Models库,为该模型的实现和应用提供了有力支持。
【免费下载链接】convnextv2_base.fcmae_ft_in22k_in1k项目地址: https://ai.gitcode.com/hf_mirrors/timm/convnextv2_base.fcmae_ft_in22k_in1k
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考