Gépi tanulási modell újratanítása és üzembe helyezése
ÉRVÉNYES: Machine Learning Studio (klasszikus) Azure Machine Learning
Fontos
A (klasszikus) Machine Learning Studio támogatása 2024. augusztus 31-én megszűnik. Javasoljuk, hogy addig térjen át az Azure Machine Learning használatára.
2021. december 1-től kezdve nem fog tudni létrehozni új (klasszikus) Machine Learning Studio-erőforrásokat. 2024. augusztus 31-ig továbbra is használhatja a meglévő (klasszikus) Machine Learning Studio-erőforrásokat.
- A gépi tanulási projektek ML Studióból (klasszikus) Azure Machine Learningbe való áthelyezéséről szóló információk.
- További információ az Azure Machine Learningről
A (klasszikus) ML Studio dokumentációjának kivezetése folyamatban van, és a jövőben nem várható a frissítése.
Az újratanítás az egyik módja annak, hogy a gépi tanulási modellek pontosak maradjanak, és a legrelevánsabb rendelkezésre álló adatokon alapuljanak. Ez a cikk bemutatja, hogyan taníthat be és helyezhet üzembe gépi tanulási modellt új webszolgáltatásként a Studióban (klasszikus). Ha klasszikus webszolgáltatást szeretne újratanításra, tekintse meg ezt az útmutatót.
Ez a cikk feltételezi, hogy már üzembe helyezett egy prediktív webszolgáltatást. Ha még nem rendelkezik prediktív webszolgáltatással, itt megtudhatja, hogyan helyezhet üzembe egy Studio (klasszikus) webszolgáltatást.
Az alábbi lépéseket követve újrataníthat és üzembe helyezhet egy gépi tanulási új webszolgáltatást:
- Újratanítási webszolgáltatás üzembe helyezése
- Új modell betanítása az újratanítási webszolgáltatással
- A meglévő prediktív kísérlet frissítése az új modell használatára
Feljegyzés
Javasoljuk, hogy az Azure Az PowerShell modult használja az Azure-ral való interakcióhoz. Az első lépésekhez tekintse meg az Azure PowerShell telepítését ismertető szakaszt. Az Az PowerShell-modulra történő migrálás részleteiről lásd: Az Azure PowerShell migrálása az AzureRM modulból az Az modulba.
Az újratanítási webszolgáltatás üzembe helyezése
Az újratanítási webszolgáltatás lehetővé teszi a modell újratanítását új paraméterekkel, például új adatokkal, és mentheti későbbre. Amikor egy webszolgáltatás kimenetét egy betanítási modellhez csatlakoztatja, a betanítási kísérlet egy új modellt ad ki.
Az újratanítási webszolgáltatás üzembe helyezéséhez kövesse az alábbi lépéseket:
Webszolgáltatás-beviteli modul csatlakoztatása az adatbevitelhez. Általában azt szeretné biztosítani, hogy a bemeneti adatok feldolgozása ugyanúgy történjen, mint az eredeti betanítási adatok.
Webszolgáltatás kimeneti moduljának csatlakoztatása a betanított modell kimenetéhez.
Ha rendelkezik Modell kiértékelése modullal, csatlakoztathat egy webszolgáltatás kimeneti modult a kiértékelési eredmények kimenetéhez
Futtassa a kísérletet.
A kísérlet futtatása után az eredményként kapott munkafolyamatnak az alábbi képhez hasonlónak kell lennie:
Most a betanítási kísérletet újratanítási webszolgáltatásként helyezi üzembe, amely egy betanított modellt és modellértékelési eredményeket ad ki.
A kísérletvászon alján kattintson a Webszolgáltatás beállítása elemre
Válassza a Webszolgáltatás üzembe helyezése [Új] lehetőséget. Megnyílik a Machine Learning Web Services portál a Webszolgáltatás üzembe helyezése lapra.
Írja be a webszolgáltatás nevét, és válasszon fizetési csomagot.
Válassza az Üzembe helyezés lehetőséget.
A modell újratanítása
Ebben a példában a C#-ot használjuk az újratanítási alkalmazás létrehozásához. A feladat elvégzéséhez Python- vagy R-mintakódot is használhat.
Az újratanítási API-k meghívásához kövesse az alábbi lépéseket:
- C#-konzolalkalmazás létrehozása a Visual Studióban: Új>Project>Visual C#>Windows klasszikus asztali>konzolalkalmazás (.NET-keretrendszer).
- Jelentkezzen be a Machine Learning Web Services portálra.
- Kattintson arra a webszolgáltatásra, amellyel dolgozik.
- Kattintson a Felhasználás gombra.
- A Felhasználás lap alján, a Mintakód szakaszban kattintson a Batch gombra.
- Másolja ki a C#-mintakódot a kötegelt végrehajtáshoz, és illessze be a Program.cs fájlba. Győződjön meg arról, hogy a névtér érintetlen marad.
Adja hozzá a Microsoft.AspNet.WebApi.Client NuGet-csomagot a megjegyzésekben megadott módon. Ha hozzá szeretné adni a Microsoft.WindowsAzure.Storage.dll hivatkozását, előfordulhat, hogy telepítenie kell az Azure Storage-szolgáltatások ügyfélkódtárát.
Az alábbi képernyőképen a Machine Learning Web Services portál Használat lapja látható.
Az apikey-deklaráció frissítése
Keresse meg az apikey deklarációt:
const string apiKey = "abc123"; // Replace this with the API key for the web service
A Felhasználás lap Alapszintű felhasználás információ szakaszában keresse meg az elsődleges kulcsot, és másolja az apikey-deklarációba.
Az Azure Storage adatainak frissítése
A BES-mintakód feltölt egy fájlt egy helyi meghajtóról (például "C:\temp\CensusInput.csv") az Azure Storage-ba, feldolgozza és visszaírja az eredményeket az Azure Storage-ba.
- Jelentkezzen be az Azure Portalra
- A bal oldali navigációs oszlopban kattintson a További szolgáltatások elemre, keresse meg a Tárfiókokat, és jelölje ki.
- A tárfiókok listájában válasszon egyet az újratanított modell tárolásához.
- A bal oldali navigációs oszlopban kattintson az Access-kulcsok elemre.
- Másolja és mentse az elsődleges hozzáférési kulcsot.
- A bal oldali navigációs oszlopban kattintson a Blobok elemre.
- Válasszon ki egy meglévő tárolót, vagy hozzon létre egy újat, és mentse a nevet.
Keresse meg a StorageAccountName, a StorageAccountKey és a StorageContainerName deklarációkat, és frissítse a portálról mentett értékeket.
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
Arról is gondoskodnia kell, hogy a bemeneti fájl elérhető legyen a kódban megadott helyen.
Adja meg a kimeneti helyet
Amikor megadja a kimeneti helyet a Kérelem hasznos adatai mezőben, a RelativeLocationban megadott fájl kiterjesztését a következőképpen kell megadniilearner
.
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)*/
}
},
Íme egy példa a kimenet újratanítására:
Az újratanítási eredmények kiértékelése
Az alkalmazás futtatásakor a kimenet tartalmazza a kiértékelési eredmények eléréséhez szükséges URL-címet és közös hozzáférésű jogosultságkód-jogkivonatot.
Az újratanított modell teljesítményeredményeit a BaseLocation, a RelativeLocation és a SasBlobToken egyesítésével tekintheti meg a kimenet2 kimeneti eredményeiből, és beillesztheti a teljes URL-címet a böngésző címsorába.
Vizsgálja meg az eredményeket annak megállapításához, hogy az újonnan betanított modell jobban teljesít-e, mint a meglévő.
Mentse a BaseLocation, a RelativeLocation és a SasBlobToken fájlt a kimeneti eredmények közül.
A prediktív kísérlet frissítése
Bejelentkezés az Azure Resource Managerbe
Először jelentkezzen be azure-fiókjába a PowerShell-környezetből a Connect-AzAccount parancsmag használatával.
A Web Service Definition objektum lekérése
Ezután kérje le a Web Service Definition objektumot a Get-AzMlWebService parancsmag meghívásával.
$wsd = Get-AzMlWebService -Name 'RetrainSamplePre.2016.8.17.0.3.51.237' -ResourceGroupName 'Default-MachineLearning-SouthCentralUS'
Egy meglévő webszolgáltatás erőforráscsoport-nevének meghatározásához futtassa a Get-AzMlWebService parancsmagot paraméterek nélkül a webszolgáltatások előfizetésben való megjelenítéséhez. Keresse meg a webszolgáltatást, majd tekintse meg a webszolgáltatás azonosítóját. Az erőforráscsoport neve az azonosító negyedik eleme, a resourceGroups elem után. Az alábbi példában az erőforráscsoport neve 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 : {}
Másik lehetőségként egy meglévő webszolgáltatás erőforráscsoportjának nevének meghatározásához jelentkezzen be a Machine Learning Web Services portálra. Válassza ki a webszolgáltatást. Az erőforráscsoport neve a webszolgáltatás URL-címének ötödik eleme, a resourceGroups elem után. Az alábbi példában az erőforráscsoport neve 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
A webszolgáltatás-definíció objektum exportálása JSON-ként
Ha módosítani szeretné a betanított modell definícióját az újonnan betanított modell használatára, először az Export-AzMlWebService parancsmaggal kell exportálnia egy JSON-formátumú fájlba.
Export-AzMlWebService -WebService $wsd -OutputFile "C:\temp\mlservice_export.json"
Az ilearner-blobra mutató hivatkozás frissítése
Az eszközökben keresse meg a [betanított modellt], frissítse az uri értéket a locationInfo csomópontban az ilearner-blob URI-jával. Az URI a BaseLocation és a RelativeLocation összevonásával jön létre a BES újratanítási hívás kimenetéből.
"asset3": {
"name": "Retrain Sample [trained model]",
"type": "Resource",
"locationInfo": {
"uri": "https://mltestaccount.blob.core.windows.net/azuremlassetscontainer/baca7bca650f46218633552c0bcbba0e.ilearner"
},
"outputPorts": {
"Results dataset": {
"type": "Dataset"
}
}
},
A JSON importálása webszolgáltatás-definíciós objektumba
Az Import-AzMlWebService parancsmaggal konvertálja vissza a módosított JSON-fájlt egy webszolgáltatás-definíciós objektummá, amellyel frissítheti a predikatív kísérletet.
$wsd = Import-AzMlWebService -InputFile "C:\temp\mlservice_export.json"
A webszolgáltatás frissítése
Végül az Update-AzMlWebService parancsmaggal frissítse a prediktív kísérletet.
Update-AzMlWebService -Name 'RetrainSamplePre.2016.8.17.0.3.51.237' -ResourceGroupName 'Default-MachineLearning-SouthCentralUS'
Következő lépések
A webszolgáltatások kezelésével vagy a több kísérlet futtatásának nyomon követéséval kapcsolatos további információkért tekintse meg az alábbi cikkeket: