项目介绍:ConvNeXtV2 Nano 图像分类模型
ConvNeXtV2 Nano 是一个专注于图像分类的深度学习模型,作为 ConvNeXt V2 系列的一部分,它旨在通过创新的架构设计来提高图像识别的准确性和效率。该模型采用完全卷积掩码自编码器(framework,简称 FCMAE)进行预训练,并在 ImageNet-1k 数据集上进行了微调。
模型详情
-
模型类型:图像分类 / 特征提取骨干
-
模型参数:
- 参数数量:15.6百万(M)
- 每秒千兆操作(GMACs):2.5
- 激活数量(M):8.4
- 图像尺寸:训练时为224x224像素,测试时为288x288像素
-
相关论文:
-
原始项目地址:GitHub项目链接
-
数据集:ImageNet-1k
模型使用方法
图像分类
ConvNeXtV2 Nano 可用于图像分类任务,通过导入模型并使用预处理的图像,模型可以生成图像的类别预测结果。
示例如下:
from urllib.request import urlopen
from PIL import Image
import timm
img = Image.open(urlopen(
'https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/beignets-task-guide.png'
))
model = timm.create_model('convnextv2_nano.fcmae_ft_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)) # 单张图像作为输入数据进行批处理
top5_probabilities, top5_class_indices = torch.topk(output.softmax(dim=1) * 100, k=5)
特征图提取
ConvNeXtV2 Nano 也可以用于提取特征图,这是获取图像中层特征的过程,对于一些高级计算机视觉任务非常有用。
# 示例见文档
图像嵌入
此外,该模型支持生成图像嵌入,即将图像转换为低维度空间的表示,这对于图像搜索和相似度计算有帮助。
# 示例见文档
模型比较
您可以在 timm 模型结果 中查看此模型的详细数据集和运行时性能指标。
ConvNeXtV2 Nano 的设计使其在计算效率上显得非常出色,其参数数量较小,仅有 15.6M,非常适合在资源受限的情况下使用,如移动设备或嵌入式系统。
总之,ConvNeXtV2 Nano 是一款为高效图像分类而优化的现代化卷积神经网络模型。通过其创新的训练方式和模块设计,该模型在提供高准确率的同时保持较小的模型大小,适合多种场景下的应用。