tensorflow如何使用SingularMonitoredSession从训练模型初始化变量

时间:2018-06-06 08:59:00

标签: tensorflow

我正在使用SingularMonitoredSession进行培训 ,我想从另一个训练模型中恢复部分模型。 这是我第一次使用SingularMonitoredSession,所以以下是我的工作

global_step = tf.train.get_or_create_global_step()
with tf.train.SingularMonitoredSession(hooks=[saverhook, summaryhook], checkpoint_dir=Flags.savedir) as sess:
    step = sess.run(global_step)
    if step==0:
        print("Restoring Transfer model")
        assignment_map = {'Main/': 'Discriminator/Main/', 'FCN/': 'Discriminator/FCN/'}
        tf.train.init_from_checkpoint(Flags.transferdir, assignment_map)

但是,我收到了错误消息

  

RuntimeError:图表已完成,无法修改。

似乎图形在创建会话后最终确定,因此我无法向图表添加任何内容,但如果我在创建会话之前使用 init_from_checkpoint 函数,我认为它将在创建期间重新初始化会议。那么在使用 SingularMonitoredSession 时,是否有一种很好的方法可以从其他训练模型初始化模型的一部分?

0 个答案:

没有答案