一次运行两个tensorflow图

一次运行两个tensorflow图,tensorflow,Tensorflow,我已经为稍微不同的OCR任务培训了两个模型,我想在生产系统中同时运行这两个模型 我有一个类可以启动会话并加载保存的模型。我遇到的问题是,这两个模型都使用相同的名称保存了变量,因此当我尝试加载它们时,它们会发生冲突 有没有办法在各自的会话中或在各自的图形上运行它们?最简单的选择是在不同的图形中构建两个模型,并为每个图形启动单独的会话。但是,每个会话都拥有自己的设备(CPU,可能还有GPU),因此每个模型都有单独的线程池,这可能会导致次优的调度行为。要获得良好的性能,必须仔细使用tf.Session

我已经为稍微不同的OCR任务培训了两个模型,我想在生产系统中同时运行这两个模型

我有一个类可以启动会话并加载保存的模型。我遇到的问题是,这两个模型都使用相同的名称保存了变量,因此当我尝试加载它们时,它们会发生冲突


有没有办法在各自的会话中或在各自的图形上运行它们?

最简单的选择是在不同的图形中构建两个模型,并为每个图形启动单独的会话。但是,每个会话都拥有自己的设备(CPU,可能还有GPU),因此每个模型都有单独的线程池,这可能会导致次优的调度行为。要获得良好的性能,必须仔细使用
tf.Session
配置选项


或者,您可以将两个模型组合在同一个图中,并使用单个会话。正如您所指出的,这两个模型的变量必然有不同的名称。因此,为了实现这一点,在加载到模型中时,您需要为-
变量
映射提供一个明确的名称。

如果OP负责创建模型,那么在不同的
名称\u范围下创建每个模型就足够了吗?它不如在加载时添加显式前缀那么健壮,但在受控情况下可能会工作得很好。如何准确地组合两个模型?您是否解决了问题?你有没有试过用两张图?