|
import os |
|
|
|
import cv2 |
|
import gradio as gr |
|
import numpy as np |
|
import tensorflow as tf |
|
from huggingface_hub import login, from_pretrained_keras |
|
|
|
MODEL_NAME = os.getenv("MODEL_NAME") |
|
HF_TOKEN = os.getenv("HF_TOKEN") |
|
|
|
login(token=HF_TOKEN) |
|
|
|
model = from_pretrained_keras(MODEL_NAME) |
|
|
|
|
|
def classify_image(inp): |
|
inp = cv2.resize(inp, (299, 299)) |
|
inp = np.expand_dims(inp, axis=0) |
|
prediction = model.predict(inp) |
|
pred = tf.nn.sigmoid(prediction).numpy().squeeze() |
|
confidences = {"Application": 1 - pred, "Product": pred.item()} |
|
return confidences |
|
|
|
|
|
gr.Interface( |
|
fn=classify_image, |
|
inputs=gr.Image(), |
|
outputs=gr.Label(num_top_classes=2), |
|
allow_flagging="never", |
|
).launch(debug=True, enable_queue=True) |
|
|