Ошибка в прогнозировании по модели RNN с использованием Flask Server - PullRequest
0 голосов
/ 23 февраля 2019

После обучения и тестирования моей модели RNN я создал файлы, первый из которых - server.py, а второй request.py.Код для обоих файлов приведен ниже, и я получаю сообщение об ошибке следующим образом:

Traceback (последний вызов был последним): файл "/anaconda3/lib/python3.6/site-packages/flask/app.py ", строка 2309, в вызов , возврат файла self.wsgi_app (environment, start_response)" /anaconda3/lib/python3.6/site-packages/flask/app.py ", строка 2295, в ответе wsgi_app = self.handle_exception (e) Файл "/anaconda3/lib/python3.6/site-packages/flask/app.py", строка 1741, в ререйзе handle_exception (файл exc_type, exc_value, tb) "/ anaconda3/lib/python3.6/site-packages/flask/_compat.py ", строка 35, в файле повышения значения рейза" /anaconda3/lib/python3.6/site-packages/flask/app.py ", строка 2292,в ответе wsgi_app = файл self.full_dispatch_request () "/anaconda3/lib/python3.6/site-packages/flask/app.py", строка 1815, в файле full_dispatch_request rv = self.handle_user_exception (файл e) "/ anaconda3 / lib/python3.6/site-packages/flask/app.py ", строка 1718, в файле переименования handle_user_exception (файл exc_type, exc_value, tb)" / anaconda3 / lib / python3.6 / site-packages / flask / _compat.py ", строка 35, в файле повышения значения файла" /anaconda3/lib/python3.6/site-packages/flask/app.py ", строка 1813, в файле full_dispatch_request rv = self.dispatch_request () "/anaconda3/lib/python3.6/site-packages/flask/app.py", строка 1799, в запросе dispatch_request возвращает файл self.view_functionsrule.endpoint "/ Users / aniket /RNN / server.py ", строка 25, в Inde response = model.predict (exp) Файл" /anaconda3/lib/python3.6/site-packages/keras/engine/training.py ", строка 1164,в файле предиката self._make_predict_function () "/anaconda3/lib/python3.6/site-packages/keras/engine/training.py", строка 554, в файле _make_predict_function kwargs) "/ anaconda3 / lib/python3.6/site-packages/keras/backend/tensorflow_backend.py ", строка 2744, в функции, возвращающей функцию (входы, выходы, обновления = обновления, ** kwargs) Файл" /anaconda3/lib/python3.6/site-packages / keras / backend / tenorflow_backend.py ", строка 2546, в __init__ с tf.control_dependencies (self.outputs): File "/anaconda3/lib/python3.6/site-packages/tensorflow/python/framework/ops.py", строка 5004, в control_dependencies возвращают файл get_default_graph (). control_dependencies (control_inputs) "/anaconda3/lib/python3.6/site-packages/tensorflow/python/framework/ops.py ", строка 4543, в control_dependencies c = self.as_graph_element (c) Файл" /anaconda3/lib/python3.6/site-packages/tensorflow/python/framework/ops.py ", строка 3490, в as_graph_element возвращает self._as_graph_element_locked (obj, allow_tensor, allow_operation) Файл" /anaconda3/lib/python3.6/site-packages/tensorflow/python/framework/ops.py ", строка 3569,в _as_graph_element_locked повысить ValueError («Тензор% s не является элементом этого графа.»% obj) ** ValueError: Тензорный тензор («активации_4 / Relu: 0», shape = (?,?, 1), dtype = float32)не является элементом этого графика.

код server.py:

# Import libraries
import numpy as np
from flask import Flask, request, jsonify
import pickle
app = Flask(__name__)
# Load the model
model = pickle.load(open('modell.pkl','rb'))
@app.route('/api/predict/',methods=['POST'])
def predict():
    # Get the data from the POST request.
    data = request.get_json(force=True)
    data1 = json.loads(data)
    exp=np.reshape(data1,(1,1,12))
    # Make prediction using model loaded from disk as per the data.
    prediction = model.predict(exp)
    # Take the first value of prediction
    output = prediction[0]
    return jsonify(output)
if __name__ == '__main__':
    app.run(port=5000, debug=True)

код request.py:

import numpy as np
import json
import requests
url = 'http://localhost:5000/api/predict/'
x=[0.545455,0.0333333,0,1,1,0.185,0.489233,0.576471,0.979147,0.262753,0.963205,0.908989])
x=json.dumps(x)
r = requests.post(url,json=x)
print(r.json())
...