在优化步骤后保留张量流模型的权重



我在tensorflow中训练神经网络。在每个优化步骤之后,我想在更新之前保留权重。因此,如果优化步骤不好,我可以回到优化步骤之前的权重。

目前我正在尝试执行以下操作:

  1. 使用 original_session = copy.copy(session( 复制张量流会话

  2. 使用 Adam 优化器训练批处理

  3. 使用 session.close(( 关闭性能不佳的会话

  4. 继续现有会话

我在使用此方法时遇到了问题。该进程只是退出,错误代码为139,没有任何错误消息。

对我来说,由于性能问题,不要将模型与检查点文件一起保存到硬盘中很重要。我只想在内存中保留网络的副本。

你有一些想法如何在张量流中做到这一点吗?

谢谢!

你可以像这样使用单独的图表:

g1 = tf.Graph()
g2 = tf.Graph()
with g1.as_default():
# build your 1st model
sess1 = tf.Session(graph=g1)
# do some work with sess1 on g1
sess1.run(...)
with g2.as_default():
# build your 2nd model
sess2 = tf.Session(graph=g2)
# do some work with sess2 on g2
sess2.run(...)
with g1.as_default():
# do some more work with sess1 on g1 
sess1.run(...)
with g2.as_default():
# do some more work with sess2 on g2
sess2.run(...)
sess1.close()
sess2.close()
  • 此处介绍了图形复制之间,以防您需要。
  • 您也可以查看变量reuse functionality

最新更新