練習 - 部署模型及取用端點

已完成

我們模型的執行成效令人滿意,因此可以來進行部署!

有兩個不同的部署選項。 要選擇哪個選項取決於您想如何使用機器學習模型。 您可部署到端點,也可匯出模型來部署到不同平台。

我們將討論如何使用應用程式來部署到端點及取用模型。

部署到端點

您可藉由取得預測 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 快速入門] 的連結。 適用於 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 自訂視覺的協助!