練習 - 部署模型及取用端點
我們模型的執行成效令人滿意,因此可以來進行部署!
有兩個不同的部署選項。 要選擇哪個選項取決於您想如何使用機器學習模型。 您可部署到端點,也可匯出模型來部署到不同平台。
我們將討論如何使用應用程式來部署到端點及取用模型。
部署到端點
您可藉由取得預測 URL 或在 Python 應用程式中取用 API 來部署到端點。
取得預測 URL
在自訂視覺入口網站頂端功能表列中,選取 [效能]。
選取發佈。
在 [發佈模型] 中,選取 [預測資源],然後選取自訂視覺專案預測的名稱。 選取發佈。
發佈模型之後,自訂視覺入口網站中該模型的動作會變更。
選取 [預測 URL] 索引標籤。
在 [如何使用預測 API] 中,在 [如果您有影像 URL] 底下的文字方塊裡,複製並儲存該值,然後選取 [確認]。
在 Python 應用程式中取用 API
當模型經過定型且執行的精確度令人滿意時,表示模型已可供您用於應用程式中。
在 Azure 入口網站中,前往包含您自訂視覺資源的資源群組。 名稱為 <YourCustomVisionResourceName>-Prediction 的資源與原始資源群組一起顯示。
選取預測名稱以開啟 [概觀] 頁面。 此頁面包含資源的連結,可協助您深入了解如何呼叫 API 以取得模型的預測。
在 [入門] 底下的第 3 個區段中,選取 [Python 快速入門] 的連結。 適用於 Python 的 Azure AI 服務影像分類快速入門會在網頁瀏覽器中開啟。
以下例子是在 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 自訂視覺的協助!