, Никогда не узнал, что это значит
аюсь использовать Google Cloud ML для размещения модели Tensorflow и получения прогнозов. У меня есть предварительно обученная модель, которую я загрузил в облако, и я создал модель и версию в своей консоли Cloud ML.
Я следовал инструкциямотсюда подготовить мои данные для запроса онлайн-прогнозов. Как для метода Python, так и дляglcoud
метод я получаю ту же ошибку. Для простоты я выложуgcloud
метод:
я бегуgcloud ml-engine predict --model spell_correction --json-instances test.json
гдеtest.json
мой входной файл данных (массив JSON с именемinstances
). Я получаю следующий результат:
ERROR: (gcloud.ml-engine.predict) HTTP request failed. Response: {
"error": {
"code": 400,
"message": "Precondition check failed.",
"status": "FAILED_PRECONDITION"
}
}
Как я могу получить более подробную информацию об этом? Та же самая ошибка происходит, когда я пытаюсь через Python, и там у меня естьgoogleapiclient.http.HttpRequest
объект, содержащий ошибку. Я просто хочу знать, почему эта ошибка происходит, кроме этой общей ошибки. Кто-нибудь знает, как получить более подробную информацию с помощью метода Python илиgcloud
метод? Я предполагаю, что, поскольку это та же самая ошибка, это та же самая основная причина.
Выход изgcloud ml-engine models list
:
NAME DEFAULT_VERSION_NAME
spell_correction testing
Выход изgcloud 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}]}
Мой вклад в модель:
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)
При звонке через python,request_body
простоtest.json
как строка