开源技术 * IBM 微讲堂:Kubeflow 系列(观看回放 | 下载讲义) 了解详情

图像分类器 – ResNet50

概述

图像分类器(Image Classifier)在 ImageNet 2012 年大规模视觉识别挑战赛中识别出了 1000 种不同类别的对象。该模型包含一个使用 ResNet-50 架构的深层卷积网络,该网络在 ImageNet-2012 数据集上进行了训练。该模型的输入是 224×224 的图片,输出则是预估类别概率列表。该模型基于针对 ResNet-50 的 Keras 内置模型

模型元数据

领域 应用 行业 框架 训练数据 输入数据格式
视觉 图像分类 通用 Keras ImageNet 图像 (RGB/HWC)

参考资料

许可

组件 许可 链接
模型 GitHub 代码库 Apache 2.0 许可
Model 权重 MIT Keras ResNet-50
模型代码(第三方) MIT Keras 许可
测试资产 CC0 样本 README

可用于部署此模型的选项

可使用以下方法部署此模型:

  • 从 Dockerhub 部署:

    docker run -it -p 5000:5000 codait/max-resnet-50
    
  • 在 Red Hat OpenShift 上部署:

    遵照本教程中有关 OpenShift Web 控制台或 OpenShift Container Platform CLI 的操作说明,并将 codait/max-resnet-50 指定为图像名称。

  • 在 Kubernetes 上部署:

    kubectl apply -f https://raw.githubusercontent.com/IBM/MAX-ResNet-50/master/max-resnet-50.yaml
    

    有关如何将此 MAX 模型部署到 IBM Cloud 上的生产环境中的更详细教程,可以在此处找到。

  • 本地部署:遵照 GitHub 上的模型 README 中的说明进行操作

用法示例

您可以通过以下方式测试或使用此模型

使用 cURL 测试该模型

部署之后,您可以通过命令行测试该模型。例如:

curl -F "image=@samples/coffee.jpg" -XPOST http://localhost:5000/model/predict

您应该会看到类似如下的 JSON 响应:

{
  "status": "ok",
  "predictions": [
    {
      "label_id": "n07920052",
      "label": "espresso",
      "probability": 0.9637148976326
    },
    {
      "label_id": "n02877765",
      "label": "bottlecap",
      "probability": 0.007265966385603
    },
    {
      "label_id": "n07930864",
      "label": "cup",
      "probability": 0.0059303143061697
    },
    {
      "label_id": "n07693725",
      "label": "bagel",
      "probability": 0.0023403959348798
    },
    {
      "label_id": "n04476259",
      "label": "tray",
      "probability": 0.0019735493697226
    }
  ]
}

在无服务器应用中测试该模型

您可以通过遵照在 IBM Cloud Functions 中利用深度学习教程中的操作说明,在无服务器应用程序中使用该模型。

可用于训练此模型的选项

可使用以下方法训练此模型:

资源和贡献

如果您有兴趣为 Model Asset Exchange 项目做贡献或有任何疑问,按照此处的说明进行操作。

本文翻译自:Image Classifier – ResNet50(2018-09-21)