跳过内容。

图像分类

本目录提供了构建图像分类系统的示例和最佳实践。我们的目标是让用户能够轻松快速地在自己的数据集上训练高精度分类器。我们提供了带有预设默认参数的示例 Notebook,这些参数已被证明在各种数据集上表现良好。我们还包括了关于常见陷阱和最佳实践的详尽文档。此外,我们展示了如何使用微软的云计算平台 Azure 来加速大型数据集的训练或将模型部署为 Web 服务。

图像分类(单个对象) 图像分类(多个对象)

我们推荐使用 PyTorch 作为深度学习平台,因为它易于使用、调试简单且在数据科学社区中广受欢迎。对于计算机视觉功能,我们也高度依赖 fast.ai,这是一个带有丰富深度学习功能和详尽文档的 PyTorch 数据科学库。我们强烈建议观看 2019 fast.ai 讲座系列视频以了解底层技术。fast.ai 的 文档 也是宝贵的资源。

常见问题

“训练模型需要多少图像?”或“如何标注图像?”等常见问题的答案可以在 FAQ.md 文件中找到。

Notebook

我们提供了几个 Notebook,展示了图像分类算法是如何设计、评估和操作化的。以 0 开头的 Notebook 旨在按顺序运行,因为它们之间存在依赖关系。这些 Notebook 包含入门级“必需”材料。以 1 开头的 Notebook 可以被视为可选,并包含更复杂和专业的专题。

虽然所有 Notebook 都可以在 Windows 中执行,但我们发现 fast.ai 在 Linux 操作系统上速度快得多。此外,使用 GPU 可以显著提高训练速度。我们建议使用带有 V100 GPU 的 Azure 数据科学虚拟机(说明价格表)。

我们还发现有些浏览器无法正确渲染 Jupyter 小部件。如果您遇到问题,请尝试使用其他浏览器,例如 Edge 或 Chrome。

Notebook 名称 描述
00_webcam.ipynb 使用预训练模型演示从计算机摄像头获取图像的推理。
01_training_introduction.ipynb 介绍了模型训练和评估的一些基本概念。
02_multilabel_classification.ipynb 介绍了多标签分类,并阐述了训练多标签和单标签分类模型之间的主要区别。
03_training_accuracy_vs_speed.ipynb 训练一个高精度模型与一个快速推理速度的模型。 用此来训练您自己的数据集!
10_image_annotation.ipynb 一个简单的图像标注 UI。
11_exploring_hyperparameters.ipynb 使用网格搜索寻找最佳模型参数。
12_hard_negative_sampling.ipynb 演示如何使用难负例来提高模型性能。
20_azure_workspace_setup.ipynb 设置您的 Azure 资源和 Azure 机器学习工作区。
21_deployment_on_azure_container_instances.ipynb 使用 Azure 容器实例 (ACI) 部署通过 REST API 公开的训练模型。
22_deployment_on_azure_kubernetes_service.ipynb 使用 Azure Kubernetes 服务 (AKS) 部署通过 REST API 公开的训练模型。
23_aci_aks_web_service_testing.ipynb 测试部署在 ACI 或 AKS 上的模型。
24_exploring_hyperparameters_on_azureml.ipynb 使用 AzureML 的 HyperDrive 执行高度并行的参数扫描。

Azure 增强型 Notebook

某些 Notebook 中使用了 Azure 产品和服务,以提高大规模开发分类系统的效率。

要成功运行这些 Notebook,用户需要 Azure 订阅,或者可以免费使用 Azure

Notebook 中包含的 Azure 产品包括: