Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
DOTYCZY:
Machine Learning Studio (wersja klasyczna)
Azure Machine Learning
Ważne
Obsługa programu Machine Learning Studio (wersja klasyczna) zakończy się 31 sierpnia 2024 r. Zalecamy przejście do usługi Azure Machine Learning przed tym terminem.
Od 1 grudnia 2021 r. nie będzie można tworzyć nowych zasobów programu Machine Learning Studio (wersja klasyczna). Do 31 sierpnia 2024 r. można będzie nadal korzystać z istniejących zasobów programu Machine Learning Studio (wersja klasyczna).
- Zobacz informacje na temat przenoszenia projektów uczenia maszynowego z usługi ML Studio (klasycznej) do usługi Azure Machine Learning.
- Dowiedz się więcej o usłudze Azure Machine Learning
Dokumentacja programu ML Studio (wersja klasyczna) jest wycofywana i może nie być aktualizowana w przyszłości.
Ponowne trenowanie to jeden ze sposobów zapewnienia, że modele uczenia maszynowego pozostają dokładne i oparte na najbardziej odpowiednich dostępnych danych. W tym artykule pokazano, jak ponownie trenować i wdrażać model uczenia maszynowego jako nową usługę internetową w programie Studio (wersja klasyczna). Jeśli chcesz przeprojektować klasyczną usługę internetową, zapoznaj się z tym artykułem instruktażowym.
W tym artykule założono, że masz już wdrożona predykcyjna usługa internetowa. Jeśli nie masz jeszcze predykcyjnej usługi internetowej, dowiedz się, jak wdrożyć usługę internetową Studio (klasyczną) tutaj.
Wykonaj następujące kroki, aby ponownie wytrenować i wdrożyć nową usługę internetową uczenia maszynowego:
- Uruchomienie usługi internetowej do ponownego trenowania
- Trenowanie nowego modelu przy użyciu ponownego trenowania usługi internetowej
- Aktualizowanie istniejącego eksperymentu predykcyjnego w celu użycia nowego modelu
Uwaga
Do interakcji z platformą Azure zalecamy używanie modułu Azure Az w programie PowerShell. Zobacz Instalowanie programu Azure PowerShell, aby rozpocząć. Aby dowiedzieć się, jak przeprowadzić migrację do modułu Az PowerShell, zobacz Migracja programu Azure PowerShell z modułu AzureRM do modułu Az.
Uruchomienie usługi ponownego szkolenia przez internet
Ponowne trenowanie usługi internetowej umożliwia ponowne trenowanie modelu przy użyciu nowego zestawu parametrów, takich jak nowe dane, i zapisywanie go na później. Po połączeniu wyjścia usługi sieciowej z modelem treningowym, eksperyment szkoleniowy generuje nowy model do wykorzystania.
Aby wdrożyć usługę retreningu, wykonaj następujące kroki:
Połącz moduł Web Service Input z danymi wejściowymi. Zazwyczaj chcesz mieć pewność, że dane wejściowe są przetwarzane w taki sam sposób, jak oryginalne dane szkoleniowe.
Połącz moduł Danych wyjściowych usługi internetowej z danymi wyjściowymi trenowania modelu.
Jeśli masz moduł Evaluate Model (Ocena modelu), możesz połączyć moduł Web Service Output, aby uzyskać wyniki oceny
Uruchom eksperyment.
Po uruchomieniu eksperymentu wynikowy przepływ pracy powinien być podobny do poniższego obrazu:
Teraz wdrożysz eksperyment trenowania jako usługę internetową ponownego trenowania, która generuje wytrenowany model i wyniki oceny modelu.
W dolnej części kanwy eksperymentu kliknij pozycję Skonfiguruj usługę internetową
Wybierz pozycję Wdróż usługę internetową [nowy]. Portal usług sieci Web usługi Machine Learning zostanie otwarty na stronie Wdrażanie usługi sieci Web.
Wpisz nazwę usługi internetowej i wybierz plan płatności.
Wybierz Wdróż.
Ponowne trenowanie modelu
W tym przykładzie używamy języka C# do utworzenia aplikacji ponownego trenowania. Do wykonania tego zadania można również użyć przykładowego kodu w języku Python lub R.
Aby wywołać interfejsy API ponownego trenowania, wykonaj następujące czynności:
- Utwórz aplikację konsolową w języku C# w programie Visual Studio: Nowy>Projekt>Visual C#>Klasyczny pulpit systemu Windows>Aplikacja konsolowa (.NET Framework).
- Zaloguj się do portalu usług internetowych Uczenia Maszynowego.
- Kliknij usługę internetową, z którą pracujesz.
- Kliknij pozycję Zużyj.
- W dolnej części strony Korzystanie w sekcji Przykładowy kod kliknij pozycję Batch.
- Skopiuj przykładowy kod C# na potrzeby wykonywania wsadowego i wklej go do pliku Program.cs. Upewnij się, że przestrzeń nazw pozostaje nienaruszona.
Dodaj pakiet NuGet Microsoft.AspNet.WebApi.Client, jak określono w komentarzach. Aby dodać odwołanie do Microsoft.WindowsAzure.Storage.dll, może być konieczne zainstalowanie biblioteki klienta dla usług Azure Storage.
Poniższy zrzut ekranu przedstawia stronę Korzystanie w portalu usług sieci Web Machine Learning.
Aktualizowanie deklaracji apikey
Znajdź deklarację apikey :
const string apiKey = "abc123"; // Replace this with the API key for the web service
W sekcji Podstawowe informacje o użyciu na stronie Użycie znajdź klucz główny i skopiuj go do deklaracji api-key.
Aktualizowanie informacji o usłudze Azure Storage
Przykładowy kod usługi BES przekazuje plik z dysku lokalnego (na przykład "C:\temp\CensusInput.csv") do usługi Azure Storage, przetwarza go i zapisuje wyniki z powrotem do usługi Azure Storage.
- Logowanie do witryny Azure Portal
- W lewej nawigacyjnej kolumnie kliknij pozycję Więcej usług, wyszukaj pozycję Konta magazynowe i wybierz je.
- Z listy kont magazynu wybierz jeden, aby zapisać ponownie trenowany model.
- W lewej kolumnie nawigacji kliknij pozycję Klucze dostępu.
- Skopiuj i zapisz klucz dostępu podstawowego.
- W lewej kolumnie nawigacji kliknij pozycję Obiekty blob.
- Wybierz istniejący kontener lub utwórz nowy i zapisz nazwę.
Znajdź deklaracje StorageAccountName, StorageAccountKey i StorageContainerName i zaktualizuj wartości zapisane w portalu.
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
Należy również upewnić się, że plik wejściowy jest dostępny w lokalizacji określonej w kodzie.
Określanie lokalizacji wyjściowej
Po określeniu lokalizacji wyjściowej w ładunku żądania rozszerzenie pliku określonego w względnej lokalizacji musi być określone 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)*/
}
},
Oto przykład wyników ponownego trenowania:
Ocena wyników ponownego trenowania
Po uruchomieniu aplikacji dane wyjściowe zawierają adres URL i token sygnatur dostępu współdzielonego, które są niezbędne do uzyskania dostępu do wyników oceny.
Wyniki wydajności modelu ponownie trenowanego można zobaczyć, łącząc BaseLocation, RelativeLocation i SasBlobToken z wyników wyjściowych dla output2 i wklejając pełny adres URL w pasek adresu przeglądarki.
Sprawdź wyniki, aby ustalić, czy nowo wytrenowany model działa lepiej niż istniejący.
Zapisz wartości BaseLocation, RelativeLocation i SasBlobToken z wyników wyjściowych.
Aktualizowanie eksperymentu predykcyjnego
Logowanie się do usługi Azure Resource Manager
Najpierw zaloguj się do konta platformy Azure z poziomu środowiska programu PowerShell przy użyciu polecenia cmdlet Connect-AzAccount .
Pobieranie obiektu definicji usługi sieci Web
Następnie pobierz obiekt Definicji usługi internetowej, wywołując polecenie cmdlet Get-AzMlWebService .
$wsd = Get-AzMlWebService -Name 'RetrainSamplePre.2016.8.17.0.3.51.237' -ResourceGroupName 'Default-MachineLearning-SouthCentralUS'
Aby określić nazwę grupy zasobów istniejącej usługi internetowej, uruchom polecenie cmdlet Get-AzMlWebService bez żadnych parametrów, aby wyświetlić usługi internetowe w ramach subskrypcji. Znajdź usługę internetową, a następnie sprawdź jej identyfikator usługi internetowej. Nazwa grupy zasobów jest czwartym elementem w identyfikatorze tuż po elemecie resourceGroups . W poniższym przykładzie nazwa grupy zasobów to 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 : {}
Alternatywnie, aby określić nazwę grupy zasobów istniejącej usługi internetowej, zaloguj się do portalu usług sieci Web Machine Learning. Wybierz usługę internetową. Nazwa grupy zasobów jest piątym elementem adresu URL usługi internetowej tuż po elemecie resourceGroups . W poniższym przykładzie nazwa grupy zasobów to 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
Eksportowanie obiektu definicji usługi sieci Web jako formatu JSON
Aby zmodyfikować definicję wytrenowanego modelu do używania nowo wytrenowanego modelu, należy najpierw użyć polecenia cmdlet Export-AzMlWebService , aby wyeksportować go do pliku w formacie JSON.
Export-AzMlWebService -WebService $wsd -OutputFile "C:\temp\mlservice_export.json"
Aktualizowanie odwołania do obiektu blob ilearner
W zasobach znajdź [wytrenowany model], zaktualizuj wartość URI w węźle locationInfo, podając URI bloba ilearner. Identyfikator URI jest generowany przez połączenie BaseLocation i RelativeLocation z danych wyjściowych wywołania ponownego trenowania 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"
}
}
},
Importowanie kodu JSON do obiektu definicji usługi sieci Web
Użyj polecenia cmdlet Import-AzMlWebService, aby przekonwertować zmodyfikowany plik JSON z powrotem na obiekt definicji usługi sieci Web, którego można użyć do zaktualizowania eksperymentu predykacyjnego.
$wsd = Import-AzMlWebService -InputFile "C:\temp\mlservice_export.json"
Aktualizowanie usługi internetowej
Na koniec użyj cmdletu Update-AzMlWebService, aby zaktualizować eksperyment predykcyjny.
Update-AzMlWebService -Name 'RetrainSamplePre.2016.8.17.0.3.51.237' -ResourceGroupName 'Default-MachineLearning-SouthCentralUS'
Następne kroki
Aby dowiedzieć się więcej na temat zarządzania usługami internetowymi lub śledzenia wielu przebiegów eksperymentów, zobacz następujące artykuły: