Accke's picture
Update app.py
8a958af verified
raw
history blame contribute delete
No virus
1.31 kB
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import os
from fastapi import FastAPI, HTTPException
from pydantic import BaseModel
from typing import List
from tensorflow.keras.models import model_from_json
from sklearn.preprocessing import StandardScaler
class InputData(BaseModel):
data: List[float] # Lista de caracter铆sticas num茅ricas (flotantes)
app = FastAPI()
# Cargar el modelo desde JSON
with open('model.json', 'r') as json_file:
model_json = json_file.read()
model = model_from_json(model_json)
# Cargar los pesos en el modelo
model.load_weights('model_weights.h5')
# Ruta de predicci贸n
@app.post("/predict/")
async def predict(data: InputData):
try:
# Convertir la lista de entrada a un array de NumPy para la predicci贸n
input_data = np.array(data.data).reshape(1, -1)
# Escalar los datos (aseg煤rate de que el escalador ha sido entrenado y guardado adecuadamente)
scaler = StandardScaler()
input_data = scaler.fit_transform(input_data)
# Realizar la predicci贸n
prediction = model.predict(input_data).round()
return {"prediction": prediction.tolist()}
except Exception as e:
raise HTTPException(status_code=500, detail=str(e))