| import tensorflow as tf |
| import gradio as gr |
| import numpy as np |
| from huggingface_hub import hf_hub_download |
|
|
| |
| repo_id = "Agent-37/masterclass-2025" |
| hf_hub_download(repo_id, filename="config.json", repo_type="model", local_dir="./model") |
| hf_hub_download(repo_id, filename="metadata.json", repo_type="model", local_dir="./model") |
| hf_hub_download(repo_id, filename="model.weights.h5", repo_type="model", local_dir="./model") |
|
|
| |
| model = tf.keras.models.load_model("./model") |
|
|
| |
| CLASS_NAMES = ["cat", "dog", "panda"] |
| def predict(image): |
| resized_image = tf.image.resize(image, (64,64)) |
| images_to_predict = np.expand_dims(np.array(resized_image), axis=0) |
| probs = model.predict(images_to_predict)[0] |
| return {c: float(p) for c,p in zip(CLASS_NAMES, probs)} |
|
|
| |
| gr.Interface( |
| fn=predict, |
| inputs=gr.Image(), |
| outputs=gr.Label(num_top_classes=3), |
| title="🐾 Animal Classifier", |
| description="Upload an image of a cat, dog, or panda." |
| ).launch() |
|
|