Mobilenetv3_small_075.lamb_in1k实战案例:如何用预训练模型实现Top5图像分类预测?

【免费下载链接】mobilenetv3_small_075.lamb_in1k 【免费下载链接】mobilenetv3_small_075.lamb_in1k 项目地址: https://ai.gitcode.com/hf_mirrors/YunnanAICC/mobilenetv3_small_075.lamb_in1k

Mobilenetv3_small_075.lamb_in1k是一款轻量级预训练图像分类模型,专为移动设备和资源受限场景优化,能够高效实现图像分类任务并返回Top5预测结果。本文将通过完整实战案例,带你快速掌握使用该模型进行图像分类预测的方法。

📋 准备工作:环境搭建与依赖安装

要开始使用Mobilenetv3_small_075.lamb_in1k模型,首先需要准备好运行环境和相关依赖库。项目提供了详细的依赖清单,确保你能顺利运行预测程序。

1. 克隆项目仓库

git clone https://gitcode.com/hf_mirrors/YunnanAICC/mobilenetv3_small_075.lamb_in1k
cd mobilenetv3_small_075.lamb_in1k

2. 安装依赖包

项目的依赖文件位于examples/requirements.txt,包含了所有必要的Python库,如PyTorch、timm、Pillow等。使用pip安装依赖:

pip install -r examples/requirements.txt

主要依赖版本说明:

  • torch==2.1.0:深度学习框架
  • timm==1.0.9:PyTorch图像模型库
  • pillow==10.4.0:图像处理库
  • requests==2.32.2:网络请求库

🚀 快速上手:运行图像分类预测

项目提供了完整的推理脚本,只需简单几步即可实现图像分类预测。下面我们将使用示例脚本进行Top5图像分类预测。

1. 执行预测脚本

项目中的examples/run_infer.sh是一个便捷的bash脚本,用于启动预测程序。运行以下命令:

cd examples
./run_infer.sh ../pytorch_model.bin

脚本会自动调用examples/inference.py Python程序,并加载模型文件../pytorch_model.bin进行预测。

2. 预测过程解析

让我们看看examples/inference.py的核心工作流程:

  1. 设备选择:自动检测是否有NPU设备,优先使用NPU加速,否则使用CPU
  2. 图像加载:从网络加载示例图像(COCO数据集图片)
  3. 模型加载:使用timm库加载预训练的Mobilenetv3_small_075.lamb_in1k模型
  4. 图像预处理:应用模型特定的图像变换(归一化、调整大小等)
  5. 模型推理:对预处理后的图像进行分类预测
  6. 结果处理:计算Top5概率和对应的类别索引并输出

核心代码片段:

# 加载模型
model = timm.create_model('mobilenetv3_small_075.lamb_in1k', pretrained=True).to(device)
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).to(device))
top5_probabilities, top5_class_indices = torch.topk(output.softmax(dim=1) * 100, k=5)

📊 预测结果解读

运行预测脚本后,你将看到类似以下的输出(具体数值可能因环境略有差异):

Current path: /data/web/disk1/git_repo/hf_mirrors/YunnanAICC/mobilenetv3_small_075.lamb_in1k/examples
model_path:../pytorch_model.bin, device:cpu
tensor([[281,  27, 282, 285, 287]])

这里输出的是Top5预测结果的类别索引,对应ImageNet数据集的类别标签。你可以通过查询ImageNet类别映射表,将这些索引转换为具体的类别名称。

⚙️ 自定义预测:使用自己的图片

要使用自己的图片进行预测,只需修改examples/inference.py中的图像加载部分:

  1. 将第36-37行的网络图片加载代码:
url = "http://images.cocodataset.org/val2017/000000039769.jpg"
img = Image.open(requests.get(url, stream=True).raw)
  1. 替换为本地图片加载代码:
img = Image.open("your_image_path.jpg")  # 替换为你的图片路径
  1. 重新运行预测脚本即可得到自定义图片的分类结果。

📝 总结

Mobilenetv3_small_075.lamb_in1k模型为图像分类任务提供了高效轻量的解决方案,特别适合在资源受限的环境中使用。通过本文介绍的方法,你可以快速实现Top5图像分类预测功能。项目的examples目录提供了完整的演示代码,包括推理脚本inference.py、运行脚本run_infer.sh和依赖清单requirements.txt,帮助你轻松上手。

无论是移动应用开发、嵌入式系统还是边缘计算场景,Mobilenetv3_small_075.lamb_in1k都能为你提供快速准确的图像分类能力。现在就尝试使用这个预训练模型,为你的项目添加强大的图像识别功能吧!

【免费下载链接】mobilenetv3_small_075.lamb_in1k 【免费下载链接】mobilenetv3_small_075.lamb_in1k 项目地址: https://ai.gitcode.com/hf_mirrors/YunnanAICC/mobilenetv3_small_075.lamb_in1k

Logo

脑启社区是一个专注类脑智能领域的开发者社区。欢迎加入社区,共建类脑智能生态。社区为开发者提供了丰富的开源类脑工具软件、类脑算法模型及数据集、类脑知识库、类脑技术培训课程以及类脑应用案例等资源。

更多推荐