J'essayais de faire des prédictions sur gcloud ml-engine avec l'exemple tensorflow de détection d'objets d'animaux, mais cela ne fonctionne pas.tensorflow servant la prédiction ne fonctionnant pas avec la détection d'objets animaux de compagnie exemple
J'ai créé un poste de contrôle en utilisant cet exemple: https://github.com/tensorflow/models/blob/master/object_detection/g3doc/running_pets.md
Avec l'aide de l'équipe de tensorflow, j'ai pu créer un saved_model à télécharger sur le gcloud ml moteur: https://github.com/tensorflow/models/issues/1811
Maintenant, je peut télécharger le modèle sur le moteur ml gcloud. Mais malheureusement, je ne suis pas capable de faire des requêtes de prédiction correctes au modèle. Chaque fois que j'essaie une prédiction, je reçois la même erreur:
Input instances are not in JSON format.
Je tentais de faire des prédictions en ligne avec
gcloud ml-engine predict --model od_test --version v1 --json-instances prediction_test.json
et je tentais de faire des prévisions de lots avec
gcloud ml-engine jobs submit prediction "prediction7"
--model od_test
--version v1
--data-format TEXT
--input-paths gs://ml_engine_test1/prediction_test.json
--output-path gs://ml_engine_test1/prediction_output
--region europe-west1
Je veux soumettre une liste d'images comme unit8-matrices, donc pour l'exportation j'utilisais le type d'entrée image_tensor
.
Comme indiqué dans la documentation ici: https://cloud.google.com/ml-engine/docs/concepts/prediction-overview#prediction_input_data, l'entrée json devrait avoir un format particulier. Mais pas de format pour les prédictions en ligne, ni de format pour les prédictions par lots. Mes derniers tests étaient un seul fichier avec le contenu:
{"instances": [{"values": [1, 2, 3, 4], "key": 1}]}
et le contenu:
{"images": [0.0, 0.3, 0.1], "key": 3}
{"images": [0.0, 0.7, 0.1], "key": 2}
aucun d'entre eux travaillaient. Quelqu'un peut-il m'aider, comment le format d'entrée devrait être?
modifier
L'erreur de traitement par lots est
{
insertId: "1a26yhdg2wpxvg6"
jsonPayload: {
@type: "type.googleapis.com/google.cloud.ml.api.v1beta1.PredictionLogEntry"
error_detail: {
detail: "No JSON object could be decoded"
input_snippet: "Input snippet is unavailable."
}
message: "No JSON object could be decoded"
}
logName: "projects/tensorflow-test-1-168615/logs/worker"
payload: {
@type: "type.googleapis.com/google.cloud.ml.api.v1beta1.PredictionLogEntry"
error_detail: {
detail: "No JSON object could be decoded"
input_snippet: "Input snippet is unavailable."
}
message: "No JSON object could be decoded"
}
receiveTimestamp: "2017-07-28T12:31:23.377623911Z"
resource: {
labels: {
job_id: "prediction10"
project_id: "tensorflow-test-1-168615"
task_name: ""
}
type: "ml_job"
}
severity: "ERROR"
timestamp: "2017-07-28T12:31:23.377623911Z"
}
Le message d'erreur que vous signalez semble provenir de 'gcloud ml-engine local predict', pouvez-vous confirmer? Si oui, quel est le message d'erreur renvoyé par le service? – rhaertel80
vous avez raison, l'erreur semble provenir de gcloud, pas le modèle. –
Ce message d'erreur se produit lorsque 'json.loads' déclenche un' ValueError'. Cela vous dérangerait-il de fournir une copie à un lien de notre fichier d'entrée? – rhaertel80