arjunanand13 commited on
Commit
b0623fd
1 Parent(s): 1ec7ea5

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +19 -7
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
- # print("TIME TAKEN FOR AUDIO CONVERSION (WHISPER)",end_time_audio-start_time_audio)
 
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
- print("MODEL SETUP TIME",end_time_setup-start_time_setup)
316
- print("TIME TAKEN FOR AUDIO CONVERSION (WHISPER)",end_time_audio-start_time_audio)
317
- print("TIME TAKEN FOR IMAGE CAPTIONING", end_time_caption-start_time_caption)
318
- print("TIME TAKEN FOR CLASS GENERATION",end_time_generation - start_time_generation)
 
 
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
- # print("MODEL SETUP TIME",end_time_setup-start_time_setup)
 
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