Spaces:
Build error
Build error
| import os | |
| os.environ["CUDA_VISIBLE_DEVICES"] = "-1" # Désactiver l'utilisation des GPU | |
| import tensorflow as tf | |
| import numpy as np | |
| import cv2 | |
| import gradio as gr | |
| # Charger le modèle générateur | |
| generator = tf.keras.models.load_model('generator_cpu_compatible.h5') # Modèle préparé pour CPU | |
| # Génération de vidéos à partir de bruit aléatoire | |
| def generate_video(): | |
| # Générer un bruit aléatoire (entrée pour le générateur) | |
| noise = np.random.normal(0, 1, (1, 16, 64, 64, 3)) | |
| generated_video = generator.predict(noise) # Génération de la vidéo | |
| # Normaliser les données générées | |
| video = (generated_video[0] * 255).astype(np.uint8) # Convertir en entier 8 bits | |
| filename = "generated_video.mp4" | |
| # Sauvegarder la vidéo | |
| fourcc = cv2.VideoWriter_fourcc(*'mp4v') # Codec vidéo | |
| height, width, _ = video[0].shape | |
| out = cv2.VideoWriter(filename, fourcc, 15, (width, height)) # 15 FPS | |
| # Ajouter les frames dans le fichier vidéo | |
| for frame in video: | |
| out.write(frame) | |
| out.release() | |
| return filename | |
| # Interface Gradio | |
| def interface_function(): | |
| # Appeler la fonction de génération et retourner la vidéo générée | |
| video_file = generate_video() | |
| return video_file | |
| # Définir l'interface avec Gradio | |
| gr.Interface( | |
| fn=interface_function, # Fonction à exécuter | |
| inputs=[], # Pas d'entrée utilisateur | |
| outputs=gr.Video(label="Vidéo générée"), # Vidéo en sortie | |
| title="Générateur de Vidéos avec IA", | |
| description="Cliquez sur le bouton ci-dessous pour générer une vidéo aléatoire avec l'IA." | |
| ).launch(server_name="0.0.0.0", server_port=7860) |