Machine Learning Studio (klasszikus) webszolgáltatás felhasználásaHow to consume a Machine Learning Studio (classic) web service

a következőkre vonatkozik:  Ez egy pipa, ami azt jelenti, hogy ez a cikk a Machine Learning Studio (klasszikus) elemre vonatkozik.  APPLIES TO: This is a check mark, which means that this article applies to Machine Learning Studio (classic). Machine Learning Studio (klasszikus)  Ez egy X, ami azt jelenti, hogy ez a cikk Azure Machine learningre vonatkozik. Azure Machine LearningMachine Learning Studio (classic) This is an X, which means that this article applies to Azure Machine Learning.Azure Machine Learning

Miután telepített egy Azure Machine Learning Studio (klasszikus) prediktív modellt webszolgáltatásként, használhat egy REST API az adatküldés és az előrejelzések beszerzése érdekében.Once you deploy an Azure Machine Learning Studio (classic) predictive model as a Web service, you can use a REST API to send it data and get predictions. Az adatküldés valós időben vagy batch módban is elvégezhető.You can send the data in real-time or in batch mode.

A Machine Learning webszolgáltatások Machine Learning Studio (klasszikus) használatával történő létrehozásáról és üzembe helyezéséről további információt itt talál:You can find more information about how to create and deploy a Machine Learning Web service using Machine Learning Studio (classic) here:

ÁttekintésOverview

A Azure Machine Learning webszolgáltatással egy külső alkalmazás valós időben kommunikál egy Machine Learning munkafolyamat-pontozási modellel.With the Azure Machine Learning Web service, an external application communicates with a Machine Learning workflow scoring model in real time. Egy Machine Learning webszolgáltatás hívása egy külső alkalmazásnak adja vissza az előrejelzési eredményeket.A Machine Learning Web service call returns prediction results to an external application. Machine Learning webszolgáltatás-hívás létrehozásához át kell adnia egy, az előrejelzés központi telepítésekor létrehozott API-kulcsot.To make a Machine Learning Web service call, you pass an API key that is created when you deploy a prediction. A Machine Learning webszolgáltatás a webes programozási projektek számára népszerű architektúrán alapul.The Machine Learning Web service is based on REST, a popular architecture choice for web programming projects.

A Azure Machine Learning Studio (klasszikus) két típusú szolgáltatást tartalmaz:Azure Machine Learning Studio (classic) has two types of services:

  • Request-Response Service (RR) – alacsony késésű, rugalmasan méretezhető szolgáltatás, amely felületet biztosít a Machine Learning Studio (klasszikus) által létrehozott és üzembe helyezett állapot nélküli modellekhez.Request-Response Service (RRS) – A low latency, highly scalable service that provides an interface to the stateless models created and deployed from the Machine Learning Studio (classic).
  • Batch végrehajtási szolgáltatás (BES) – egy aszinkron szolgáltatás, amely az adatrekordok kötegét szerzi be.Batch Execution Service (BES) – An asynchronous service that scores a batch for data records.

A Machine Learning webszolgáltatásokkal kapcsolatos további információkért lásd: Machine learning webszolgáltatás üzembe helyezése.For more information about Machine Learning Web services, see Deploy a Machine Learning Web service.

Engedélyezési kulcs beszerzéseGet an authorization key

A kísérlet telepítésekor az API-kulcsok jönnek létre a webszolgáltatáshoz.When you deploy your experiment, API keys are generated for the Web service. A kulcsokat több helyről is lekérheti.You can retrieve the keys from several locations.

A Microsoft Azure Machine Learning webszolgáltatások portáljánFrom the Microsoft Azure Machine Learning Web Services portal

Jelentkezzen be a Microsoft Azure Machine learning Web Services portálra.Sign in to the Microsoft Azure Machine Learning Web Services portal.

Az új Machine Learning webszolgáltatás API-kulcsának beolvasása:To retrieve the API key for a New Machine Learning Web service:

  1. A Azure Machine Learning webszolgáltatások portálján kattintson a webszolgáltatások lehetőségre a felső menüben.In the Azure Machine Learning Web Services portal, click Web Services the top menu.
  2. Kattintson arra a webszolgáltatásra, amelynek a kulcsát le szeretné kérni.Click the Web service for which you want to retrieve the key.
  3. A felső menüben kattintson a felhasználás elemre.On the top menu, click Consume.
  4. Másolja és mentse az elsődleges kulcsot.Copy and save the Primary Key.

A klasszikus Machine Learning webszolgáltatás API-kulcsának beolvasása:To retrieve the API key for a Classic Machine Learning Web service:

  1. A Azure Machine Learning webszolgáltatások portálján kattintson a klasszikus webes szolgáltatások elemre a felső menüben.In the Azure Machine Learning Web Services portal, click Classic Web Services the top menu.
  2. Kattintson arra a webszolgáltatásra, amellyel dolgozik.Click the Web service with which you are working.
  3. Kattintson arra a végpontra, amelynek a kulcsát le szeretné kérni.Click the endpoint for which you want to retrieve the key.
  4. A felső menüben kattintson a felhasználás elemre.On the top menu, click Consume.
  5. Másolja és mentse az elsődleges kulcsot.Copy and save the Primary Key.

Klasszikus webszolgáltatásClassic Web service

A klasszikus webszolgáltatások kulcsát a Machine Learning Studio (klasszikus) webhelyről is lekérheti.You can also retrieve a key for a Classic Web service from Machine Learning Studio (classic).

Machine Learning Studio (klasszikus)Machine Learning Studio (classic)

  1. Machine Learning Studio (klasszikus) területen kattintson a bal oldali WEBszolgáltatások elemre.In Machine Learning Studio (classic), click WEB SERVICES on the left.
  2. Kattintson egy webszolgáltatásra.Click a Web service. Az API-kulcs az irányítópult lapon található.The API key is on the DASHBOARD tab.

Kapcsolódás Machine Learning webszolgáltatáshozConnect to a Machine Learning Web service

Csatlakozhat egy Machine Learning webszolgáltatáshoz bármilyen programozási nyelv használatával, amely támogatja a HTTP-kérést és a választ.You can connect to a Machine Learning Web service using any programming language that supports HTTP request and response. A C#, a Python és az R alkalmazásban példákat tekinthet meg egy Machine Learning webszolgáltatás Súgó oldaláról.You can view examples in C#, Python, and R from a Machine Learning Web service help page.

Machine learning API Súgó Webszolgáltatások telepítésekor a rendszer Machine Learning API súgóját hozza létre.Machine Learning API help Machine Learning API help is created when you deploy a Web service. Lásd : 3. Oktatóanyag: hitelkockázat-modell üzembe helyezése.See Tutorial 3: Deploy credit risk model. A Machine Learning API súgója az előrejelzési webszolgáltatás részleteit tartalmazza.The Machine Learning API help contains details about a prediction Web service.

  1. Kattintson arra a webszolgáltatásra, amellyel dolgozik.Click the Web service with which you are working.
  2. Kattintson arra a végpontra, amelynek meg szeretné tekinteni az API-Súgó lapját.Click the endpoint for which you want to view the API Help Page.
  3. A felső menüben kattintson a felhasználás elemre.On the top menu, click Consume.
  4. Kattintson az API-Súgó lap Request-Response vagy batch végrehajtási végpontok elemére.Click API help page under either the Request-Response or Batch Execution endpoints.

Új webszolgáltatás Machine Learning API-súgójának megtekintéseTo view Machine Learning API help for a New Web service

A Azure Machine learning Web Services portálon:In the Azure Machine Learning Web Services Portal:

  1. A felső menüben kattintson a Web Services elemre.Click WEB SERVICES on the top menu.
  2. Kattintson arra a webszolgáltatásra, amelynek a kulcsát le szeretné kérni.Click the Web service for which you want to retrieve the key.

Kattintson a webszolgáltatások használata lehetőségre az URI-k beszerzéséhez a Request-Response és a Batch-végrehajtási szolgáltatások és a mintakód számára a C#, az R és a Python nyelvben.Click Use Web Service to get the URIs for the Request-Response and Batch Execution Services and Sample code in C#, R, and Python.

Kattintson a hencegés API lehetőségre a megadott URI-k által hívott API-k hencegő dokumentációjának beszerzéséhez.Click Swagger API to get Swagger based documentation for the APIs called from the supplied URIs.

C# mintaC# Sample

Machine Learning webszolgáltatáshoz való kapcsolódáshoz használjon egy HttpClient Passing ScoreData.To connect to a Machine Learning Web service, use an HttpClient passing ScoreData. A ScoreData tartalmaz egy FeatureVector, amely a ScoreData jelképező numerikus funkciók n-dimenziós vektorát tartalmazza.ScoreData contains a FeatureVector, an n-dimensional vector of numerical features that represents the ScoreData. A hitelesítést a Machine Learning szolgáltatásban egy API-kulccsal végezheti el.You authenticate to the Machine Learning service with an API key.

Machine Learning webszolgáltatáshoz való kapcsolódáshoz telepíteni kell a Microsoft. AspNet. WebApi. Client NuGet-csomagot.To connect to a Machine Learning Web service, the Microsoft.AspNet.WebApi.Client NuGet package must be installed.

A Microsoft. AspNet. WebApi. Client NuGet telepítése a Visual StudióbanInstall Microsoft.AspNet.WebApi.Client NuGet in Visual Studio

  1. Tegye közzé a letöltési adatkészletet az UCI: Adult 2 Class adatkészlet webszolgáltatás webszolgáltatásból.Publish the Download dataset from UCI: Adult 2 class dataset Web Service.
  2. Kattintson az eszközök > NuGet Package Manager > csomagkezelő konzol elemre.Click Tools > NuGet Package Manager > Package Manager Console.
  3. Válassza a Microsoft. AspNet. WebApi. Client csomag telepítése lehetőséget.Choose Install-Package Microsoft.AspNet.WebApi.Client.

A mintakód futtatásaTo run the code sample

  1. Tegye közzé az "1. minta: adatkészletet az UCI: felnőtt 2 osztályú adatkészletből" kísérletet, amely a Machine Learning minta gyűjtemény részét képezi.Publish "Sample 1: Download dataset from UCI: Adult 2 class dataset" experiment, part of the Machine Learning sample collection.
  2. ApiKey kiosztása a kulccsal egy webszolgáltatásból.Assign apiKey with the key from a Web service. Lásd a fenti engedélyezési kulcs beszerzése című témakört.See Get an authorization key above.
  3. Rendelje hozzá a serviceUri a kérelem URI-ja alapján.Assign serviceUri with the Request URI.

A teljes kérelem így fog kinézni.Here is what a complete request will look like.

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-mintaPython Sample

Ha Machine Learning webszolgáltatáshoz szeretne csatlakozni, használja a Python 2. X és a urllib. urllib2 függvénytárát a Python 3. x verzióhoz.To connect to a Machine Learning Web service, use the urllib2 library for Python 2.X and urllib.request library for Python 3.X. Átadja a ScoreData, amely tartalmaz egy FeatureVector, amely a ScoreData jelképező numerikus funkciók n-dimenziós vektorát tartalmazza.You will pass ScoreData, which contains a FeatureVector, an n-dimensional vector of numerical features that represents the ScoreData. A hitelesítést a Machine Learning szolgáltatásban egy API-kulccsal végezheti el.You authenticate to the Machine Learning service with an API key.

A mintakód futtatásaTo run the code sample

  1. Telepítse az "1. minta: adathalmaz letöltése az UCI-ből: felnőtt 2 osztályú adatkészletből" kísérletet, amely a Machine Learning minta gyűjtemény részét képezi.Deploy "Sample 1: Download dataset from UCI: Adult 2 class dataset" experiment, part of the Machine Learning sample collection.
  2. ApiKey kiosztása a kulccsal egy webszolgáltatásból.Assign apiKey with the key from a Web service. Tekintse meg a jelen cikk elején található engedélyezési kulcs beszerzése című szakaszt.See the Get an authorization key section near the beginning of this article.
  3. Rendelje hozzá a serviceUri a kérelem URI-ja alapján.Assign serviceUri with the Request URI.

A teljes kérelem így fog kinézni.Here is what a complete request will look like.

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 mintaR Sample

Machine Learning webszolgáltatáshoz való kapcsolódáshoz használja a RCurl és a rjson kódtárat a kérelem és a visszaadott JSON-válasz feldolgozásához.To connect to a Machine Learning Web Service, use the RCurl and rjson libraries to make the request and process the returned JSON response. Átadja a ScoreData, amely tartalmaz egy FeatureVector, amely a ScoreData jelképező numerikus funkciók n-dimenziós vektorát tartalmazza.You will pass ScoreData, which contains a FeatureVector, an n-dimensional vector of numerical features that represents the ScoreData. A hitelesítést a Machine Learning szolgáltatásban egy API-kulccsal végezheti el.You authenticate to the Machine Learning service with an API key.

A teljes kérelem így fog kinézni.Here is what a complete request will look like.

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-mintaJavaScript Sample

Ha Machine Learning webszolgáltatáshoz szeretne csatlakozni, használja a NPM-csomagot a projektben.To connect to a Machine Learning Web Service, use the request npm package in your project. Az JSON objektumot a bemenet formázásához és az eredmény elemzéséhez is használni fogja.You will also use the JSON object to format your input and parse the result. Telepítse a szolgáltatást a használatával npm install request --save , vagy vegye fel a "request": "*" package.jsa alá dependencies és futtassa npm install .Install using npm install request --save, or add "request": "*" to your package.json under dependencies and run npm install.

A teljes kérelem így fog kinézni.Here is what a complete request will look like.

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);
    }
});