import gradio as gr from utils.predict import predict_action import os import glob ##Create list of examples to be loaded example_list = glob.glob("examples/*") example_list = list(map(lambda el:[el], example_list)) demo = gr.Blocks() with demo: gr.Markdown("# **<p align='center'>Video Classification with Transformers</p>**") gr.Markdown("This space demonstrates the use of hybrid Transformer-based models for video classification that operate on CNN feature maps.") with gr.Tabs(): with gr.TabItem("Upload & Predict"): with gr.Box(): with gr.Row(): input_video = gr.Video(label="Input Video", show_label=True) output_label = gr.Label(label="Model Output", show_label=True) output_gif = gr.Image(label="Video Gif", show_label=True) gr.Markdown("**Predict**") with gr.Box(): with gr.Row(): submit_button = gr.Button("Submit") gr.Markdown("**Examples:**") gr.Markdown("The model is trained to classify videos belonging to the following classes: CricketShot, PlayingCello, Punch, ShavingBeard, TennisSwing") # gr.Markdown("CricketShot, PlayingCello, Punch, ShavingBeard, TennisSwing") with gr.Column(): gr.Examples(example_list, [input_video], [output_label,output_gif], predict_action, cache_examples=True) submit_button.click(predict_action, inputs=input_video, outputs=[output_label,output_gif]) gr.Markdown('\n Demo created by: <a href=\"https://www.linkedin.com/in/shivalika-singh/\">Shivalika Singh</a> <br> Based on this <a href=\"https://keras.io/examples/vision/video_transformers/\">Keras example</a> by <a href=\"https://twitter.com/RisingSayak\">Sayak Paul</a> <br> Demo Powered by this <a href=\"https://huggingface.co/shivi/video-transformers/\"> Video Classification</a> model') demo.launch()