J'ai chargé un modèle pré-entraîné (Model 1
) en utilisant le code suivant:Comment ne pas réinitialiser le modèle pré-chargé dans Tensorflow?
def load_seq2seq_model(sess):
with open(os.path.join(seq2seq_config_dir_path, 'config.pkl'), 'rb') as f:
saved_args = pickle.load(f)
# Initialize the model with saved args
model = Model1(saved_args)
#Inititalize Tensorflow saver
saver = tf.train.Saver()
# Checkpoint
ckpt = tf.train.get_checkpoint_state(seq2seq_config_dir_path)
print('Loading model: ', ckpt.model_checkpoint_path)
# Restore the model at the checkpoint
saver.restore(sess, ckpt.model_checkpoint_path)
return model
Maintenant, je veux former un autre modèle (Model 2
) à partir de zéro qui prendra la sortie du Model 1
. Mais pour cela j'ai besoin de définir une session et charger le modèle pré-formé et initialiser le modèle tf.initialize_all_variables()
. Ainsi, le modèle pré-entraîné sera également initialisé.
Quelqu'un peut-il s'il vous plaît dites-moi comment former le Model 2
après avoir obtenu la sortie du modèle pré-formé Model 1
correctement?
Ce que je suis en train est donné ci-dessous -
with tf.Session() as sess:
# Initialize all the variables of the graph
seq2seq_model = load_seq2seq_model(sess)
sess.run(tf.initialize_all_variables())
.... Rest of the training code goes here....
Avez-vous essayé d'initialiser AVANT d'importer le modèle 1? – Pop
Je ne connais pas la procédure exacte. J'ai essayé ça. Cela fonctionne aussi. Mais si quelqu'un pouvait me dire la procédure correcte, je peux être certain. –