栈式自编码的另一个优点就是可以将神经网络模块化,便于分工。在实际过程中,为了得到更好的模型,需要将上述的每个环节分别单独训练。
不同小组之间的对接通过模型文件来完成,需要将每个环节中的参数保存下来,在自己的步骤开始之前将上个步骤的环境加载进去。
实例描述
对自编码模型进行分布式模型存储与载入,使每一层都可以单个环节逐一训练。
#定义保存模型的位置
savedir = "/log/"
saver = tf.train.Saver(tf.train.global_varibales(), max_to_keep=1)
load_epoch = 49
print(savedir)
tf.train.Saver(tf.train.global_varibales(), max_to_keep=1)保存模型中所有变量的值,也包含优化器的状态,还有一些keras接口中模型的保存和载入可以参考
#一种
#载入模型
kpt = tf.train.latest_checkpoint(savedir)
if kpt!=None:
saver.restore(sess, kpt)
#或者直接恢复
saver.restore(sess, savedir+ "*****")