2017-10-11 3 views
0

Disons que j'ai un modèle avec des couches Y. J'essaie de restaurer le modèle avec les couches Y-1 à trainable=False, donc j'insère toutes les couches Y-1 (noms de variables) dans var_list lorsque vous définissez tf.train.Saver(var_list=list_of_Y-1_layers) afin qu'elles puissent être restaurées. Je souhaite ne pas restaurer la dernière couche, que j'aimerais m'entraîner, donc si je la mets en var_list elle est restaurée et si je ne la mets pas là, elle ne sauvegarde pas à l'intérieur du checkpoint entraînement.Tensorflow: ne pas restaurer mais enregistrer uniquement les variables entraînables

Est-ce que cette variable est enregistrée ailleurs? Ou est-ce que je fais quelque chose de mal pour sauvegarder/restaurer?

Side note: Pour vérifier si une variable trainable est enregistrée ou non, j'utiliser la fonction inspect_checkpoint(), qui est défini dans tensorflow/tensorflow/python/tools/inspect_checkpoint.py

+1

Donc, votre problème est que vous voulez un poste de contrôle de la variable au cours de la formation, mais aussi pour éviter la restauration quand vous ne voulez pas? Une option consiste à enregistrer et à restaurer tout, mais aussi avoir un op 'init_trainable = tf.variables_initializer (tf.trainable_variables())' que vous exécutez après la restauration. – jdehesa

Répondre