import gradio as gr import pandas as pd import torch from fastai.tabular.all import load_learner learn = load_learner('Diabetes.pkl') coeffs = torch.load('Dianetes_Neural_Network.pkl') import torch.nn.functional as F def coeff(coeffs, indeps): layers,consts = coeffs n = len(layers) res = indeps for i,l in enumerate(layers): res = res@l + consts[i] if i!=n-1: res = F.relu(res) return torch.sigmoid(res) """ def predict(Pregnancies, Glucose, BloodPressure, SkinThickness, Insulin, BMI, DiabetesPedigreeFunction, Age): inputs = {'Pregnancies': Pregnancies, 'Glucose': Glucose, 'BloodPressure': BloodPressure, 'SkinThickness': SkinThickness, 'Insulin': Insulin, 'Age': Age, 'DiabetesPedigreeFunction': DiabetesPedigreeFunction, 'BMI': BMI} df = pd.DataFrame([inputs]) pred, _, _ = learn.predict(df.iloc[0]) return pred.item() iface = gr.Interface(fn=predict, inputs=["number", "number", "number", "number", "number", "number", "number", "number"], outputs="number", description="Insira os dados para prever o resultado de diabetes") iface.launch() """ def predict(Pregnancies, Glucose, BloodPressure, SkinThickness, Insulin, BMI, DiabetesPedigreeFunction, Age): inputs = torch.tensor([Pregnancies, Glucose, BloodPressure, SkinThickness, Insulin, BMI, DiabetesPedigreeFunction, Age]).float() pred = coeff(coeffs, inputs) return pred.item() iface = gr.Interface(fn=predict, inputs=["number", "number", "number", "number", "number", "number", "number", "number"], outputs="number", description="Insira os dados para prever o resultado de diabetes") iface.launch()