dancrvlh's picture
Tentando aplicar a rede neural do zero
f5a17e4
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()