Sdílet prostřednictvím


Integrace nástroje Machine Learning Studio (classic) ve Stream Analytics

Důležité

Podpora nástroje Azure Machine Learning Studio (classic) skončí 31. srpna 2024. Doporučujeme, abyste do tohoto data přešli na Azure Machine Learning .

Od 1. prosince 2021 nemůžete vytvářet nové prostředky machine Learning Studia (klasické) (pracovní prostor a plán webových služeb). Až do 31. srpna 2024 můžete dál používat stávající experimenty a webové služby Machine Learning Studio (klasické). Další informace naleznete v tématu:

Dokumentace k nástroji Machine Learning Studio (classic) se vyřadí z provozu a nemusí se v budoucnu aktualizovat.

Azure Stream Analytics podporuje uživatelem definované funkce (UDF), které volají koncové body nástroje Azure Machine Learning Studio (Classic). Knihovna REST API služby Stream Analytics popisuje podporu rozhraní REST API pro tuto funkci.

Tento článek obsahuje doplňující informace, které potřebujete k úspěšné implementaci této funkce ve Stream Analytics. K dispozici je také kurz .

Přehled: Terminologie nástroje Machine Learning Studio (Classic)

Machine Learning Studio (classic) poskytuje nástroj pro spolupráci, který můžete použít k vytváření, testování a nasazování řešení prediktivní analýzy na vašich datech. Pomocí nástroje Machine Learning Studio (Classic) můžete pracovat s těmito prostředky strojového učení:

  • Pracovní prostor: Kontejner, který obsahuje všechny ostatní prostředky strojového učení společně pro správu a řízení.
  • Experiment: Test, který datoví vědci vytvářejí pro využití datových sad a trénování modelu strojového učení.
  • Koncový bod: Objekt, který používáte k získání funkcí jako vstupu, použití zadaného modelu strojového učení a vrácení výstupu se skóre.
  • Bodovací webová služba: Kolekce koncových bodů.

Každý koncový bod má rozhraní API pro dávkové spouštění a synchronní spouštění. Stream Analytics používá synchronní spouštění. Konkrétní službě se v nástroji Machine Learning Studio (classic) říká služba požadavků a odpovědí.

Machine Learning Studio (klasické) prostředky potřebné pro úlohy Stream Analytics

Pro účely zpracování úloh Stream Analytics jsou pro úspěšné spuštění nezbytné koncové body požadavku a odpovědi, klíč rozhraní API a definice Swaggeru. Stream Analytics má další koncový bod, který vytvoří adresu URL koncového bodu Swaggeru, vyhledá rozhraní a vrátí uživateli výchozí definici definované uživatelem.

Konfigurace služby Stream Analytics a nástroje Machine Learning Studio (classic) UDF prostřednictvím rozhraní REST API

Pomocí rozhraní REST API můžete úlohu nakonfigurovat tak, aby volala funkce nástroje Machine Learning Studio (klasické):

  1. Vytvoření úlohy Stream Analytics
  2. Definujte vstup.
  3. Definujte výstup.
  4. Vytvořte uživatelem definovanou uživatelem.
  5. Napište transformaci Stream Analytics, která volá uživatelem definovanou uživatelem.
  6. Spusťte úlohu.

Vytvoření funkce definované uživatelem se základními vlastnostmi

Například následující ukázkový kód vytvoří skalární UDF s názvem newudf , který vytvoří vazbu na koncový bod Machine Learning Studia (Classic). Hodnotu (identifikátor URI služby) najdete endpoint na stránce nápovědy rozhraní API pro vybranou službu. Hodnotu najdete apiKey na hlavní stránce služby.

PUT : /subscriptions/<subscriptionId>/resourceGroups/<resourceGroup>/providers/Microsoft.StreamAnalytics/streamingjobs/<streamingjobName>/functions/<udfName>?api-version=<apiVersion>

Příklad textu požadavku:

    {
        "name": "newudf",
        "properties": {
            "type": "Scalar",
            "properties": {
                "binding": {
                    "type": "Microsoft.MachineLearning/WebService",
                    "properties": {
                        "endpoint": "https://ussouthcentral.services.azureml.net/workspaces/f80d5d7a77fb4b46bf2a30c63c078dca/services/b7be5e40fd194258796fb402c1958eaf/execute ",
                        "apiKey": "replacekeyhere"
                    }
                }
            }
        }
    }

Volání koncového bodu RetrieveDefaultDefinition pro výchozí UDF

Po vytvoření kostry definované uživatelem potřebujete úplnou definici funkce definované uživatelem. Koncový RetrieveDefaultDefinition bod vám pomůže získat výchozí definici skalární funkce vázané na koncový bod Machine Learning Studia (Classic).

Následující datová část vyžaduje, abyste získali výchozí definici definovanou uživatelem pro skalární funkci, která je svázaná s koncovým bodem studia (Classic). Nezadá skutečný koncový bod, protože požadavek už ho PUT zadal.

Stream Analytics volá koncový bod z požadavku, pokud požadavek explicitně poskytl koncový bod. V opačném případě Stream Analytics používá koncový bod, na který byl původně odkazován. V této části přebírá UDF jeden řetězcový parametr (větu) a vrátí jeden výstup typu string , který označuje popisek dané věty Sentiment .

POST : /subscriptions/<subscriptionId>/resourceGroups/<resourceGroup>/providers/Microsoft.StreamAnalytics/streamingjobs/<streamingjobName>/functions/<udfName>/RetrieveDefaultDefinition?api-version=<apiVersion>

Příklad textu požadavku:

    {
        "bindingType": "Microsoft.MachineLearning/WebService",
        "bindingRetrievalProperties": {
            "executeEndpoint": null,
            "udfType": "Scalar"
        }
    }

Výstup tohoto požadavku vypadá přibližně jako v následujícím příkladu:

    {
        "name": "newudf",
        "properties": {
            "type": "Scalar",
            "properties": {
                "inputs": [{
                    "dataType": "nvarchar(max)",
                    "isConfigurationParameter": null
                }],
                "output": {
                    "dataType": "nvarchar(max)"
                },
                "binding": {
                    "type": "Microsoft.MachineLearning/WebService",
                    "properties": {
                        "endpoint": "https://ussouthcentral.services.azureml.net/workspaces/f80d5d7a77ga4a4bbf2a30c63c078dca/services/b7be5e40fd194258896fb602c1858eaf/execute",
                        "apiKey": null,
                        "inputs": {
                            "name": "input1",
                            "columnNames": [{
                                "name": "tweet",
                                "dataType": "string",
                                "mapTo": 0
                            }]
                        },
                        "outputs": [{
                            "name": "Sentiment",
                            "dataType": "string"
                        }],
                        "batchSize": 10
                    }
                }
            }
        }
    }

Oprava uživatelem definovaného uživatelem pomocí odpovědi

Teď je nutné opravit uživatelem definovanou uživatelem předchozí odpověď.

PATCH : /subscriptions/<subscriptionId>/resourceGroups/<resourceGroup>/providers/Microsoft.StreamAnalytics/streamingjobs/<streamingjobName>/functions/<udfName>?api-version=<apiVersion>

Text požadavku (výstup z RetrieveDefaultDefinition):

    {
        "name": "newudf",
        "properties": {
            "type": "Scalar",
            "properties": {
                "inputs": [{
                    "dataType": "nvarchar(max)",
                    "isConfigurationParameter": null
                }],
                "output": {
                    "dataType": "nvarchar(max)"
                },
                "binding": {
                    "type": "Microsoft.MachineLearning/WebService",
                    "properties": {
                        "endpoint": "https://ussouthcentral.services.azureml.net/workspaces/f80d5d7a77ga4a4bbf2a30c63c078dca/services/b7be5e40fd194258896fb602c1858eaf/execute",
                        "apiKey": null,
                        "inputs": {
                            "name": "input1",
                            "columnNames": [{
                                "name": "tweet",
                                "dataType": "string",
                                "mapTo": 0
                            }]
                        },
                        "outputs": [{
                            "name": "Sentiment",
                            "dataType": "string"
                        }],
                        "batchSize": 10
                    }
                }
            }
        }
    }

Implementace transformace Stream Analytics pro volání uživatelem definované uživatelem

Zadejte dotaz na UDF (zde pojmenovaný scoreTweet) pro každou vstupní událost a napište odpověď pro tuto událost do výstupu:

    {
        "name": "transformation",
        "properties": {
            "streamingUnits": null,
            "query": "select *,scoreTweet(Tweet) TweetSentiment into blobOutput from blobInput"
        }
    }

Získání pomoci

Pokud potřebujete další pomoc, vyzkoušejte stránku Microsoft Q&A pro Azure Stream Analytics.

Další kroky