milcio79's picture
Update app.py
a729c4d verified
Raw
History Blame Contribute Delete
2.97 kB
# -*- coding: utf-8 -*-
"""Regression Use_model_cloud.ipynb
Automatically generated by Colab.
Original file is located at
https://colab.research.google.com/drive/1hsRGZjDFbBm5WHW6gYOrHmx7IucW3BOc
"""
import os
import requests
import joblib
import gradio as gr
import numpy as np
import matplotlib.pyplot as plt
"""# **Web/API deployment**
## **Load the Model**
"""
saved_model_path = "files/prueba_regression.joblib"
os.path.getsize(saved_model_path)
saved_model = joblib.load("files/prueba_regression.joblib")
saved_model
def predict(input1, input2):
# Asume que el modelo espera un array 2D de caracter铆sticas
input_array = np.array([[input1, input2]])
predictions = saved_model.predict(input_array)
output1 = predictions[0, 0] # Primer valor predicho
output2 = predictions[0, 1] # Segundo valor predicho
output3 = predictions[0, 2] # Tercer valor predicho
output4 = predictions[0, 3] # Cuarto valor predicho
output5 = predictions[0, 4] # Quinto valor predicho
output6 = predictions[0, 5] # Sexto valor predicho
return output1, output2, output3, output4, output5, output6
# Crear la interfaz de Gradio
iface = gr.Interface(
fn=predict,
inputs=[gr.Number(label="RPM"), gr.Number(label="Horas de Operaci贸n")],
outputs=[
gr.Number(label="Aceleraci贸n Lado del Acople"),
gr.Number(label="Velocidad Lado del Acople"),
gr.Number(label="Envolvente Lado del Acople"),
gr.Number(label="Aceleraci贸n Lado del Impulsor"),
gr.Number(label="Velocidad Lado del Impulsor"),
gr.Number(label="Envolvente Lado del Impulsor")
],
title="Predicci贸n de Valores de Vibraci贸n",
description="Ingrese los valores de RPM y Horas de Operaci贸n para predecir los valores de vibraci贸n."
)
def predict(input1, input2):
input_array = np.array([[input1, input2]])
predictions = saved_model.predict(input_array)
# Configuraci贸n global para aumentar el tama帽o de la fuente
plt.rcParams.update({'font.size': 14})
# Crear la gr谩fica
plt.figure(figsize=(16, 12))
labels = ['Ac Lado Acople', 'Vel Lado Acople', 'Env Lado Acople',
'Ac Lado Impulsor', 'Vel Lado Impulsor', 'Env Lado Impulsor']
plt.bar(labels, predictions[0], color='blue')
plt.xticks(rotation=30, ha='right')
plt.ylabel('Valores de Vibraci贸n')
plt.title('Predicciones de Vibraci贸n para RPM y Horas de Operaci贸n')
# Guardar la gr谩fica en un buffer en formato PNG y usarlo en Gradio
plt.savefig('output_predictions.png')
plt.close()
return 'output_predictions.png'
iface = gr.Interface(
fn=predict,
inputs=[gr.Number(label="RPM"), gr.Number(label="Horas de Operaci贸n")],
outputs="image",
title="Predicci贸n de Valores de Vibraci贸n",
description="Ingrese los valores de RPM y Horas de Operaci贸n para ver la gr谩fica de los valores de vibraci贸n predichos."
)
# Lanzar la aplicaci贸n
iface.launch()