Spaces:
Runtime error
Runtime error
arjunanand13
commited on
Commit
•
b0623fd
1
Parent(s):
1ec7ea5
Update app.py
Browse files
app.py
CHANGED
@@ -24,6 +24,11 @@ from huggingface_hub import InferenceClient
|
|
24 |
|
25 |
|
26 |
class VideoClassifier:
|
|
|
|
|
|
|
|
|
|
|
27 |
def __init__(self, no_of_frames, mode='interface',model='gemini'):
|
28 |
|
29 |
self.no_of_frames = no_of_frames
|
@@ -105,6 +110,7 @@ class VideoClassifier:
|
|
105 |
self.llm = HuggingFacePipeline(pipeline=self.generate_text)
|
106 |
|
107 |
def audio_extraction(self,video_input):
|
|
|
108 |
start_time_audio = time.time()
|
109 |
print(f"Processing video: {video_input} with {self.no_of_frames} frames.")
|
110 |
mp4_file = video_input
|
@@ -120,7 +126,8 @@ class VideoClassifier:
|
|
120 |
transcript = result["text"]
|
121 |
print("TRANSCRIPT",transcript)
|
122 |
end_time_audio = time.time()
|
123 |
-
|
|
|
124 |
|
125 |
return transcript
|
126 |
|
@@ -136,7 +143,7 @@ class VideoClassifier:
|
|
136 |
return self.client(inputs, parameters)
|
137 |
|
138 |
def classify_video(self,video_input):
|
139 |
-
|
140 |
transcript=self.audio_extraction(video_input)
|
141 |
start_time_caption = time.time()
|
142 |
video = cv2.VideoCapture(video_input)
|
@@ -164,6 +171,7 @@ class VideoClassifier:
|
|
164 |
video.release()
|
165 |
cv2.destroyAllWindows()
|
166 |
end_time_caption = time.time()
|
|
|
167 |
# print("TIME TAKEN FOR IMAGE CAPTIONING", end_time_caption-start_time_caption)
|
168 |
|
169 |
start_time_generation = time.time()
|
@@ -312,14 +320,17 @@ class VideoClassifier:
|
|
312 |
|
313 |
# return final_answer, first_video, second_video
|
314 |
end_time_generation = time.time()
|
315 |
-
|
316 |
-
|
317 |
-
print("
|
318 |
-
print("TIME TAKEN FOR
|
|
|
|
|
319 |
return final_answer
|
320 |
|
321 |
|
322 |
def save_model_choice(self,model_name):
|
|
|
323 |
start_time_setup = time.time()
|
324 |
|
325 |
self.model_name = model_name
|
@@ -330,7 +341,8 @@ class VideoClassifier:
|
|
330 |
print("Setting up Gemini model for Class Selection")
|
331 |
self.setup_gemini_model()
|
332 |
end_time_setup = time.time()
|
333 |
-
|
|
|
334 |
|
335 |
return "Model selected: " + model_name
|
336 |
|
|
|
24 |
|
25 |
|
26 |
class VideoClassifier:
|
27 |
+
global audio_time , setup_time , caption_time , classification_time
|
28 |
+
audio_time = 0
|
29 |
+
setup_time = 0
|
30 |
+
caption_time = 0
|
31 |
+
classification_time = 0
|
32 |
def __init__(self, no_of_frames, mode='interface',model='gemini'):
|
33 |
|
34 |
self.no_of_frames = no_of_frames
|
|
|
110 |
self.llm = HuggingFacePipeline(pipeline=self.generate_text)
|
111 |
|
112 |
def audio_extraction(self,video_input):
|
113 |
+
global audio_time
|
114 |
start_time_audio = time.time()
|
115 |
print(f"Processing video: {video_input} with {self.no_of_frames} frames.")
|
116 |
mp4_file = video_input
|
|
|
126 |
transcript = result["text"]
|
127 |
print("TRANSCRIPT",transcript)
|
128 |
end_time_audio = time.time()
|
129 |
+
audio_time=end_time_audio-start_time_audio
|
130 |
+
# print("TIME TAKEN FOR AUDIO CONVERSION (WHISPER)",audio_time)
|
131 |
|
132 |
return transcript
|
133 |
|
|
|
143 |
return self.client(inputs, parameters)
|
144 |
|
145 |
def classify_video(self,video_input):
|
146 |
+
global classification_time , caption_time
|
147 |
transcript=self.audio_extraction(video_input)
|
148 |
start_time_caption = time.time()
|
149 |
video = cv2.VideoCapture(video_input)
|
|
|
171 |
video.release()
|
172 |
cv2.destroyAllWindows()
|
173 |
end_time_caption = time.time()
|
174 |
+
caption_time=end_time_caption-start_time_caption
|
175 |
# print("TIME TAKEN FOR IMAGE CAPTIONING", end_time_caption-start_time_caption)
|
176 |
|
177 |
start_time_generation = time.time()
|
|
|
320 |
|
321 |
# return final_answer, first_video, second_video
|
322 |
end_time_generation = time.time()
|
323 |
+
classification_time = end_time_generation-start_time_generation
|
324 |
+
|
325 |
+
print("MODEL SETUP TIME",setup_time)
|
326 |
+
print("TIME TAKEN FOR AUDIO CONVERSION (WHISPER)",audio_time)
|
327 |
+
print("TIME TAKEN FOR IMAGE CAPTIONING", caption_time)
|
328 |
+
print("TIME TAKEN FOR CLASS GENERATION",classification_time)
|
329 |
return final_answer
|
330 |
|
331 |
|
332 |
def save_model_choice(self,model_name):
|
333 |
+
global setup_time
|
334 |
start_time_setup = time.time()
|
335 |
|
336 |
self.model_name = model_name
|
|
|
341 |
print("Setting up Gemini model for Class Selection")
|
342 |
self.setup_gemini_model()
|
343 |
end_time_setup = time.time()
|
344 |
+
setup_time=end_time_setup-start_time_setup
|
345 |
+
# print("MODEL SETUP TIME",setup_time)
|
346 |
|
347 |
return "Model selected: " + model_name
|
348 |
|