练习 - 部署模型并使用终结点

已完成

我们的模型性能令人满意,因此,让我们来部署它!

有不同的部署选项。 选择的选项取决于你希望如何使用机器学习模型。 可以部署到终结点,也可以导出模型以部署到不同的平台。

我们将讨论如何部署到终结点并通过应用来使用模型。

部署到终结点

可以通过获取预测 URL 或在 Python 应用中使用 API 来部署到终结点。

获取“预测 URL”

  1. 自定义视觉门户的顶部菜单栏中,选择“性能”。

  2. 选择“发布”。

  3. 在“发布模型”中,选择“预测资源”,然后选择自定义视觉项目的预测名称。 选择“发布”。

    显示如何发布经训练的自定义视觉模型的屏幕截图。

    在发布模型后,模型操作在自定义视觉门户中进行更改。

  4. 选择“预测 URL”选项卡。

  5. 在“如何使用预测 API”的“如果你有一个图像 URL”下的文本框中,复制并保存该值,然后选择“获取”。

    突出显示已发布的自定义视觉模型的预测 URL 的屏幕截图。

在 Python 应用中使用 API

当模型经过训练且准确性令人满意时,就可以在应用中使用模型。

  1. Azure 门户中,转到包含自定义视觉资源的资源组。 名为 <YourCustomVisionResourceName>-Prediction 的资源与原始资源组一起显示。

    显示如何在 Azure 门户中打开预测资源的屏幕截图。

  2. 选择预测名称以打开“概述”页。 此页提供了资源链接,可帮助你详细了解如何调用 API 以从模型获取预测。

  3. 在“开始使用”下的部分 3 中,选择“Python 快速入门”链接。 此时,将在 Web 浏览器中打开适用于 Python 的 Azure AI 服务图像分类快速入门

    显示快速入门资源的屏幕截图,这些资源说明如何调用 API 从模型中获取预测。

    下面是在 Python 中调用预测 API 的示例代码。 有关完整代码,请参阅快速入门

    from azure.cognitiveservices.vision.customvision.prediction import CustomVisionPredictionClient
    
    # Create variables for your resource; replace variables with valid values.
    prediction_key = "<YourKey>"
    endpoint = "<YourEndpoint>"
    base_image_url = "<BasePathToImageFolder>"
    
    # An example of a default iteration name is "Iteration1".
    publish_iteration_name = "<PublishedIterationName>"
    
    # You can find the project ID in the settings of the Custom Vision project in the portal.
    project.id = "<CustomVisionProjectId>"
    
    # Now, you have a trained endpoint that you can use to make a prediction.
    prediction_credentials = ApiKeyCredentials(in_headers={"Prediction-key": prediction_key})
    
    predictor = CustomVisionPredictionClient(endpoint, prediction_credentials)
    
    with open(base_image_url + "images/Test/test_image.jpg", "rb") as image_contents:
        results = predictor.classify_image(
            project.id, publish_iteration_name, image_contents.read())
    
    # Display the results.
    for prediction in results.predictions:
        print("\t" + prediction.tag_name +
             ": {0:.2f}%".format(prediction.probability * 100))
    

发布到已发布的终结点时,将得到如下结果。 显示了对自定义视觉模型进行训练的每个标记的概率,按分数由高到低排序。 该模型仅可识别已训练其识别的鸟的类型。 如果你发布了未训练模型识别的鸟类图像,则该模型将预测新鸟的物种是已训练其识别的一个鸟类物种。

American Crow: 99.18%
Common Grackle: 25.34%
Red-tailed Hawk (Dark morph): 4.09%
Mourning Dove: 1.74%
American Robin (Adult): 0.92%
House Sparrow (Female): 0.40%
American Robin (Juvenile): 0.31%
Northern Cardinal (Adult Male): 0.24%
Tufted Titmouse: 0.04%
Blue Jay: 0.04%
House Sparrow (Male): 0.04%
Northern Cardinal (Female): 0.04%
Red-tailed Hawk (Light morph immature): 0.02%
American Goldfinch (Male): 0.02%
House Wren: 0.01%
American Goldfinch (Female): 0.01%

现在,你已经知道如何使用创建的机器学习模型了。 通过分析新数据,可以更好地记录鸟类习性,帮助保护鸟类栖息地并增加濒危鸟类的数量。 一切来自 Azure AI 自定义视觉的帮助!