Как настроить request.py для этой модели машинного обучения? - PullRequest
0 голосов
/ 26 мая 2019

Я следую этому интерактивному учебнику и внедряю модели машинного обучения с использованием Python.Я выполнил все части в соответствии с инструкциями, включая создание файлов model.py и request.py, и запустил их в терминале.

Но мне не удалось создать файл request.py для генерации прогноза,Мой server.py:

# Import libraries
import numpy as np
import flask
import pickle

app = flask.Flask(__name__)

model = pickle.load(open("model.pkl","rb"))

@app.route('/predict', methods=['POST'])
def predict():
    feature_array = request.get_json()['feature_array']

    #our model rates the wine based on the input array
    prediction = model.predict([feature_array]).tolist()

    #preparing a response object and storing the model's predictions
    response = {}
    response['predictions'] = prediction

    #sending our response object back as json
    return flask.jsonify(response)

И мой request.py:

import requests
# URL
url = 'http://localhost:5000/request'

r = requests.post(url,json=[7.4,0.66,0,1.8,0.075,13,40,0.9978,3.51,0.56,9.4])
print(r.json())

Ответы [ 2 ]

0 голосов
/ 26 мая 2019

Импортируйте это в файл server.py:

from flask import request

Добавьте это в конец вашего файла server.py (используется для запуска сервера на порту 5000 и debug=True для отладки и устранения ошибки, если получится):

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

Обновлен файл request.py (в вашем коде отсутствует ключ feature_array, который вы указываете в файле server.py):

import requests, json
# URL
url = 'http://localhost:5000/predict'
r = requests.post(url, json={"feature_array":[7.4,0.66,0,1.8,0.075,13,40,0.9978,3.51,0.56,9.4]})
print(r.json())

Запустите server.py перед запуском request.py file.

0 голосов
/ 26 мая 2019

Разве в вашем файле server.py отсутствует from flask import request, как показано в строке 2 в руководстве?

...