Formats de demande et de réponse k-NN - Amazon SageMaker

Formats de demande et de réponse k-NN

Tous les algorithmes Amazon SageMaker intégrés respectent le format d'inférence d'entrée courant décrit dans Formats de données courants – Inférence. Cette rubrique contient la liste des formats de sortie disponibles pour l'algorithme k-NN SageMaker.

ENTRÉE : format de demande CSV

content-type: text/csv

1.2,1.3,9.6,20.3

Accepte un paramètre d'encodage label_size ou . Il suppose un champ label_size égal à 0 et un encodage UTF-8.

ENTRÉE : format de demande JSON

content-type: application/json

{ "instances": [ {"data": {"features": {"values": [-3, -1, -4, 2]}}}, {"features": [3.0, 0.1, 0.04, 0.002]}] }

ENTRÉE : format de demande JSONLINES

content-type: application/jsonlines

{"features": [1.5, 16.0, 14.0, 23.0]} {"data": {"features": {"values": [1.5, 16.0, 14.0, 23.0]}}

ENTRÉE : format de demande RECORDIO

content-type: application/x-recordio-protobuf

[ Record = { features = { 'values': { values: [-3, -1, -4, 2] # float32 } }, label = {} }, Record = { features = { 'values': { values: [3.0, 0.1, 0.04, 0.002] # float32 } }, label = {} }, ]

SORTIE : format de réponse JSON

accept: application/json

{ "predictions": [ {"predicted_label": 0.0}, {"predicted_label": 2.0} ] }

SORTIE : format de réponse JSONLINES

accept: application/jsonlines

{"predicted_label": 0.0} {"predicted_label": 2.0}

SORTIE : format de réponse VERBOSE JSON

En mode détaillé, l'API fournit les résultats de recherche avec le vecteur des distances triées de la plus petite à la plus grande, et les éléments correspondants dans le vecteur des étiquettes. Dans cet exemple, k a la valeur 3.

accept: application/json; verbose=true

{ "predictions": [ { "predicted_label": 0.0, "distances": [3.11792408, 3.89746071, 6.32548437], "labels": [0.0, 1.0, 0.0] }, { "predicted_label": 2.0, "distances": [1.08470316, 3.04917915, 5.25393973], "labels": [2.0, 2.0, 0.0] } ] }

SORTIE : format de réponse RECORDIO-PROTOBUF

content-type: application/x-recordio-protobuf

[ Record = { features = {}, label = { 'predicted_label': { values: [0.0] # float32 } } }, Record = { features = {}, label = { 'predicted_label': { values: [2.0] # float32 } } } ]

SORTIE : format de réponse VERBOSE RECORDIO-PROTOBUF

En mode détaillé, l'API fournit les résultats de recherche avec le vecteur des distances triées de la plus petite à la plus grande, et les éléments correspondants dans le vecteur des étiquettes. Dans cet exemple, k a la valeur 3.

accept: application/x-recordio-protobuf; verbose=true

[ Record = { features = {}, label = { 'predicted_label': { values: [0.0] # float32 }, 'distances': { values: [3.11792408, 3.89746071, 6.32548437] # float32 }, 'labels': { values: [0.0, 1.0, 0.0] # float32 } } }, Record = { features = {}, label = { 'predicted_label': { values: [0.0] # float32 }, 'distances': { values: [1.08470316, 3.04917915, 5.25393973] # float32 }, 'labels': { values: [2.0, 2.0, 0.0] # float32 } } } ]

EXEMPLE DE SORTIE pour l'algorithme k-NN

Pour les tâches regressor :

[06/08/2018 20:15:33 INFO 140026520049408] #test_score (algo-1) : ('mse', 0.013333333333333334)

Pour les tâches classifier :

[06/08/2018 20:15:46 INFO 140285487171328] #test_score (algo-1) : ('accuracy', 0.98666666666666669)