Spaces:
Sleeping
Sleeping
| import tensorflow as tf | |
| import os | |
| input_path = "models/vgg16.keras" # Ton fichier actuel | |
| output_path = "models/vgg16_clean.keras" # Le fichier final | |
| print(f"Chargement du modèle : {input_path}") | |
| # On charge l'ancien | |
| old_model = tf.keras.models.load_model(input_path, compile=False) | |
| # On définit l'entrée proprement | |
| input_tensor = tf.keras.Input(shape=(224, 224, 3)) | |
| x = input_tensor | |
| print("Reconstruction étage par étage...") | |
| for i, layer in enumerate(old_model.layers): | |
| # On saute la couche d'Input de l'ancien modèle pour ne pas faire doublon | |
| if isinstance(layer, tf.keras.layers.InputLayer): | |
| continue | |
| print(f" - Ajout couche {i}: {layer.name}") | |
| # On passe x dans la couche | |
| x = layer(x) | |
| # --- LE FIX MAGIQUE --- | |
| # Si la couche a renvoyé une LISTE (le bug), on prend juste le premier élément | |
| if isinstance(x, list): | |
| print(" ⚠️ LISTE DÉTECTÉE ! Correction appliquée -> Conversion en Tenseur.") | |
| x = x[0] | |
| # ---------------------- | |
| # On crée le nouveau modèle propre | |
| new_model = tf.keras.Model(inputs=input_tensor, outputs=x) | |
| print("Sauvegarde...") | |
| new_model.save(output_path) | |
| print(f"✅ FINI ! Le modèle propre est ici : {output_path}") |