Прогнозирование keras с помощью Flask дает ошибку - PullRequest
2 голосов
/ 30 мая 2019

У меня есть сохраненная модель keras, с которой я пытаюсь делать прогнозы на сервере, размещенном с использованием фляги.Размер входа модели - 12, а выходное измерение - 8. Когда я делаю запрос к серверу, чтобы сделать прогноз, я получаю сообщение об ошибке.

server.py

model_path = 'dom-loc.h5'
model = load_model(model_path)



@app.route('/api', methods=['POST', 'GET'])

def predict():
    data = request.get_json(force=True)
    location = model.predict_classes(np.array(data['dompath']))
    output = location[0]
    print('OUTPUT', output)
    return jsonify(output)


if __name__ == '__main__':
    app.run(port=5000, debug=True)

request.py

url = 'http://localhost:5000/api'


r = requests.post(url, json={'dompath':[[2, 3, 5, 1, 3, 3, 1, 5, 6, 8, 4, 8]]})
print(r.json())

ошибка для server.py

ValueError: Tensor Tensor("dense_4/Sigmoid:0", shape=(?, 8), dtype=float32) is not an element of this graph.

ошибка для request.py

json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

1 Ответ

1 голос
/ 03 июня 2019

Во время прогнозирования вам нужно получить график по умолчанию, который был построен.Вы можете сделать это с помощью следующего фрагмента.

graph = tf.get_default_graph()
with graph.as_default():
    #predict here
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...