Opětovné trénování a nasazení modelu strojového učení
PLATÍ PRO: Machine Learning Studio (Classic) Azure Machine Learning
Důležité
Podpora studia Machine Learning (Classic) skončí 31. srpna 2024. Doporučujeme do tohoto data přejít na službu Azure Machine Learning.
Od 1. prosince 2021 nebude možné vytvářet nové prostředky studia Machine Learning (Classic). Do 31. srpna 2024 můžete pokračovat v používání stávajících prostředků studia Machine Learning (Classic).
- Přečtěte si informace o přesunu projektů strojového učení ze sady ML Studio (classic) do služby Azure Machine Learning.
- Další informace o službě Azure Machine Learning
Dokumentace ke studiu ML (Classic) se vyřazuje z provozu a v budoucnu se nemusí aktualizovat.
Přetrénování je jedním ze způsobů, jak zajistit, aby modely strojového učení zůstaly přesné a založené na nejrelevavantnějších dostupných datech. Tento článek ukazuje, jak model strojového učení přetrénovat a nasadit jako novou webovou službu v sadě Studio (Classic). Pokud chcete přetrénovat klasickou webovou službu, přečtěte si tento článek s postupy.
Tento článek předpokládá, že už máte nasazenou prediktivní webovou službu. Pokud ještě nemáte prediktivní webovou službu, naučte se tady nasadit webovou službu Studio (Classic).
Pomocí těchto kroků znovu natrénujete a nasadíte novou webovou službu strojového učení:
- Nasazení webové služby pro přetrénování
- Trénování nového modelu pomocí webové služby pro přetrénování
- Aktualizace existujícího prediktivního experimentu tak, aby používal nový model
Poznámka:
Při práci s Azure doporučujeme používat modul Azure Az PowerShellu. Začněte tím, že si projdete téma Instalace Azure PowerShellu. Informace o tom, jak migrovat na modul Az PowerShell, najdete v tématu Migrace Azure PowerShellu z AzureRM na Az.
Nasazení webové služby pro přeučování
Webová služba pro přetrénování umožňuje přetrénování modelu pomocí nové sady parametrů, jako jsou nová data, a uložit ho pro pozdější použití. Když připojíte výstup webové služby k modelu trénování, trénovací experiment zobrazí nový model, který můžete použít.
Pomocí následujících kroků nasaďte webovou službu pro přeučování:
Připojte modul Vstupu webové služby ke vstupu dat. Obvykle chcete zajistit, aby se vstupní data zpracovávala stejným způsobem jako původní trénovací data.
Připojte modul Výstup webové služby k výstupu vašeho trénovacího modelu.
Pokud máte modul Vyhodnotit model , můžete připojit modul Výstup webové služby k výstupu výsledků vyhodnocení.
Spusťte experiment.
Po spuštění experimentu by výsledný pracovní postup měl vypadat podobně jako na následujícím obrázku:
Teď nasadíte trénovací experiment jako webovou službu, která vypíše natrénovaný model a výsledky vyhodnocení modelu.
V dolní části plátna experimentu klikněte na Nastavit webovou službu.
Vyberte Nasadit webovou službu [Nový]. Portál Webové služby Machine Learning se otevře na stránce Nasazení webové služby .
Zadejte název webové služby a zvolte platební plán.
Vyberte Nasadit.
Přetrénování modelu
V tomto příkladu používáme jazyk C# k vytvoření aplikace pro přeučování. K provedení této úlohy můžete použít také ukázkový kód Pythonu nebo R.
K volání rozhraní API pro přeučování použijte následující postup:
- Vytvořte konzolovou aplikaci v jazyce C# v sadě Visual Studio: Nová>konzolová aplikace Visual>Visual C#>Windows Classic Desktop>Console App (.NET Framework)
- Přihlaste se k portálu služby Machine Learning Web Services.
- Klikněte na webovou službu, se kterou pracujete.
- Klikněte na Spotřebovat.
- V dolní části stránky Využívání klikněte v části Vzorový kód na Batch.
- Zkopírujte ukázkový kód C# pro dávkové spuštění a vložte ho do souboru Program.cs. Ujistěte se, že obor názvů zůstane nedotčený.
Přidejte balíček NuGet Microsoft.AspNet.WebApi.Client, jak je uvedeno v komentářích. Pokud chcete přidat odkaz na Microsoft.WindowsAzure.Storage.dll, možná budete muset nainstalovat klientskou knihovnu pro služby Azure Storage.
Následující snímek obrazovky ukazuje stránku Využití na portálu Webové služby Machine Learning.
Aktualizace deklarace klíče apikey
Vyhledejte deklaraci apikey:
const string apiKey = "abc123"; // Replace this with the API key for the web service
V části Základní informace o spotřebě na stránce Spotřeba vyhledejte primární klíč a zkopírujte ho do deklarace apikey.
Aktualizace informací o službě Azure Storage
Vzorový kód BES nahraje soubor z místního disku (například C:\temp\CensusInput.csv) do Služby Azure Storage, zpracuje ho a zapíše výsledky zpět do Azure Storage.
- Přihlášení k webu Azure Portal
- V levém navigačním sloupci klikněte na Další služby, vyhledejte účty úložiště a vyberte ho.
- V seznamu účtů úložiště vyberte jeden z účtů úložiště, do kterých chcete uložit přetrénovaný model.
- V levém navigačním sloupci klikněte na Přístupové klávesy.
- Zkopírujte a uložte primární přístupový klíč.
- V levém navigačním sloupci klikněte na Objekty blob.
- Vyberte existující kontejner nebo vytvořte nový a uložte název.
Vyhledejte deklarace StorageAccountName, StorageAccountKey a StorageContainerName a aktualizujte hodnoty, které jste uložili na portálu.
const string StorageAccountName = "mystorageacct"; // Replace this with your Azure storage account name
const string StorageAccountKey = "a_storage_account_key"; // Replace this with your Azure Storage key
const string StorageContainerName = "mycontainer"; // Replace this with your Azure Storage container name
Musíte také zajistit, aby byl vstupní soubor dostupný v umístění, které zadáte v kódu.
Určení výstupního umístění
Pokud zadáte výstupní umístění v datové části požadavku, musí být přípona souboru, který je zadán v RelativeLocation jako ilearner
.
Outputs = new Dictionary<string, AzureBlobDataReference>() {
{
"output1",
new AzureBlobDataReference()
{
ConnectionString = storageConnectionString,
RelativeLocation = string.Format("{0}/output1results.ilearner", StorageContainerName) /*Replace this with the location you want to use for your output file and a valid file extension (usually .csv for scoring results or .ilearner for trained models)*/
}
},
Tady je příklad opětovného natrénování výstupu:
Vyhodnocení výsledků přeučování
Při spuštění aplikace výstup zahrnuje adresu URL a token sdílených přístupových podpisů, které jsou nezbytné pro přístup k výsledkům vyhodnocení.
Výsledky výkonu přetrénovaného modelu můžete zobrazit kombinací BaseLocation, RelativeLocation a SasBlobTokenu z výstupních výsledků pro výstup2 a vložením celé adresy URL do adresního řádku prohlížeče.
Prozkoumejte výsledky a zjistěte, jestli nově natrénovaný model funguje lépe než existující model.
Uložte baseLocation, RelativeLocation a SasBlobToken z výsledků výstupu.
Aktualizace prediktivního experimentu
Přihlášení k Azure Resource Manageru
Nejprve se přihlaste ke svému účtu Azure z prostředí PowerShell pomocí rutiny Connect-AzAccount .
Získání objektu Definice webové služby
Dále získejte objekt Definice webové služby voláním rutiny Get-AzMlWebService .
$wsd = Get-AzMlWebService -Name 'RetrainSamplePre.2016.8.17.0.3.51.237' -ResourceGroupName 'Default-MachineLearning-SouthCentralUS'
Pokud chcete určit název skupiny prostředků existující webové služby, spusťte rutinu Get-AzMlWebService bez jakýchkoli parametrů pro zobrazení webových služeb ve vašem předplatném. Vyhledejte webovou službu a podívejte se na ID webové služby. Název skupiny prostředků je čtvrtým prvkem v ID hned za elementem resourceGroups . V následujícím příkladu je název skupiny prostředků Default-MachineLearning-SouthCentralUS.
Properties : Microsoft.Azure.Management.MachineLearning.WebServices.Models.WebServicePropertiesForGraph
Id : /subscriptions/<subscription ID>/resourceGroups/Default-MachineLearning-SouthCentralUS/providers/Microsoft.MachineLearning/webServices/RetrainSamplePre.2016.8.17.0.3.51.237
Name : RetrainSamplePre.2016.8.17.0.3.51.237
Location : South Central US
Type : Microsoft.MachineLearning/webServices
Tags : {}
Případně pokud chcete určit název skupiny prostředků existující webové služby, přihlaste se k portálu Machine Learning Web Services. Vyberte webovou službu. Název skupiny prostředků je pátý prvek adresy URL webové služby hned za elementem resourceGroups . V následujícím příkladu je název skupiny prostředků Default-MachineLearning-SouthCentralUS.
https://services.azureml.net/subscriptions/<subscription ID>/resourceGroups/Default-MachineLearning-SouthCentralUS/providers/Microsoft.MachineLearning/webServices/RetrainSamplePre.2016.8.17.0.3.51.237
Export objektu Definice webové služby jako JSON
Pokud chcete upravit definici natrénovaného modelu tak, aby používal nově natrénovaný model, musíte nejprve použít rutinu Export-AzMlWebService k exportu do souboru ve formátu JSON.
Export-AzMlWebService -WebService $wsd -OutputFile "C:\temp\mlservice_export.json"
Aktualizace odkazu na objekt blob ilearner
V prostředcích vyhledejte [vytrénovaný model], aktualizujte hodnotu identifikátoru URI v uzlu locationInfo identifikátorem URI objektu blob ilearneru. Identifikátor URI je generován kombinováním BaseLocation a RelativeLocation z výstupu volání REtraining BES.
"asset3": {
"name": "Retrain Sample [trained model]",
"type": "Resource",
"locationInfo": {
"uri": "https://mltestaccount.blob.core.windows.net/azuremlassetscontainer/baca7bca650f46218633552c0bcbba0e.ilearner"
},
"outputPorts": {
"Results dataset": {
"type": "Dataset"
}
}
},
Import JSON do objektu Definice webové služby
Pomocí rutiny Import-AzMlWebService převeďte upravený soubor JSON zpět na objekt Definice webové služby, který můžete použít k aktualizaci predikativního experimentu.
$wsd = Import-AzMlWebService -InputFile "C:\temp\mlservice_export.json"
Aktualizace webové služby
Nakonec pomocí rutiny Update-AzMlWebService aktualizujte prediktivní experiment.
Update-AzMlWebService -Name 'RetrainSamplePre.2016.8.17.0.3.51.237' -ResourceGroupName 'Default-MachineLearning-SouthCentralUS'
Další kroky
Další informace o správě webových služeb nebo sledování více spuštění experimentů najdete v následujících článcích: