项目介绍:rexnet_150.nav_in1k
rexnet_150.nav_in1k是一个优秀的图像分类模型,它在ImageNet-1k数据集上经过了预训练。这个模型是由论文作者专门设计的,能够提供极高效的图像分类性能。
模型详情
rexnet_150.nav_in1k属于图像分类和特征骨干类型的模型。它的参数数量约为9.7百万,GMACs为0.9,激活值约为11.2百万。模型处理的图像尺寸为224x224像素。
利用Rethinking Channel Dimensions for Efficient Model Design这篇论文的研究成果,rexnet系列模型专注于通过优化通道维度,提升模型的整体效率。可以在论文链接找到更多研究细节。模型的代码和相关资源可以在GitHub上找到。
模型使用方法
图像分类
用户可以轻松地使用rexnet_150.nav_in1k进行图像分类。通过timm库,用户能够快速创建并应用这个预训练模型。以下是一个简单的例子:
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('rexnet_150.nav_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)
特征图提取
rexnet_150.nav_in1k也可以用于提取图像的特征图,这在特定的计算机视觉任务中非常有用。例如:
model = timm.create_model('rexnet_150.nav_in1k', pretrained=True, features_only=True)
model = model.eval()
# 执行特征图提取
output = model(transforms(img).unsqueeze(0))
for o in output:
print(o.shape)
图像嵌入
用户还可以通过移除分类器部分来获取图像的嵌入表示:
model = timm.create_model('rexnet_150.nav_in1k', pretrained=True, num_classes=0)
model = model.eval()
# 输出为(1, num_features)形状的张量
output = model.forward_head(model.forward_features(transforms(img).unsqueeze(0)), pre_logits=True)
模型比较
rexnet_150.nav_in1k在与其他模型的比较中表现出色,以下是部分模型对比:
模型 | top1 | top5 | 参数数量(百万) | 图像尺寸 | 裁剪比例 |
---|---|---|---|---|---|
rexnet_150.nav_in1k | 80.31 | 95.17 | 9.73 | 224 | 0.875 |
rexnet_130.nav_in1k | 79.48 | 94.68 | 7.56 | 224 | 0.875 |
rexnet_100.nav_in1k | 77.83 | 93.89 | 4.80 | 224 | 0.875 |
关于更多的模型对比数据和运行时指标,用户可以查阅timm模型结果。
引用
如果要在学术或其他文章中引用这个模型的工作,可以使用以下格式:
@misc{han2021rethinking,
title={Rethinking Channel Dimensions for Efficient Model Design},
author={Dongyoon Han and Sangdoo Yun and Byeongho Heo and YoungJoon Yoo},
year={2021},
eprint={2007.00992},
archivePrefix={arXiv},
primaryClass={cs.CV}
}
rexnet_150.nav_in1k是图像分类任务中的一个非常高效的选择,尤其适合需要在精度与计算效率之间找到平衡的应用场景。