sai-Rohan commited on
Commit
283bd4f
·
verified ·
1 Parent(s): 106928a

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +26 -0
app.py ADDED
@@ -0,0 +1,26 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ import torch
3
+ from transformers import VideoMAEForVideoClassification, VideoMAEFeatureExtractor
4
+ from PIL import Image
5
+ import numpy as np
6
+
7
+ # Load model & processor
8
+ model_name = "OPear/videomae-large-finetuned-UCF-Crime"
9
+ model = VideoMAEForVideoClassification.from_pretrained(model_name)
10
+ processor = VideoMAEFeatureExtractor.from_pretrained(model_name)
11
+
12
+ def classify_video(video):
13
+ # video is a numpy array of shape (frames, H, W, C)
14
+ inputs = processor(video, return_tensors="pt")
15
+ with torch.no_grad():
16
+ outputs = model(**inputs)
17
+ logits = outputs.logits
18
+ predicted_class_idx = logits.argmax(-1).item()
19
+ return model.config.id2label[predicted_class_idx]
20
+
21
+ iface = gr.Interface(fn=classify_video,
22
+ inputs=gr.Video(),
23
+ outputs="text",
24
+ title="Video Classifier using VideoMAE")
25
+
26
+ iface.launch()