2. Desarrolle su aplicación web con Flask e integre su modelo
Ahora que tenemos nuestro modelo, comenzaremos a desarrollar nuestra aplicación web con Flask. Aquellos de ustedes que comienzan en Flask pueden leer sobre esto. aquí.
Recursos de aprendizaje de matraces: Tutoriales de matraces de Corey Schafer, Learn Flask para Python – Tutorial completo
2.1. Instalar matraz:
Puede utilizar el comando ‘pip install flask’. Utilizo PyCharm IDE para desarrollar aplicaciones de matraces. Para instalar fácilmente bibliotecas en PyCharm sigue estos pasos.
2.2. Importe las bibliotecas imprescindibles, inicialice la aplicación del matraz y cargue nuestro modelo ML:
Inicializaremos nuestra aplicación y posteriormente cargaremos el archivo «model.pkl» en la aplicación.
#import libraries import numpy as np from flask import Flask, render_template,request import pickle#Initialize the flask App app = Flask(__name__) model = pickle.load(open('model.pkl', 'rb'))
2.3. Establecer la ruta de la aplicación para la página predeterminada de la aplicación web. :
Las rutas se refieren a patrones de URL de una aplicación (como myapp.com/home o myapp.com/about). @app.route("/")
es un decorador de Python que Flask proporciona para adjudicar URLs en nuestra aplicación a funciones fácilmente.
#default page of our web-app
@app.route('/')
def home():
return render_template('index.html')
El decorador le dice a nuestro @app
que cada vez que un usuario visita el dominio de nuestra aplicación (localhost: 5000 para servidores locales) en el dado .route()
, ejecutar el home()
función. Flask utiliza la biblioteca de plantillas de Jinja para representar plantillas. En nuestra aplicación, usaremos plantillas para renderizar HTML que se mostrará en el navegador.
2.4. Redirigir la API para predecir la emisión de CO2 :
Creamos una nueva ruta de aplicación (‘/ predecir’) que lee la entrada de nuestro formulario ‘index.html’ y al hacer un clic en el botón predecir, genera el resultado usando render_template.
#To use the predict button in our web-app
@app.route('/predict',methods=['POST'])
def predict():
#For rendering results on HTML GUI
int_features = [float(x) for x in request.form.values()]
final_features = [np.array(int_features)]
prediction = model.predict(final_features)
output = round(prediction[0], 2)
return render_template('index.html', prediction_text="CO2 Emission of the vehicle is :{}".format(output))
Echemos un vistazo a nuestro index.html expediente :
2.5. Inicio del Flask Server :
if __name__ == "__main__":
app.run(debug=True)
Se llama a app.run () y la aplicación web está alojada localmente en [localhost:5000].
«Debug = True» se asegura de que no necesitemos ejecutar nuestra aplicación cada vez que hacemos cambios, simplemente podemos actualizar nuestra página web para ver los cambios mientras el servidor aún se está ejecutando.