Skip to main content
 首页 » 编程设计

python之Tensorflow:如何在训练时将模型保存在内存中

2024年10月01日25oomusou

我在 tensorflow 中的训练过程涉及在两个模型之间切换。 而使用tf.saver从硬盘恢复模型确实很耗时(在我的代码中,切换很频繁),因此,我想知道是否有一种方法可以将模型参数存储在内存中并恢复它们从内存里。我的模型很小,完全可以存储在 RAM 中。 stackoverflow 提供了一个答案。 Storing tensorflow models in memory但是,我不太明白这是如何工作的。有谁知道如何实现这个目标?谢谢。

请您参考如下方法:

您应该像这样使用两个单独的图表:

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() 

你实际上不需要 with 语句,一旦你创建了 sess1 和 sess2 你就可以使用它们,它们'您将引用正确的图表,但在您仍在习惯 TF 如何处理全局变量的情况下,每当您使用该图表时设置默认图表可能是一种很好的形式。