imagereconization / pythonapp.py
Mohuu0601's picture
Rename python app.py to pythonapp.py
fd54d0e verified
#!pip install transformers gradio torch torchvision
from transformers import AutoFeatureExtractor, AutoModelForImageClassification
from PIL import Image
import gradio as gr
# Step 1: Load the model and feature extractor
feature_extractor = AutoFeatureExtractor.from_pretrained("google/vit-base-patch16-224")
model = AutoModelForImageClassification.from_pretrained("google/vit-base-patch16-224")
# Step 2: Define the function for prediction
def recognize_image(image):
# Convert the input image to RGB
image = Image.fromarray(image).convert("RGB")
# Preprocess the image
inputs = feature_extractor(images=image, return_tensors="pt")
# Make predictions
outputs = model(**inputs)
predicted_class_idx = outputs.logits.argmax(-1).item()
# Get the predicted class label
return model.config.id2label[predicted_class_idx]
# Step 3: Create a Gradio interface
app = gr.Interface(
fn=recognize_image, # Prediction function
inputs=gr.Image(type="numpy"), # Input: Image
outputs="text", # Output: Predicted label
title="Image Recognition App" # App title
)
# Launch the app
app.launch()
print(transformers.__version__)