Nasazení webových služeb Machine Learning Studio (Classic), které používají moduly importu a exportu dat
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ři vytváření prediktivního experimentu obvykle přidáte vstup a výstup webové služby. Při nasazení experimentu můžou příjemci odesílat a přijímat data z webové služby prostřednictvím vstupů a výstupů. U některých aplikací můžou být data příjemce dostupná z datového kanálu nebo už jsou uložená v externím zdroji dat, jako je azure Blob Storage. V těchto případech nepotřebují číst a zapisovat data pomocí vstupů a výstupů webové služby. Místo toho můžou pomocí služby Batch Execution Service (BES) číst data ze zdroje dat pomocí modulu importu dat a zapisovat výsledky vyhodnocování do jiného umístění dat pomocí modulu Export dat.
Moduly importu dat a exportu dat můžou číst a zapisovat do různých umístění dat, jako je webová adresa URL prostřednictvím protokolu HTTP, dotaz Hive, databáze ve službě Azure SQL Database, Azure Table Storage, Azure Blob Storage, poskytování datového kanálu nebo databáze SQL Serveru.
Toto téma používá ukázku "Sample 5: Train, Test, Evaluate for Binary Classification: Adult Dataset" (Ukázka 5: Trénování, testování, vyhodnocení binární klasifikace: Datová sada pro dospělé) a předpokládá, že datová sada už byla načtena do tabulky Azure SQL s názvem censusdata.
Vytvoření trénovacího experimentu
Když otevřete ukázku "Sample 5: Train, Test, Evaluate for Binary Classification: Adult Dataset" (Ukázka 5: Train, Test, Evaluate for Binary Classification: Adult Dataset), použije ukázkovou datovou sadu pro sčítání příjmů. Experiment na plátně bude vypadat podobně jako na následujícím obrázku:
Čtení dat z tabulky Azure SQL:
Odstraňte modul datové sady.
Do vyhledávacího pole komponent zadejte import.
Ze seznamu výsledků přidejte na plátno experimentu modul Importovat data .
Připojte výstup modulu Import dat ke vstupu modulu Vyčistit chybějící data .
V podokně vlastností vyberte v rozevíracím seznamu Zdroj dat Azure SQL Database.
Do pole Název databázového serveru, Název databáze, Uživatelské jméno a Heslo zadejte příslušné informace pro vaši databázi.
Do pole Dotaz databáze zadejte následující dotaz.
select [age], [workclass], [fnlwgt], [education], [education-num], [marital-status], [occupation], [relationship], [race], [sex], [capital-gain], [capital-loss], [hours-per-week], [native-country], [income] from dbo.censusdata;
V dolní části plátna experimentu klikněte na Spustit.
Vytvoření prediktivního experimentu
Dále nastavíte prediktivní experiment, ze kterého nasadíte webovou službu.
- V dolní části plátna experimentu klikněte na Nastavit webovou službu a vyberte Prediktivní webová služba [Doporučeno].
- Odeberte moduly Výstup webové služby a výstupu webové služby z prediktivního experimentu.
- Do vyhledávacího pole komponent zadejte export.
- Ze seznamu výsledků přidejte na plátno experimentu modul Export dat .
- Připojte výstup modulu Určení skóre modelu a vstup modulu Export dat .
- V podokně vlastností vyberte v rozevíracím seznamu cíl dat Azure SQL Database .
- Do polí Název databázového serveru, Název databáze, Název uživatelského účtu serveru a Heslo uživatelského účtu serveru zadejte příslušné informace pro vaši databázi.
- Do seznamu sloupců oddělených čárkami, které mají být uloženy pole, zadejte Popisky skóre.
- Do pole Název tabulky dat zadejte dbo. ScoredLabels. Pokud tabulka neexistuje, vytvoří se při spuštění experimentu nebo se volá webová služba.
- Do pole Sloupce tabulky oddělené čárkou zadejte ScoredLabels.
Při psaní aplikace, která volá konečnou webovou službu, můžete chtít zadat jiný vstupní dotaz nebo cílovou tabulku za běhu. Chcete-li nakonfigurovat tyto vstupy a výstupy, pomocí funkce Parametry webové služby nastavte vlastnost Zdroj dat modulu importu dat a cílovou vlastnost Režim exportu dat. Další informace o parametrech webové služby najdete v tématu Parametry webové služby Machine Learning Studio (classic) na blogu Cortana Intelligence a Machine Learning.
Konfigurace parametrů webové služby pro dotaz importu a cílové tabulky:
- V podokně vlastností modulu Import dat klikněte na ikonu v pravém horním rohu pole Dotazu databáze a vyberte Nastavit jako parametr webové služby.
- V podokně vlastností modulu Exportovat data klikněte na ikonu v pravém horním rohu pole Název tabulky dat a vyberte Nastavit jako parametr webové služby.
- V dolní části podokna Vlastností modulu exportu dat v části Parametry webové služby klikněte na Dotaz databáze a přejmenujte ho.
- Klikněte na Název tabulky dat a přejmenujte ji.
Po dokončení by měl experiment vypadat podobně jako na následujícím obrázku:
Teď můžete experiment nasadit jako webovou službu.
Nasazení webové služby
Můžete ho nasadit do klasické nebo nové webové služby.
Nasazení klasické webové služby
Nasazení jako klasické webové služby a vytvoření aplikace, která ji bude využívat:
V dolní části plátna experimentu klikněte na Spustit.
Po dokončení spuštění klikněte na Nasadit webovou službu a vyberte Nasadit webovou službu [Classic].
Na řídicím panelu webové služby vyhledejte klíč rozhraní API. Zkopírujte a uložte ho, abyste ho mohli použít později.
V tabulce Výchozí koncový bod kliknutím na odkaz Dávkové spuštění otevřete stránku nápovědy rozhraní API.
V sadě Visual Studio vytvořte konzolovou aplikaci jazyka C#: Nová>konzolová aplikace Visual>C#>Windows Classic Desktop>App (.NET Framework).
Na stránce nápovědy k rozhraní API najděte část Vzorový kód v dolní části stránky.
Zkopírujte a vložte vzorový kód jazyka C# do souboru Program.cs a odeberte všechny odkazy na úložiště objektů blob.
Aktualizujte hodnotu proměnné apiKey pomocí klíče rozhraní API uloženého dříve.
Vyhledejte deklaraci požadavku a aktualizujte hodnoty parametrů webové služby, které jsou předány modulům Import dat a Export dat . V tomto případě použijete původní dotaz, ale definujete nový název tabulky.
var request = new BatchExecutionRequest() { GlobalParameters = new Dictionary<string, string>() { { "Query", @"select [age], [workclass], [fnlwgt], [education], [education-num], [marital-status], [occupation], [relationship], [race], [sex], [capital-gain], [capital-loss], [hours-per-week], [native-country], [income] from dbo.censusdata" }, { "Table", "dbo.ScoredTable2" }, } };
Aplikaci spusťte.
Po dokončení spuštění se do databáze obsahující výsledky vyhodnocování přidá nová tabulka.
Nasazení nové webové služby
Poznámka:
Pokud chcete nasadit novou webovou službu, musíte mít dostatečná oprávnění v předplatném, do kterého webovou službu nasazujete. Další informace najdete v tématu Správa webové služby pomocí portálu služby Machine Learning Web Services.
Nasazení jako nová webová služba a vytvoření aplikace, která ji bude využívat:
V dolní části plátna experimentu klikněte na Spustit.
Po dokončení spuštění klikněte na Nasadit webovou službu a vyberte Nasadit webovou službu [Nový].
Na stránce Nasadit experiment zadejte název webové služby a vyberte cenový plán a klikněte na Nasadit.
Na stránce Rychlý start klikněte na Spotřebovat.
V části Vzorový kód klikněte na Batch.
V sadě Visual Studio vytvořte konzolovou aplikaci jazyka C#: Nová>konzolová aplikace Visual>C#>Windows Classic Desktop>App (.NET Framework).
Zkopírujte a vložte vzorový kód jazyka C# do souboru Program.cs.
Aktualizujte hodnotu proměnné apiKey pomocí primárního klíče umístěného v části Základní informace o spotřebě.
Vyhledejte deklaraci scoreRequest a aktualizujte hodnoty parametrů webové služby, které se předávají modulům Import dat a Export dat. V tomto případě použijete původní dotaz, ale definujete nový název tabulky.
var scoreRequest = new { Inputs = new Dictionary<string, StringTable>() { }, GlobalParameters = new Dictionary<string, string>() { { "Query", @"select [age], [workclass], [fnlwgt], [education], [education-num], [marital-status], [occupation], [relationship], [race], [sex], [capital-gain], [capital-loss], [hours-per-week], [native-country], [income] from dbo.censusdata" }, { "Table", "dbo.ScoredTable3" }, } };
Aplikaci spusťte.