J'ai développé un modèle pour le service de prédiction en ligne du moteur cloud ML. Mon modèle contient un tenseur placeholder_with_default
que j'utilise pour maintenir un seuil de signification de prédiction.Les tenseurs d'espace réservé nécessitent une valeur dans ml-engine predict mais pas local predict
threshold = tf.placeholder_with_default(0.01, shape=(), name="threshold")
J'ai remarqué que lors de l'utilisation locale de prédire:
gcloud ml-engine local predict --json-instances=data.json --model-dir=/my/model/dir
Je ne ai pas besoin de fournir des valeurs pour ce tenseur. par exemple. ceci est une entrée valide:
{"features": ["a", "b"], "values": [10, 5]}
Cependant lors de l'utilisation de prédire en ligne:
gcloud ml-engine predict --model my_model --version v1 --json-instances data.json
Si je JSON ci-dessus, je reçois une erreur:
{
"error": "Prediction failed: Exception during model execution: AbortionError(code=StatusCode.INVALID_ARGUMENT, details=\"input size does not match signature\")"
}
Toutefois, si j'inclus seuil, alors je ne le fais pas. par exemple:
{"features": ["a", "b"], "values": [10, 5], "threshold": 0.01}
Existe-t-il un moyen d'avoir "seuil" comme entrée optionnelle?
Merci
Matthew