File size: 2,867 Bytes
5cd7059
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
import gradio as gr
# import argparse
# import os
# import re
# import time

# import torch
# import pandas as pd

# # import os, sys
# # root_folder = os.path.abspath(
# #     os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
# # )
# # sys.path.append(root_folder)
# from kernel_utils import VideoReader, FaceExtractor, confident_strategy, predict_on_video_set
# from classifiers import DeepFakeClassifier
# import gradio as gr

    
    
# def predict(video):

#     # video_index = int(video_index)
    
#     frames_per_video = 32
#     video_reader = VideoReader()
#     video_read_fn = lambda x: video_reader.read_frames(x, num_frames=frames_per_video)
#     face_extractor = FaceExtractor(video_read_fn)
#     input_size = 380
#     strategy = confident_strategy
    
#     # test_videos = sorted([x for x in os.listdir(args.test_dir) if x[-4:] == ".mp4"])[video_index]
#     # print(f"Predicting {video_index} videos")
#     predictions = predict_on_video_set(face_extractor=face_extractor, input_size=input_size, models=models,
#                                        strategy=strategy, frames_per_video=frames_per_video, videos=video,
#                                        num_workers=6, test_dir=args.test_dir)
#     return predictions

# def get_args_models():
#     parser = argparse.ArgumentParser("Predict test videos")
#     arg = parser.add_argument
#     arg('--weights-dir', type=str, default="weights", help="path to directory with checkpoints")
#     arg('--models', type=str, default='classifier_DeepFakeClassifier_tf_efficientnet_b7_ns_1_best_dice', help="checkpoint files")  # nargs='+',
#     arg('--test-dir', type=str, default='test_dataset', help="path to directory with videos")
#     arg('--output', type=str, required=False, help="path to output csv", default="submission.csv")
#     args = parser.parse_args()

#     models = []
#     # model_paths = [os.path.join(args.weights_dir, model) for model in args.models]
#     model_paths = [os.path.join(args.weights_dir, args.models)]
#     for path in model_paths:
#         model = DeepFakeClassifier(encoder="tf_efficientnet_b7_ns").to("cpu")
#         print("loading state dict {}".format(path))
#         checkpoint = torch.load(path, map_location="cpu")
#         state_dict = checkpoint.get("state_dict", checkpoint)
#         model.load_state_dict({re.sub("^module.", "", k): v for k, v in state_dict.items()}, strict=True)
#         model.eval()
#         del checkpoint
#         models.append(model.half())
#     return args, models

def greet(name):
    return "Hello " + name + "!!"

if __name__ == '__main__':
    # global args, models
    # args, models = get_args_models()
    
    # stime = time.time()
    # print("Elapsed:", time.time() - stime)
    
    demo = gr.Interface(fn=greet, inputs="video", outputs="text")
    demo.launch()