Google Cloud ML FAILED_PRECONDITION

Estoy tratando de usar Google Cloud ML para alojar un modelo de Tensorflow y obtener predicciones. Tengo un modelo previamente entrenado que he subido a la nube y he creado un modelo y una versión en mi consola Cloud ML.

Segui las instruccionesde aquí para preparar mis datos para solicitar predicciones en línea. Tanto para el método Python como para elglcoud método me sale el mismo error. Por simplicidad, publicaré elgcloud método:

Corrogcloud ml-engine predict --model spell_correction --json-instances test.json dóndetest.json es mi archivo de datos de entrada (una matriz JSON llamadainstances) Obtengo el siguiente resultado:

ERROR: (gcloud.ml-engine.predict) HTTP request failed. Response: {
  "error": {
  "code": 400,
  "message": "Precondition check failed.",
  "status": "FAILED_PRECONDITION"
  }
}

¿Cómo puedo obtener más detalles sobre esto? El mismo error exacto ocurre cuando intento a través de Python y allí tengo ungoogleapiclient.http.HttpRequest objeto que contiene el error. Solo quiero saber por qué ocurre este error además de este error genérico. ¿Alguien sabe cómo obtener más detalles a través del método Python o elgcloud ¿método? Supongo que, dado que es el mismo error, es la misma causa raíz.

Salida degcloud ml-engine models list:

NAME              DEFAULT_VERSION_NAME
spell_correction  testing

Salida degcloud ml-engine versions list --model spell_correction

NAME     DEPLOYMENT_URI
testing  gs://<my-bucket>/output/1/

test.json: {"instances": [{"tokens": [[9], [4], [11], [9]], "mask": [[18], [7], [12], [30]], "keep_prob": 1.0, "beam": 64}]}

Mis entradas al modelo:

tokens: tf.placeholder(tf.int32, shape=[None, None])

mask: tf.placeholder(tf.int32, shape=[None, None])

keep_prob: tf.placeholder(tf.float32)

beam: tf.placeholder(tf.int32)

Al llamar a través de python, elrequest_body es solotest.json como una cuerda

Respuestas a la pregunta(2)

Su respuesta a la pregunta