Migjomatic commited on
Commit
44413bf
·
verified ·
1 Parent(s): 22d7d06

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +56 -0
app.py CHANGED
@@ -7,6 +7,41 @@ import streamlit as st
7
 
8
  import json
9
  from dotenv import load_dotenv
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10
 
11
  # Import our modular components
12
  from video_processing import extract_frames_from_video
@@ -172,6 +207,27 @@ def check_password() -> bool:
172
 
173
 
174
  def main():
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
175
  """Main application entry point"""
176
  # Initialize application
177
  initialize_app()
 
7
 
8
  import json
9
  from dotenv import load_dotenv
10
+ # --- Reproducibility & Threading ---
11
+ import os, random
12
+ import numpy as np
13
+
14
+ # Falls torch/cv2 verfügbar sind: Seeds/Threads setzen
15
+ try:
16
+ import torch
17
+ TORCH_AVAILABLE = True
18
+ except Exception:
19
+ TORCH_AVAILABLE = False
20
+
21
+ try:
22
+ import cv2
23
+ CV2_AVAILABLE = True
24
+ except Exception:
25
+ CV2_AVAILABLE = False
26
+
27
+ SEED = 42
28
+ random.seed(SEED)
29
+ np.random.seed(SEED)
30
+ os.environ["PYTHONHASHSEED"] = str(SEED)
31
+
32
+ if TORCH_AVAILABLE:
33
+ torch.manual_seed(SEED)
34
+ torch.set_num_threads(1) # vermeidet non-deterministische Parallel-Reduktionen
35
+ # Optional (nur wenn keine Fehlermeldung kommt):
36
+ # torch.use_deterministic_algorithms(True)
37
+
38
+ if CV2_AVAILABLE:
39
+ try:
40
+ cv2.setNumThreads(1) # OpenCV deterministischer
41
+ except Exception:
42
+ pass
43
+
44
+
45
 
46
  # Import our modular components
47
  from video_processing import extract_frames_from_video
 
207
 
208
 
209
  def main():
210
+ # Diagnose: Versionen anzeigen (hilft bei Abweichungen lokal vs. online)
211
+ with st.expander("Diagnostics (Versionen)"):
212
+ versions = {}
213
+ try:
214
+ import cv2; versions["opencv"] = cv2.__version__
215
+ except Exception: versions["opencv"] = "n/a"
216
+ try:
217
+ import numpy as _np; versions["numpy"] = _np.__version__
218
+ except Exception: versions["numpy"] = "n/a"
219
+ try:
220
+ import torch as _torch; versions["torch"] = _torch.__version__
221
+ except Exception: versions["torch"] = "n/a"
222
+ try:
223
+ import transformers as _tf; versions["transformers"] = _tf.__version__
224
+ except Exception: versions["transformers"] = "n/a"
225
+ try:
226
+ import PIL; versions["pillow"] = PIL.__version__
227
+ except Exception: versions["pillow"] = "n/a"
228
+
229
+ st.write(versions)
230
+
231
  """Main application entry point"""
232
  # Initialize application
233
  initialize_app()