5分钟上手edgenext_x_small.in1k:transformers生态下的图像分类最佳实践

发布时间:2026/8/9 18:59:02
5分钟上手edgenext_x_small.in1k:transformers生态下的图像分类最佳实践 5分钟上手edgenext_x_small.in1ktransformers生态下的图像分类最佳实践【免费下载链接】edgenext_x_small.in1k项目地址: https://ai.gitcode.com/hf_mirrors/timm/edgenext_x_small.in1kedgenext_x_small.in1k是一款基于EdgeNeXt架构的轻量级图像分类模型专为移动视觉应用设计在保证高效性能的同时实现了卓越的分类精度。该模型在ImageNet-1k数据集上训练仅包含2.3M参数和0.5 GMACs计算量是transformers生态中图像分类任务的理想选择。 为什么选择edgenext_x_small.in1k超轻量架构超强性能极致轻量化仅2.3M参数适合部署在移动端和边缘设备高效计算0.5 GMACs低计算量5.9M激活值运行速度更快高精度表现在ImageNet-1k数据集上达到专业级分类效果多场景应用能力作为图像分类模型直接使用作为特征提取 backbone 用于下游任务生成图像嵌入向量用于相似度计算⚡ 快速开始5分钟安装与使用1️⃣ 环境准备首先克隆项目仓库git clone https://gitcode.com/hf_mirrors/timm/edgenext_x_small.in1k cd edgenext_x_small.in1k安装必要依赖pip install timm torch pillow2️⃣ 图像分类基础示例以下是使用edgenext_x_small.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(edgenext_x_small.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)) # 添加批次维度 # 获取Top5预测结果 top5_probabilities, top5_class_indices torch.topk(output.softmax(dim1) * 100, k5)3️⃣ 特征图提取edgenext_x_small.in1k还可以作为特征提取器使用获取不同层级的特征图model timm.create_model( edgenext_x_small.in1k, pretrainedTrue, features_onlyTrue, # 启用特征提取模式 ) model model.eval() # 获取特征图 output model(transforms(img).unsqueeze(0)) # 打印各层特征图形状 for o in output: print(o.shape) # 输出示例: # torch.Size([1, 32, 64, 64]) # torch.Size([1, 64, 32, 32]) # torch.Size([1, 100, 16, 16]) # torch.Size([1, 192, 8, 8])4️⃣ 生成图像嵌入向量使用模型生成图像嵌入向量可用于相似度计算等任务model timm.create_model( edgenext_x_small.in1k, pretrainedTrue, num_classes0, # 移除分类器 ) model model.eval() # 获取图像嵌入 output model(transforms(img).unsqueeze(0)) # 形状: (1, 192) 模型配置详解edgenext_x_small.in1k的核心配置信息可在config.json中查看主要参数包括输入尺寸训练时256x256测试时288x288预处理参数均值[0.485, 0.456, 0.406]标准差[0.229, 0.224, 0.225]池化方式平均池化(avg)特征维度192维类别数量1000类(ImageNet-1k) 进阶应用建议迁移学习利用edgenext_x_small.in1k的预训练权重进行迁移学习只需替换最后一层分类器model timm.create_model(edgenext_x_small.in1k, pretrainedTrue, num_classes10)模型优化根据config.json中的参数调整输入尺寸和预处理方式进一步优化模型性能data_config { input_size: [3, 224, 224], # 调整输入尺寸 mean: [0.485, 0.456, 0.406], std: [0.229, 0.224, 0.225], crop_pct: 0.875 } transforms timm.data.create_transform(**data_config, is_trainingFalse) 引用与致谢如果您在研究中使用了edgenext_x_small.in1k请引用以下论文inproceedings{Maaz2022EdgeNeXt, title{EdgeNeXt: Efficiently Amalgamated CNN-Transformer Architecture for Mobile Vision Applications}, author{Muhammad Maaz and Abdelrahman Shaker and Hisham Cholakkal and Salman Khan and Syed Waqas Zamir and Rao Muhammad Anwer and Fahad Shahbaz Khan}, booktitle{International Workshop on Computational Aspects of Deep Learning at 17th European Conference on Computer Vision (CADL2022)}, year{2022}, organization{Springer} }edgenext_x_small.in1k模型基于EdgeNeXt论文实现原始代码仓库https://github.com/mmaaz60/EdgeNeXt通过以上简单步骤您已经掌握了edgenext_x_small.in1k的核心使用方法。这款轻量级高效模型将为您的图像分类任务带来出色的性能和速度体验【免费下载链接】edgenext_x_small.in1k项目地址: https://ai.gitcode.com/hf_mirrors/timm/edgenext_x_small.in1k创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考