Aracılığıyla paylaş


Stream Analytics'te Machine Learning Studio (klasik) tümleştirmesi

Önemli

Azure Machine Learning Studio (klasik) desteği 31 Ağustos 2024'te sona erecektir. Bu tarihe kadar Azure Machine Learning'e geçmenizi öneririz.

1 Aralık 2021 itibarıyla yeni Machine Learning Studio (klasik) kaynakları (çalışma alanı ve web hizmeti planı) oluşturamazsınız. 31 Ağustos 2024'e kadar mevcut Machine Learning Studio (klasik) denemelerini ve web hizmetlerini kullanmaya devam edebilirsiniz. Daha fazla bilgi için bkz.

Machine Learning Studio (klasik) belgeleri kullanımdan kaldırılıyor ve gelecekte güncelleştirilmeyebilir.

Azure Stream Analytics, Azure Machine Learning Studio (klasik) uç noktalarını çağıran kullanıcı tanımlı işlevleri (UDF) destekler. Stream Analytics REST API kitaplığı, bu özellik için REST API desteğini açıklar.

Bu makale, Stream Analytics'te bu özelliğin başarılı bir şekilde uygulanması için ihtiyacınız olan ek bilgileri sağlar. Ayrıca bir öğretici de sağlanır.

Genel Bakış: Machine Learning Studio (klasik) terminolojisi

Machine Learning Studio (klasik), verileriniz üzerinde tahmine dayalı analiz çözümleri oluşturmak, test etmek ve dağıtmak için kullanabileceğiniz işbirliğine dayalı, sürükle ve bırak aracı sağlar. Machine Learning Studio'yu (klasik) kullanarak şu makine öğrenmesi kaynaklarıyla etkileşim kurabilirsiniz:

  • Çalışma alanı: Yönetim ve denetim için diğer tüm makine öğrenmesi kaynaklarını bir arada tutan kapsayıcı.
  • Deneme: Veri bilimciler tarafından veri kümelerini kullanmak ve makine öğrenmesi modelini eğitmek için oluşturulan bir test.
  • Uç nokta: Giriş olarak özellik almak, belirtilen makine öğrenmesi modelini uygulamak ve puanlanmış çıkış döndürmek için kullandığınız nesne.
  • Puanlama web hizmeti: Uç nokta koleksiyonu.

Her uç nokta toplu yürütme ve zaman uyumlu yürütme için API'lere sahiptir. Stream Analytics zaman uyumlu yürütme kullanır. Belirli hizmete Machine Learning Studio'da (klasik) istek /yanıt hizmeti adı verilir.

Stream Analytics işleri için gereken Machine Learning Studio (klasik) kaynakları

Stream Analytics iş işleme amacıyla, başarılı bir yürütme için istek/yanıt uç noktası, API anahtarı ve Swagger tanımı gereklidir. Stream Analytics'in Swagger uç noktasının URL'sini oluşturan, arabirimini arayıp kullanıcıya varsayılan bir UDF tanımı döndüren ek bir uç noktası vardır.

REST API aracılığıyla Stream Analytics ve Machine Learning Studio (klasik) UDF yapılandırma

REST API'lerini kullanarak işinizi Machine Learning Studio (klasik) işlevlerini çağıracak şekilde yapılandırabilirsiniz:

  1. Stream Analytics işi oluşturma.
  2. Bir giriş tanımlayın.
  3. Bir çıkış tanımlayın.
  4. UDF oluşturun.
  5. UDF'yi çağıran bir Stream Analytics dönüşümü yazın.
  6. İşi başlatın.

Temel özelliklere sahip bir UDF oluşturma

Örneğin, aşağıdaki örnek kod bir Machine Learning Studio (klasik) uç noktasına bağlanan newudf adlı bir skaler UDF oluşturur. Değeri (hizmet URI'sini) seçilen hizmetin API yardım sayfasında bulabilirsiniz endpoint . Değeri hizmetin ana sayfasında bulabilirsiniz apiKey .

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

Örnek istek gövdesi:

    {
        "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"
                    }
                }
            }
        }
    }

Varsayılan UDF için RetrieveDefaultDefinition uç noktasını çağırma

İskelet UDF'yi oluşturduktan sonra, UDF'nin tam tanımına ihtiyacınız vardır. Uç nokta, RetrieveDefaultDefinition Machine Learning Studio (klasik) uç noktasına bağlı bir skaler işlev için varsayılan tanımı almanıza yardımcı olur.

Aşağıdaki yük, Studio (klasik) uç noktasına bağlı bir skaler işlev için varsayılan UDF tanımını edinmenizi gerektirir. İstek zaten sağladığından gerçek PUT uç noktayı belirtmez.

İstek açıkça bir uç nokta sağladıysa Stream Analytics istekten uç noktayı çağırır. Aksi takdirde, Stream Analytics başlangıçta başvuruda bulunan uç noktayı kullanır. Burada UDF tek bir dize parametresi (tümce) alır ve bu cümlenin Sentiment etiketini gösteren tek bir tür string çıkışı döndürür.

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

Örnek istek gövdesi:

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

Bu isteğin çıktısı aşağıdaki örneğe benzer:

    {
        "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
                    }
                }
            }
        }
    }

UDF'ye yanıtla düzeltme eki uygulama

Şimdi UDF'ye önceki yanıtla düzeltme eki uygulamanız gerekir.

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

İstek gövdesi (çıkış: 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
                    }
                }
            }
        }
    }

UDF'yi çağırmak için Stream Analytics dönüşümü uygulama

Her giriş olayı için UDF'yi (burada adlı scoreTweet) sorgulayıp bir çıkışa bu olay için bir yanıt yazın:

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

Yardım alın

Daha fazla yardım için Azure Stream Analytics için Microsoft Soru-Cevap sayfasını deneyin.

Sonraki adımlar