Aracılığıyla paylaş


Machine Learning Studio (klasik) web hizmetini kullanma

ŞUNLAR IÇIN GEÇERLIDIR: Bu bir onay işaretidir ve bu da bu makalenin Machine Learning Studio (klasik) için geçerli olduğu anlamına gelir. Machine Learning Studio (klasik) Bu bir X değeridir ve bu makaleNin Azure Machine Learning için geçerli olduğu anlamına gelir.Azure Machine Learning

Önemli

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

1 Aralık 2021'den başlayarak artık yeni Machine Learning Stüdyosu (klasik) kaynakları oluşturamayacaksınız. 31 Ağustos 2024'e kadar mevcut Machine Learning Stüdyosu (klasik) kaynaklarını kullanmaya devam edebilirsiniz.

ML Stüdyosu (klasik) belgeleri kullanımdan kaldırılacak ve gelecekte güncelleştirilmeyecektir.

Web hizmeti olarak bir Machine Learning Studio (klasik) tahmine dayalı modeli dağıttığınızda, veri göndermek ve tahminler almak için REST API kullanabilirsiniz. Verileri gerçek zamanlı olarak veya toplu iş modunda gönderebilirsiniz.

Machine Learning Studio (klasik) kullanarak Machine Learning Web hizmeti oluşturma ve dağıtma hakkında daha fazla bilgiyi burada bulabilirsiniz:

  • Machine Learning Studio'da (klasik) deneme oluşturma öğreticisi için bkz . İlk denemenizi oluşturma.
  • Web hizmeti dağıtma hakkında ayrıntılı bilgi için bkz . Machine Learning Web hizmetini dağıtma.
  • Machine Learning hakkında genel olarak daha fazla bilgi için Machine Learning Belge Merkezi'ni ziyaret edin.

Genel bakış

Machine Learning Web hizmetiyle, dış uygulama bir Machine Learning iş akışı puanlama modeliyle gerçek zamanlı olarak iletişim kurar. Machine Learning Web hizmeti çağrısı, tahmin sonuçlarını bir dış uygulamaya döndürür. Machine Learning Web hizmeti çağrısı yapmak için, tahmin dağıttığınızda oluşturulan bir API anahtarını geçirirsiniz. Machine Learning Web hizmeti, web programlama projeleri için popüler bir mimari seçimi olan REST'i temel alır.

Machine Learning Studio 'nun (klasik) iki tür hizmeti vardır:

  • İstek-Yanıt Hizmeti (RRS) – Machine Learning Studio'dan (klasik) oluşturulan ve dağıtılan durum bilgisi olmayan modellere arabirim sağlayan düşük gecikme süreli, yüksek oranda ölçeklenebilir bir hizmettir.
  • Batch Execution Service (BES) – Veri kayıtları için toplu iş puanlayan zaman uyumsuz bir hizmet.

Machine Learning Web hizmetleri hakkında daha fazla bilgi için bkz . Machine Learning Web hizmetini dağıtma.

Yetkilendirme anahtarı alma

Denemenizi dağıttığınızda, Web hizmeti için API anahtarları oluşturulur. Anahtarları birkaç konumdan alabilirsiniz.

Machine Learning Web Hizmetleri portalından

Machine Learning Web Hizmetleri portalında oturum açın.

Yeni Machine Learning Web hizmetinin API anahtarını almak için:

  1. Machine Learning Web Hizmetleri portalında üstteki menüden Web Hizmetleri'ne tıklayın.
  2. Anahtarını almak istediğiniz Web hizmetine tıklayın.
  3. Üstteki menüde Tüket'e tıklayın.
  4. Birincil Anahtarı kopyalayıp kaydedin.

Klasik Machine Learning Web hizmetinin API anahtarını almak için:

  1. Azure Machine Learning Web Hizmetleri portalında üstteki menüde Klasik Web Hizmetleri'ne tıklayın.
  2. Üzerinde çalıştığınız Web hizmetine tıklayın.
  3. Anahtarını almak istediğiniz uç noktaya tıklayın.
  4. Üstteki menüde Tüket'e tıklayın.
  5. Birincil Anahtarı kopyalayıp kaydedin.

Klasik Web hizmeti

Ayrıca Machine Learning Studio'dan (klasik) klasik bir Web hizmeti için anahtar alabilirsiniz.

Machine Learning Studio (klasik)

  1. Machine Learning Studio'da (klasik) soldaki WEB HİzMETLerİ'ne tıklayın.
  2. Bir Web hizmetine tıklayın. API anahtarı PANO sekmesindedir.

Machine Learning Web hizmetine bağlanma

HTTP isteğini ve yanıtlarını destekleyen herhangi bir programlama dilini kullanarak bir Machine Learning Web hizmetine bağlanabilirsiniz. Machine Learning Web hizmeti yardım sayfasından C#, Python ve R'deki örnekleri görüntüleyebilirsiniz.

Machine Learning API'si, Bir Web hizmeti dağıttığınızda Machine Learning API yardımının oluşturulmasına yardımcı olur. Bkz . Öğretici 3: Kredi riski modelini dağıtma. Machine Learning API'sinin yardımı tahmin Web hizmetiyle ilgili ayrıntıları içerir.

  1. Üzerinde çalıştığınız Web hizmetine tıklayın.
  2. API Yardım Sayfasını görüntülemek istediğiniz uç noktaya tıklayın.
  3. Üstteki menüde Tüket'e tıklayın.
  4. İstek-Yanıt veya Toplu Yürütme uç noktalarının altındaki API yardım sayfasına tıklayın.

Yeni Web hizmeti için Machine Learning API yardımlarını görüntülemek için

Machine Learning Web Hizmetleri Portalı'nda:

  1. Üstteki menüde WEB HİzMETLerİ'ne tıklayın.
  2. Anahtarını almak istediğiniz Web hizmetine tıklayın.

C#, R ve Python'da İstek-Yanıt ve Toplu Yürütme Hizmetleri ile Örnek kodun URI'lerini almak için Web Hizmetini Kullan'a tıklayın.

Sağlanan URI'lerden çağrılan API'lerin Swagger tabanlı belgelerini almak için Swagger API'sine tıklayın.

C# Örneği

Bir Machine Learning Web hizmetine bağlanmak için ScoreData geçiren bir HttpClient kullanın. ScoreData, ScoreData'yı temsil eden sayısal özelliklerin n boyutlu vektörü olan FeatureVector'ı içerir. Machine Learning hizmetinde bir API anahtarıyla kimlik doğrulaması yaparsınız.

Machine Learning Web hizmetine bağlanmak için Microsoft.AspNet.WebApi.Client NuGet paketinin yüklü olması gerekir.

Visual Studio'da Microsoft.AspNet.WebApi.Client NuGet yükleme

  1. UCI: Yetişkin 2 sınıf veri kümesi Web Hizmeti'nden veri kümesini indirmeyi yayımlayın.
  2. Araçlar>NuGet Paket Yöneticisi>Paket Yöneticisi Konsolu’na tıklayın.
  3. Microsoft.AspNet.WebApi.Client'ı Yükle-Paketle'yi seçin.

Kod örneğini çalıştırmak için

  1. Machine Learning örnek koleksiyonunun bir parçası olan "Örnek 1: UCI'den veri kümesi indirme: Yetişkin 2 sınıf veri kümesi" denemesini yayımlayın.
  2. ApiKey'i bir Web hizmetinden anahtarla atayın. Yukarıdaki Yetkilendirme anahtarını alma bölümüne bakın.
  3. serviceUri'yi İstek URI'siyle atayın.

Tam bir isteğin nasıl görüneceği aşağıdadır.

using System;
using System.Collections.Generic;
using System.IO;
using System.Net.Http;
using System.Net.Http.Formatting;
using System.Net.Http.Headers;
using System.Text;
using System.Threading.Tasks;

namespace CallRequestResponseService
{
    class Program
    {
        static void Main(string[] args)
        {
            InvokeRequestResponseService().Wait();
        }

        static async Task InvokeRequestResponseService()
        {
            using (var client = new HttpClient())
            {
                var scoreRequest = new
                {
                    Inputs = new Dictionary<string, List<Dictionary<string, string>>> () {
                        {
                            "input1",
                            // Replace columns labels with those used in your dataset
                            new List<Dictionary<string, string>>(){new Dictionary<string, string>(){
                                    {
                                        "column1", "value1"
                                    },
                                    {
                                        "column2", "value2"
                                    },
                                    {
                                        "column3", "value3"
                                    }
                                }
                            }
                        },
                    },
                    GlobalParameters = new Dictionary<string, string>() {}
                };

                // Replace these values with your API key and URI found on https://services.azureml.net/
                const string apiKey = "<your-api-key>"; 
                const string apiUri = "<your-api-uri>";
                
                client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue( "Bearer", apiKey);
                client.BaseAddress = new Uri(apiUri);

                // WARNING: The 'await' statement below can result in a deadlock
                // if you are calling this code from the UI thread of an ASP.NET application.
                // One way to address this would be to call ConfigureAwait(false)
                // so that the execution does not attempt to resume on the original context.
                // For instance, replace code such as:
                //      result = await DoSomeTask()
                // with the following:
                //      result = await DoSomeTask().ConfigureAwait(false)

                HttpResponseMessage response = await client.PostAsJsonAsync("", scoreRequest);

                if (response.IsSuccessStatusCode)
                {
                    string result = await response.Content.ReadAsStringAsync();
                    Console.WriteLine("Result: {0}", result);
                }
                else
                {
                    Console.WriteLine(string.Format("The request failed with status code: {0}", response.StatusCode));

                    // Print the headers - they include the request ID and the timestamp,
                    // which are useful for debugging the failure
                    Console.WriteLine(response.Headers.ToString());

                    string responseContent = await response.Content.ReadAsStringAsync();
                    Console.WriteLine(responseContent);
                }
            }
        }
    }
}

Python Örneği

Machine Learning Web hizmetine bağlanmak için Python 2.X için urllib2 kitaplığını ve Python 3.X için urllib.request kitaplığını kullanın. ScoreData'yı temsil eden sayısal özelliklerin n boyutlu vektörü olan FeatureVector'ı içeren ScoreData'yı geçireceksiniz. Machine Learning hizmetinde bir API anahtarıyla kimlik doğrulaması yaparsınız.

Kod örneğini çalıştırmak için

  1. Machine Learning örnek koleksiyonunun bir parçası olan "Örnek 1: UCI'den veri kümesi indirme: Yetişkin 2 sınıf veri kümesi" denemesini dağıtın.
  2. ApiKey'i bir Web hizmetinden anahtarla atayın. Bu makalenin başındaki Yetkilendirme anahtarı alma bölümüne bakın.
  3. serviceUri'yi İstek URI'siyle atayın.

Tam bir isteğin nasıl görüneceği aşağıdadır.

import urllib2 # urllib.request and urllib.error for Python 3.X
import json

data = {
    "Inputs": {
        "input1":
        [
            {
                'column1': "value1",   
                'column2': "value2",   
                'column3': "value3"
            }
        ],
    },
    "GlobalParameters":  {}
}

body = str.encode(json.dumps(data))

# Replace this with the URI and API Key for your web service
url = '<your-api-uri>'
api_key = '<your-api-key>'
headers = {'Content-Type':'application/json', 'Authorization':('Bearer '+ api_key)}

# "urllib.request.Request(url, body, headers)" for Python 3.X
req = urllib2.Request(url, body, headers)

try:
    # "urllib.request.urlopen(req)" for Python 3.X
    response = urllib2.urlopen(req)

    result = response.read()
    print(result)
# "urllib.error.HTTPError as error" for Python 3.X
except urllib2.HTTPError, error: 
    print("The request failed with status code: " + str(error.code))

    # Print the headers - they include the request ID and the timestamp, which are useful for debugging the failure
    print(error.info())
    print(json.loads(error.read())) 

R Örneği

Machine Learning Web Hizmetine bağlanmak için RCurl ve rjson kitaplıklarını kullanarak isteği yapın ve döndürülen JSON yanıtını işleyin. ScoreData'yı temsil eden sayısal özelliklerin n boyutlu vektörü olan FeatureVector'ı içeren ScoreData'yı geçireceksiniz. Machine Learning hizmetinde bir API anahtarıyla kimlik doğrulaması yaparsınız.

Tam bir isteğin nasıl görüneceği aşağıdadır.

library("curl")
library("httr")
library("rjson")

requestFailed = function(response) {
    return (response$status_code >= 400)
}

printHttpResult = function(response, result) {
    if (requestFailed(response)) {
        print(paste("The request failed with status code:", response$status_code, sep=" "))
    
        # Print the headers - they include the request ID and the timestamp, which are useful for debugging the failure
        print(response$headers)
    }
    
    print("Result:") 
    print(fromJSON(result))  
}

req = list(
        Inputs = list( 
            "input1" = list(
                "ColumnNames" = list("Col1", "Col2", "Col3"),
                "Values" = list( list( "0", "value", "0" ),  list( "0", "value", "0" )  )
            )                ),
        GlobalParameters = setNames(fromJSON('{}'), character(0))
)

body = enc2utf8(toJSON(req))
api_key = "abc123" # Replace this with the API key for the web service
authz_hdr = paste('Bearer', api_key, sep=' ')

response = POST(url= "<your-api-uri>",
        add_headers("Content-Type" = "application/json", "Authorization" = authz_hdr),
        body = body)

result = content(response, type="text", encoding="UTF-8")

printHttpResult(response, result)

JavaScript Örneği

Machine Learning Web Hizmetine bağlanmak için projenizde istek npm paketini kullanın. Girdinizi biçimlendirmek JSON ve sonucu ayrıştırmak için nesnesini de kullanacaksınız. kullanarak npm install request --saveyükleyin veya altında dependencies package.json ekleyin "request": "*" ve çalıştırınnpm install.

Tam bir isteğin nasıl görüneceği aşağıdadır.

let req = require("request");

const uri = "<your-api-uri>";
const apiKey = "<your-api-key>";

let data = {
    "Inputs": {
        "input1":
        [
            {
                'column1': "value1",
                'column2': "value2",
                'column3': "value3"
            }
        ],
    },
    "GlobalParameters": {}
}

const options = {
    uri: uri,
    method: "POST",
    headers: {
        "Content-Type": "application/json",
        "Authorization": "Bearer " + apiKey,
    },
    body: JSON.stringify(data)
}

req(options, (err, res, body) => {
    if (!err && res.statusCode == 200) {
        console.log(body);
    } else {
        console.log("The request failed with status code: " + res.statusCode);
    }
});