Cara menggunakan layanan web Azure Machine Learning Studio (klasik)
BERLAKU UNTUK: Pembelajaran Mesin Azure Pembelajaran Mesin Studio (klasik)
Penting
Dukungan untuk Studio Azure Machine Learning (klasik) akan berakhir pada 31 Agustus 2024. Sebaiknya Anda transisi ke Azure Machine Learning sebelum tanggal tersebut.
Mulai 1 Desember 2021, Anda tidak akan dapat membuat sumber daya Studio Azure Machine Learning (klasik) baru. Hingga 31 Agustus 2024, Anda dapat terus menggunakan sumber daya Pembelajaran Mesin Studio (klasik) yang ada.
- Lihat informasi tentang memindahkan proyek pembelajaran mesin dari ML Studio (klasik) ke Azure Machine Learning.
- Pelajari Azure Machine Learning
ML Dokumentasi Studio (klasik) sedang berhenti dan mungkin tidak diperbarui di masa mendatang.
Setelah Anda menerapkan model prediktif Machine Learning Studio (klasik) sebagai layanan Web, Anda dapat menggunakan REST API untuk mengirimkan data dan mendapatkan prediksi. Anda dapat mengirim data secara real time atau dalam mode batch.
Anda dapat menemukan informasi selengkapnya tentang cara membuat dan menyebarkan layanan web Azure Machine Learning menggunakan Azure Machine Learning Studio (klasik) di sini:
- Untuk tutorial tentang cara membuat eksperimen di Azure Machine Learning Studio (klasik), lihat Buat eksperimen pertama Anda.
- Untuk detail tentang cara menggunakan Layanan Web, lihat Sebarkan layanan Web Azure Machine Learning.
- Untuk informasi selengkapnya tentang Azure Machine Learning secara umum, kunjungi Pusat Dokumentasi Azure Machine Learning.
Gambaran Umum
Dengan layanan Web Machine Learning, aplikasi eksternal berkomunikasi dengan model penilaian alur kerja Machine Learning secara real time. Panggilan Layanan web Azure Machine Learning mengembalikan hasil prediksi ke aplikasi eksternal. Untuk melakukan panggilan Layanan web Azure Machine Learning, Anda melewati kunci API yang dibuat saat Anda menyebarkan prediksi. Layanan web Azure Machine Learning didasarkan REST, pada pilihan arsitektur populer untuk proyek pemrograman web.
Machine Learning Studio (klasik) memiliki dua jenis layanan:
- Request-Response Service (RRS) – Layanan latensi rendah dan sangat mampu diskalakan yang menyediakan antarmuka untuk model stateless yang dibuat dan disebarkan dari Azure Machine Learning Studio (klasik).
- Batch Execution Service (BES): Layanan asinkron yang mencetak batch untuk rekaman data.
Untuk informasi selengkapnya tentang layanan web Azure Machine Learning, lihat Sebarkan layanan web Azure Machine Learning.
Dapatkan kode otorisasi
Saat Anda menerapkan eksperimen, kunci API dibuat untuk layanan Web. Anda dapat mengambil kunci dari beberapa lokasi.
Dari portal Layanan Web Machine Learning
Masuk ke portal Layanan Web Machine Learning.
Untuk mengambil kunci API untuk layanan Web Azure Machine Learning Baru:
- Di portal Layanan Web Machine Learning, klik Layanan Web di bagian atas menu.
- Klik Layanan web yang ingin Anda ambil kuncinya.
- Pada menu atas, klik Pakai.
- Salin dan simpan Kunci Primer.
Untuk mengambil kunci API untuk Klasik Layanan web Machine Learning Baru:
- Di portal Layanan Web Azure Machine Learning, klik Layanan Web Klasik di bagian atas menu.
- Klik Layanan web tempat Anda bekerja.
- Klik titik akhir yang ingin Anda ambil kuncinya.
- Pada menu atas, klik Pakai.
- Salin dan simpan Kunci Primer.
Layanan Web Klasik
Anda juga dapat mengambil kunci untuk Layanan web Klasik dari Azure Machine Learning Studio (klasik).
Machine Learning Studio (klasik)
- Di Studio Azure Machine Learning (klasik), klik LAYANAN WEB di sebelah kiri.
- Klik layanan Web. Kunci API ada di tab DASBOR.
Sambungkan ke Layanan Web Azure Machine Learning
Anda dapat terhubung ke layanan Web Azure Machine Learning menggunakan bahasa pemrograman apa pun yang mendukung permintaan dan respons HTTP. Anda dapat melihat sampel di C#, Python, dan R dari halaman bantuan layanan Web Azure Machine Learning.
Bantuan API Azure Machine Learning Bantuan API Azure Machine Learning dibuat saat Anda menyebarkan layanan Web. Lihat Tutorial 3: Sebarkan model risiko kredit. Bantuan API Azure Machine Learning berisi detail tentang layanan Web prediksi.
- Klik Layanan web tempat Anda bekerja.
- Klik titik akhir yang ingin Anda lihat Halaman Bantuan API.
- Pada menu atas, klik Pakai.
- Klik halaman bantuan API di bawah titik akhir Request-Response atau Eksekusi Batch.
Untuk melihat bantuan API Azure Machine Learning untuk layanan Web Baru
Di Portal Layanan Web Machine Learning:
- Klik LAYANAN WEB di menu atas.
- Klik Layanan web yang ingin Anda ambil kuncinya.
Klik Gunakan Layanan Web untuk mendapatkan URI untuk Layanan eksekusi Request-Response dan Batch dan Kode sampel di C#, R, dan Python.
Klik Swagger API untuk mendapatkan dokumentasi berbasis Swagger untuk API yang dipanggil dari URI yang disediakan.
Sampel C#
Untuk menyambungkan ke layanan Web Azure Machine Learning, gunakan HttpClient yang melewati ScoreData. ScoreData berisi FeatureVector, vektor n-dimensi fitur numerik yang mewakili ScoreData. Anda mengautentikasi ke Azure Machine Learning service dengan kunci API.
Untuk menyambungkan ke layanan Web Azure Machine Learning, paket NuGet Microsoft.AspNet.WebApi.Client harus diinstal.
Pasang Microsoft.AspNet.WebApi.Client NuGet di Visual Studio
- Terbitkan himpunan data Pengunduhan dari UCI: Layanan Web himpunan data kelas Adult 2.
- Klik Alat>NuGet Package Manager>Package Manager Console.
- Pilih Install-Package Microsoft.AspNet.WebApi.Client.
Menjalankan sampel kode
- Terbitkan eksperimen "Sampel 1: Unduh himpunan data dari UCI: Adult 2 class dataset", bagian dari kumpulan sampel Azure Machine Learning.
- Tetapkan apiKey dengan kunci dari Layanan web. Lihat Dapatkan kunci otorisasi di atas.
- Tetapkan serviceUri dengan Permintaan URI.
Berikut adalah tampilan permintaan lengkap.
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);
}
}
}
}
}
Sampel Python
Untuk menyambungkan ke layanan web Azure Machine Learning, gunakan pustaka urllib2 untuk Python 2.X dan pustaka urllib.request untuk Python 3.X. Anda akan lulus ScoreData, yang berisi FeatureVector, vektor n-dimensi fitur numerik yang mewakili ScoreData. Anda mengautentikasi ke Azure Machine Learning service dengan kunci API.
Menjalankan sampel kode
- Sebarkan eksperimen "Sampel 1: Unduh himpunan data dari UCI: Adult 2 class dataset", bagian dari kumpulan sampel Azure Machine Learning.
- Tetapkan apiKey dengan kunci dari Layanan web. Lihat bagian Dapatkan kunci otorisasi di dekat awal artikel ini.
- Tetapkan serviceUri dengan Permintaan URI.
Berikut adalah tampilan permintaan lengkap.
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-sampel
Untuk menyambungkan ke Layanan Web Azure Machine Learning, gunakan pustaka RCurl dan rjson untuk membuat permintaan dan memproses respons JSON yang dikembalikan. Anda akan lulus ScoreData, yang berisi FeatureVector, vektor n-dimensi fitur numerik yang mewakili ScoreData. Anda mengautentikasi ke Azure Machine Learning service dengan kunci API.
Berikut adalah tampilan permintaan lengkap.
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)
Sampel JavaScript
Untuk menyambungkan ke Layanan Web Azure Machine Learning, gunakan paket ermintaan npm di proyek Anda. Anda juga akan menggunakan JSON
objek untuk memformat input Anda dan mengurai hasilnya. Pasang menggunakan npm install request --save
, atau tambahkan "request": "*"
ke package.json Anda didependencies
dan jalankan npm install
.
Berikut adalah tampilan permintaan lengkap.
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);
}
});