文档
-
使用 Windows ML API 在 Windows 应用中部署模型
在 Windows 应用中部署图像分类模型
-
了解创建自己的 Windows ML 模型和图像分类应用的先决条件。
在本教程的前一阶段中,我们讨论了创建你自己的 Windows 机器学习模型和应用的先决条件,并下载了要使用的图像集。 在此阶段,我们将了解如何使用基于 Web 自定义视觉界面将图像集转换为图像分类模型。
Azure 自定义视觉是一种图像识别服务,可用于构建、部署和改进你自己的图像标识符。 自定义视觉服务以一组原生 SDK 的形式提供,另外也在自定义视觉网站的基于 Web 的界面上提供。
若要使用自定义视觉服务,需要在 Azure 中创建自定义视觉资源。
Create a resource
。Custom Vision
,随即进入 Azure 市场。 选择 Create Custom Vision
以在“创建自定义视觉”页面上打开对话窗口。Training
和 Prediction
资源。MLTraining
,但你可以随意选择自己的名称或使用现有资源组(如果有)。classificationApp
,但你可以自行选择任何名称。Training
和 Prediction
资源,将位置设置为“(美国)美国东部”,并将“定价层”设置为“免费 FO”。Review + create
以部署自定义视觉资源。 可能需要几分钟时间才能完成资源部署。现在,你已经创建了资源,接下来便可以在自定义视觉内创建训练项目。
在 Web 浏览器中,导航到自定义视觉页面,然后选择 Sign in
。 使用用于登录 Azure 门户的帐户登录。
选择 New Project
以打开新项目对话框。
Name
:FoodClassification。Description
:对不同类型食物的分类。Resource
:保留之前打开的相同资源 ClassificationApp [F0]
。Project Types
:classification
Classification Types
:Multilabel (Multiple tags per image)
Domains
:Food (compact)
。Export Capabilities
:Basic platforms (Tensorflow, CoreML, ONNX, ...)
备注
若要导出为 ONNX 格式,请确保选择 Food (compact)
域。 无法将非紧域导出为 ONNX。
重要
如果登录帐户与 Azure 帐户相关联,则“资源组”下拉列表将显示包含自定义影像服务资源的所有 Azure 资源组。 如果没有可用的资源组,请确认已使用登录 Azure 门户时所用的同一帐户登录 customvision.ai。
Create project
。现在你已经创建了项目,接下来你将从 Kaggle 开放数据集上传一个之前准备好的食物图像数据集。
选择 FoodClassification
项目以打开自定义视觉网站的基于 Web 的界面。
选择 Add images
按钮并选择 Browse local files
。
导航到图像数据集的位置,然后选择训练文件夹 vegetable-fruit
。 选择文件夹中的所有图像,然后选择 open
。 标记选项随即打开。
在 My Tags
字段中输入 vegetable-fruit
,并按 Upload
。
等待第一组图像上传到项目,然后按 done
。 标记选择将应用于已选择上传的整组图像。 正因如此,从预构建的图像组上传图像会更容易。 始终可在上传图像后更改单个图像的标记。
最后,你将有三组不同的图像可供训练。
现在,你将训练模型,以从你在上一部分下载的图像集中对蔬菜、汤和甜点进行分类。
Train
按钮。 分类器将使用这些图像创建一个模型,用于标识每个标记的视觉质量。使用左上角的滑块可以更改概率阈值。 概率阈值设置了预测被视为正确所需的置信度水平。 如果概率阈值过高,分类将更准确,与此同时数量更少。 另一方面,如果概率阈值过低,你将检测到更多分类,但置信度更低或误报结果更多。
在本教程中,可以将概率阈值保持在 50%。
Quick Training
过程。 Advanced Training
具有更多设置,并允许你专门设置用于训练的时间,但此处并不需要这种级别的控制。 按 Train
启动训练过程。快速训练过程只需几分钟即可完成。 在此期间,有关训练过程的信息将显示在 Performance
选项卡中。
训练完成后,你将看到第一次训练迭代的摘要。 其中包括模型性能的估计 - 查准率和查全率。
导出模型之前,可以测试其性能。
Quick Test
,打开一个新的测试窗口。在此窗口中,你可以提供要测试的图像的 URL,或选择 Browse local files
以使用本地存储的图像。
Browse local files
,导航到食物数据集,然后打开验证文件夹。 从 fruit-vegetable
文件夹中选择任意随机图像,然后按 open
。测试结果将显示在屏幕上。 在我们的测试中,该模式以 99.8% 的确定性成功地对图像进行了分类。
可以在 Predictions
选项卡中使用预测进行训练,这可以提高模型性能。 有关详细信息,请参阅如何改进分类器。
备注
想要详细了解 Azure 自定义视觉 API? 请查看自定义视觉服务文档,其中提供了有关自定义视觉 Web 门户和 SDK 的详细信息。
现在,我们已经训练了模型,接下来便可以将其导出为 ONNX。
Performance
选项卡,然后选择 Export
以打开导出窗口。ONNX
以将模型导出为 ONNX 格式。ONNX 16
float 选项,但在本教程中,我们不需要更改任何设置。 选择 Export and Download
。model.onnx
文件。 此文件包含你的分类器模型。祝贺你! 你已成功构建并导出分类模型。
现在我们已经有了一个分类模型,下一步是构建一个 Windows 应用程序并在 Windows 设备的本地运行该应用程序。
文档
使用 Windows ML API 在 Windows 应用中部署模型
在 Windows 应用中部署图像分类模型
了解创建自己的 Windows ML 模型和图像分类应用的先决条件。
培训
认证
Microsoft Certified: Azure Data Scientist Associate - Certifications
使用 Python、Azure 机器学习和 MLflow 管理数据引入和准备、模型训练和部署以及机器学习解决方案监视。