重新定型和部署傳統 Studio (傳統) Web 服務
適用於:機器學習 Studio (傳統版) 不適用。
重要
Machine Learning 工作室 (傳統) 的支援將於 2024 年 8 月 31 日結束。 建議您在該日期之前轉換成 Azure Machine Learning。
自 2021 年 12 月 1 日起,您將無法建立新的 Machine Learning 工作室 (傳統) 資源。 在 2024 年 8 月 31 日之前,您可以繼續使用現有的 Machine Learning 工作室 (傳統) 資源。
ML 工作室 (傳統) 文件即將淘汰,未來將不再更新。
重新定型機器學習模型是確保模型保持準確且根據最相關數據的其中一種方式。 本文將說明如何重新定型傳統 Studio (傳統) Web 服務。 如需如何重新定型新 Studio (傳統) Web 服務的指南, 請檢視此操作說明文章。
必要條件
本文假設您已經有重新定型實驗和預測實驗。 這些步驟會在重新定型和部署機器學習模型中 說明。 不過,您將預測實驗部署為傳統 Web 服務,而不是將機器學習模型部署為新的 Web 服務。
新增端點
您部署的預測性 Web 服務包含預設評分端點,會與原始定型和評分實驗定型模型保持同步。 若要使用新的定型模型將 Web 服務更新為 ,您必須建立新的評分端點。
有兩種方式可讓您將新的端點新增至 Web 服務:
- 以程式設計方式
- 使用 Azure Web 服務入口網站
注意
請務必將端點新增至預測性 Web 服務,而不是訓練 Web 服務。 如果您已正確部署定型和預測性 Web 服務,您應該會看到列出兩個不同的 Web 服務。 預測性 Web 服務應該以 “[predictive exp.]” 結尾。
以程序設計方式新增端點
您可以使用此 GitHub 存放庫中提供的範例程式代碼來新增評分端點。
使用 Azure Web 服務入口網站新增端點
- 在 機器學習 Studio(傳統版)的左側導覽數據行上,按兩下 [Web 服務]。
- 在 Web 服務儀錶板底部,按一下 [ 管理端點預覽]。
- 按一下新增。
- 輸入新端點的名稱和描述。 選取記錄層級,以及是否啟用範例數據。 如需記錄的詳細資訊,請參閱啟用 機器學習 Web 服務的記錄。
更新已新增端點的定型模型
擷取修補程式 URL
請遵循下列步驟,使用入口網站取得正確的 PATCH URL:
- 登入 Azure 機器學習 Web 服務入口網站。
- 按兩下 頂端的 [Web 服務 ] 或 [傳統Web服務 ]。
- 按兩下您正在使用的評分 Web 服務(如果您未修改 Web 服務的預設名稱,則會以 “[Scoring Exp.]” 結尾。
- 按兩下 [+新增]。
- 新增端點之後,按兩下端點名稱。
- 在 [ 修補 URL] 底下,按兩下 [API 說明 ] 以開啟修補說明頁面。
注意
如果您將端點新增至定型 Web 服務,而不是預測性 Web 服務,當您按兩下 [更新資源 ] 連結時,將會收到下列錯誤:「很抱歉,但這項功能不支援或在此內容中使用。 此 Web 服務沒有可更新的資源。 我們對不便表示歉意,並正在努力改善此工作流程。
PATCH 說明頁面包含您必須使用的 PATCH URL,並提供可用來呼叫它的範例程式代碼。
更新端點
您現在可以使用定型的模型來更新您先前建立的評分端點。
下列範例程式代碼示範如何使用BaseLocation、RelativeLocation、SasBlobToken和 PATCH URL來更新端點。
private async Task OverwriteModel()
{
var resourceLocations = new
{
Resources = new[]
{
new
{
Name = "Census Model [trained model]",
Location = new AzureBlobDataReference()
{
BaseLocation = "https://esintussouthsus.blob.core.windows.net/",
RelativeLocation = "your endpoint relative location", //from the output, for example: "experimentoutput/8946abfd-79d6-4438-89a9-3e5d109183/8946abfd-79d6-4438-89a9-3e5d109183.ilearner"
SasBlobToken = "your endpoint SAS blob token" //from the output, for example: "?sv=2013-08-15&sr=c&sig=37lTTfngRwxCcf94%3D&st=2015-01-30T22%3A53%3A06Z&se=2015-01-31T22%3A58%3A06Z&sp=rl"
}
}
}
};
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", apiKey);
using (var request = new HttpRequestMessage(new HttpMethod("PATCH"), endpointUrl))
{
request.Content = new StringContent(JsonConvert.SerializeObject(resourceLocations), System.Text.Encoding.UTF8, "application/json");
HttpResponseMessage response = await client.SendAsync(request);
if (!response.IsSuccessStatusCode)
{
await WriteFailedResponse(response);
}
// Do what you want with a successful response here.
}
}
}
您可以從端點儀錶板取得呼叫的 apiKey 和 endpointUrl。
Resources 中 Name 參數的值應該符合預測實驗中已儲存定型模型的資源名稱。 若要取得資源名稱:
- 登入 Azure 入口網站。
- 在左側功能表中,按兩下 [機器學習]。
- 在 [名稱] 底下,按兩下您的工作區,然後按兩下 [ Web 服務]。
- 在 [名稱] 底下,按兩下 [ Census Model [predictive exp.]。
- 按兩下您新增的新端點。
- 在端點儀錶板上,按兩下 [ 更新資源]。
- 在 Web 服務的 [更新資源 API 檔案] 頁面上,您可以在 [可更新的資源] 下找到 [資源名稱]。
如果您的 SAS 令牌在更新端點之前過期,您必須使用作業識別碼執行 GET,才能取得新的權杖。
當程式代碼成功執行時,新的端點應該會在大約30秒內開始使用重新定型的模型。
下一步
若要深入瞭解如何管理 Web 服務或追蹤多個實驗執行,請參閱下列文章: