Spaces:
Runtime error
Runtime error
File size: 2,686 Bytes
fd90d18 4569bcc 3a37b43 5bcc619 82272bb 3f9b165 3a37b43 4569bcc fd90d18 3a37b43 fd90d18 4569bcc fd90d18 c2493db fd90d18 a4a1fc8 fd90d18 ae02709 5bcc619 ae02709 5bcc619 fd90d18 a4a1fc8 4569bcc 8f1bfae 5bcc619 4569bcc 8f1bfae 4569bcc 8f1bfae 4569bcc 8f1bfae 4569bcc c2493db 4569bcc |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 |
import gradio as gr
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from joblib import dump, load
import os
from huggingface_hub import HfApi
from huggingface_hub import login
login(token="botcoin")
huggingface-cli login
# Função para treinar e salvar o modelo
def train_model():
# Carregar e dividir o dataset
data = load_iris()
X = data.data
y = data.target
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# Treinando o modelo
model = LogisticRegression(max_iter=200)
model.fit(X_train, y_train)
# Criar diretório para salvar o modelo
diretorio = "/mnt/data"
os.makedirs(diretorio, exist_ok=True)
# Salvar o modelo em /mnt/data/
model_filename = os.path.join(diretorio, "model.pkl")
dump(model, model_filename)
# Criar repositório no Hugging Face se não existir
api = HfApi()
repo_id = "coan/botClaiton" # Substitua pelo seu repositório
# Verificar se o repositório já existe
try:
api.repo_info(repo_id)
except:
# Criar o repositório caso não exista
api.create_repo(repo_id, repo_type="model")
# Upload do modelo para o repositório Hugging Face
api.upload_file(
path_or_fileobj=model_filename,
path_in_repo="model.pkl", # Nome do arquivo no repositório
repo_id=repo_id,
repo_type="model"
)
return f"Modelo treinado e salvo em: {model_filename}"
# Função para carregar o modelo treinado e fazer previsões
def predict(input_data):
# Carregar o modelo treinado
model = load("/mnt/data/model.pkl") # Caminho do modelo salvo
# Garantir que a entrada seja um vetor (as características)
input_data = [float(i) for i in input_data.split()]
# Realizar a previsão
prediction = model.predict([input_data]) # input_data deve ser um vetor com as características
return f"Previsão: {prediction[0]}"
# Interface para treinamento do modelo
train_iface = gr.Interface(
fn=train_model,
inputs=[], # Nenhuma entrada necessária para treinar
outputs=["text"] # Exibe uma mensagem de sucesso
)
# Interface para previsões
predict_iface = gr.Interface(
fn=predict, # Função para chamar ao gerar previsão
inputs=gr.Textbox(label="Input (4 features, espaço separado)"), # Caixa de entrada de texto
outputs=gr.Textbox(label="Output") # Caixa de saída com a previsão
)
# Iniciar a interface de treinamento
train_iface.launch()
# Iniciar a interface de previsões
predict_iface.launch()
|