Leo8613 commited on
Commit
b389d1d
·
verified ·
1 Parent(s): c3ed075

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +12 -15
app.py CHANGED
@@ -10,7 +10,6 @@ def find_model_file(filename="generator.h5"):
10
  for root, dirs, files in os.walk("/"):
11
  if filename in files:
12
  model_path = os.path.join(root, filename)
13
- print(f"Modèle trouvé à : {model_path}")
14
  return model_path
15
  return None
16
 
@@ -20,8 +19,7 @@ def load_model_safe(model_path):
20
  # Charger le modèle sans compilation pour éviter des erreurs liées au batch_shape
21
  model = tf.keras.models.load_model(model_path, compile=False)
22
  return model
23
- except ValueError as e:
24
- print(f"Erreur lors du chargement du modèle: {e}")
25
  return None
26
 
27
  # Chercher le modèle 'generator.h5' dans le système
@@ -30,28 +28,27 @@ model_path = find_model_file("generator.h5")
30
  # Vérifier si le modèle est trouvé et charger
31
  if model_path is not None:
32
  generator = load_model_safe(model_path)
33
- print(f"Modèle chargé depuis : {model_path}")
34
  else:
35
- print("Le modèle 'generator.h5' n'a pas été trouvé sur le serveur.")
36
  generator = None
37
 
38
  # Fonction pour générer une vidéo à partir du générateur
39
  def generate_video():
40
  if generator is None:
41
- return "Le modèle n'a pas pu être chargé."
 
 
 
 
 
 
 
42
 
43
  # Générer un bruit aléatoire (entrée pour le générateur)
44
  noise = np.random.normal(0, 1, (1, 16, 64, 64, 3)) # Exemple de bruit pour 16 frames de 64x64x3
45
  generated_video = generator.predict(noise) # Générer la vidéo
46
 
47
  # Vérifier la forme des données générées
48
- print(f"Shape of generated video: {generated_video.shape}")
49
-
50
- # Normaliser les données générées
51
- video = (generated_video[0] * 255).astype(np.uint8) # Convertir en entier 8 bits
52
-
53
- # Vérifier si la vidéo générée a la bonne forme
54
- if len(video.shape) != 4 or video.shape[0] != 16:
55
  return "Erreur dans les dimensions de la vidéo générée."
56
 
57
  # Créer le répertoire pour la vidéo
@@ -61,11 +58,11 @@ def generate_video():
61
 
62
  # Enregistrer la vidéo avec OpenCV
63
  fourcc = cv2.VideoWriter_fourcc(*'mp4v') # Codec vidéo
64
- height, width, _ = video[0].shape
65
  out = cv2.VideoWriter(filename, fourcc, 15, (width, height)) # 15 FPS
66
 
67
  # Ajouter les frames dans le fichier vidéo
68
- for frame in video:
69
  out.write(frame)
70
  out.release()
71
 
 
10
  for root, dirs, files in os.walk("/"):
11
  if filename in files:
12
  model_path = os.path.join(root, filename)
 
13
  return model_path
14
  return None
15
 
 
19
  # Charger le modèle sans compilation pour éviter des erreurs liées au batch_shape
20
  model = tf.keras.models.load_model(model_path, compile=False)
21
  return model
22
+ except ValueError:
 
23
  return None
24
 
25
  # Chercher le modèle 'generator.h5' dans le système
 
28
  # Vérifier si le modèle est trouvé et charger
29
  if model_path is not None:
30
  generator = load_model_safe(model_path)
 
31
  else:
 
32
  generator = None
33
 
34
  # Fonction pour générer une vidéo à partir du générateur
35
  def generate_video():
36
  if generator is None:
37
+ # Retourner un fichier d'erreur générique si le modèle n'est pas trouvé
38
+ error_file_path = "/content/error_file.txt"
39
+
40
+ with open(error_file_path, "w") as f:
41
+ f.write("Le modèle n'a pas pu être chargé.")
42
+
43
+ # Retourner le fichier d'erreur
44
+ return error_file_path
45
 
46
  # Générer un bruit aléatoire (entrée pour le générateur)
47
  noise = np.random.normal(0, 1, (1, 16, 64, 64, 3)) # Exemple de bruit pour 16 frames de 64x64x3
48
  generated_video = generator.predict(noise) # Générer la vidéo
49
 
50
  # Vérifier la forme des données générées
51
+ if len(generated_video.shape) != 4 or generated_video.shape[0] != 16:
 
 
 
 
 
 
52
  return "Erreur dans les dimensions de la vidéo générée."
53
 
54
  # Créer le répertoire pour la vidéo
 
58
 
59
  # Enregistrer la vidéo avec OpenCV
60
  fourcc = cv2.VideoWriter_fourcc(*'mp4v') # Codec vidéo
61
+ height, width, _ = generated_video[0].shape
62
  out = cv2.VideoWriter(filename, fourcc, 15, (width, height)) # 15 FPS
63
 
64
  # Ajouter les frames dans le fichier vidéo
65
+ for frame in generated_video:
66
  out.write(frame)
67
  out.release()
68