我有四个具有相同结构的不同模型,它们被用作“主要”问题的预测器。每次在“主要”问题中,我都会调用其中一个来提供预测。此外,使用新观察,我更新每个网络的权重。
目前,为了区分模型,我将它们保存在四个不同的ckpt
模型中,然后每次加载它们进行预测或更新。网络更新后,我再次保存。
此程序效果很好。问题是初始化变量,加载模型并再次保存它太昂贵了。每次我呼叫网络更新时,大约需要10秒,大约1秒用于培训,时间提醒用于初始化,加载和保存。
作为另一种方法,我试图让模型留在记忆中。但是,由于我有一个dnn.py
,我将其称为四个问题中的每一个,变量,参数等的名称是相同的。所以,TensorFlow
对它们感到困惑,它只是不起作用。
由于我可能有四个以上的预测变量(即使像22),因此创建具有不同变量名称的四个不同dnn.py
是不合理的。
我很感激以有效的方式编写程序的任何帮助。
最佳,
阿夫欣
答案 0 :(得分:1)
为每个训练步骤从磁盘读取变量听起来效率低下,您应重新组织网络以将这些值保留在内存中,即通过使用variable_scope将不同的变量集分开