Spaces:
Sleeping
Sleeping
| import gradio as gr | |
| import pandas as pd | |
| import joblib | |
| from huggingface_hub import hf_hub_download | |
| # Download model + columns from your repo | |
| model_path = hf_hub_download(repo_id="MAZEN00/Player", filename="modeel.joblib") | |
| columns_path = hf_hub_download(repo_id="MAZEN00/Player", filename="columns.pkl") | |
| # Load them | |
| model = joblib.load(model_path) | |
| model_columns = joblib.load(columns_path) | |
| # Prediction function | |
| def predict_player(player: dict): | |
| try: | |
| print("Received:", player) # <--- log input | |
| df = pd.DataFrame([player]) | |
| df = df[model_columns] | |
| prediction = model.predict(df) | |
| print("Prediction:", prediction) # <--- log output | |
| return float(prediction[0]) | |
| except Exception as e: | |
| print("Error:", e) # <--- log errors | |
| return {"error": str(e)} | |
| # Gradio Interface | |
| iface = gr.Interface( | |
| fn=predict_player, | |
| inputs=gr.JSON(label="Player Features"), | |
| outputs=gr.Number(label="Predicted Rating"), | |
| title="⚽ Player Rating Predictor", | |
| description="Enter player features (JSON) to get predicted rating." | |
| ) | |
| # Hugging Face Spaces expects launch like this | |
| if __name__ == "__main__": | |
| iface.launch(server_name="0.0.0.0", server_port=7860) | |