Spaces:
Sleeping
Sleeping
import gradio as gr | |
import gradio.components as grc | |
from torchvision import transforms | |
from transformers import ViTForImageClassification | |
model_path = "Inf009/view-angle" | |
model = ViTForImageClassification.from_pretrained(model_path) | |
model.eval() | |
val_transforms = transforms.Compose( | |
[ | |
transforms.Resize((224, 224)), | |
transforms.CenterCrop(224), | |
transforms.ToTensor(), | |
] | |
) | |
def predict_view_angle(image): | |
image = val_transforms(image) | |
outputs = model(image.unsqueeze(0)).logits.squeeze(0).sigmoid().detach().numpy() | |
indices = sorted(range(len(outputs)), key=lambda x: outputs[x], reverse=True) | |
predict_tags = ["45度俯视", "俯视", "正视"] | |
return predict_tags[indices[0]] | |
app = gr.Interface(fn=predict_view_angle, inputs=grc.Image(type="pil"), outputs=grc.Textbox()) | |
app.launch() |