python - 如何在 session 中运行多个图形 - Tensorflow API

标签 python session tensorflow models object-detection

Tensorflow API提供了很少的预训练模型,并允许我们使用任何数据集训练它们。

我想知道如何在一个 tensorflow session 中初始化和使用多个图。我想在两个图中导入两个经过训练的模型并将它们用于对象检测,但我迷失了尝试在一个 session 中运行多个图。

是否有任何特定的方法可以在一个 session 中处理多个图形?

另一个问题是,即使我为 2 个不同的图形创建了两个不同的 session 并尝试使用它们,我最终在第二个 session 中得到与第一个实例化 session 相似的结果。

最佳答案

每个Session 只能有一个Graph。话虽这么说,但根据您的具体尝试,您有多种选择。

第一个选项是创建两个单独的 session 并在每个 session 中加载一个图表。您提到您使用这种方法从每个 session 中得到了出乎意料的相似结果,但是如果没有更多详细信息,很难找出您的具体问题所在。我怀疑每个 session 都加载了相同的图表,或者当您尝试单独运行每个 session 时,同一个 session 运行了两次,但如果没有更多详细信息,则很难判断。

第二个选项是将两个图加载为主 session 图的子图。您可以在图形中创建两个范围,并为要在该范围内加载的每个图形构建图形。然后你可以把它们当作独立的图,因为它们之间没有联系。运行普通图形全局函数时,您需要指定这些函数适用的范围。例如,当使用其优化器对其中一个子图执行更新时,您只需要使用类似于 this answer 中所示的内容获取该子图范围的可训练变量。 .

除非您明确需要这两个图能够在 TensorFlow 图中以某种方式进行交互,否则我会推荐第一种方法,这样您就不需要跳过子图所需的额外环节(例如需要过滤您在任何给定时刻使用的范围,以及在两者之间共享图形全局事物的可能性)。

关于python - 如何在 session 中运行多个图形 - Tensorflow API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46617667/

相关文章:

python - 像 Matlab 一样在 numpy 中打印子数组

python - tensorflow 2.0 自定义训练循环的学习率

python - 如何使用 tensorflow 2.0 计算中位数?

c - 如何像在 PHP 中一样使用 c 处理 CGI 中的 session

android - JSESSIONID=0000fWm58im_RcpQXmWI8LlDdvg :-1 what does ":-1" resembles to?

tensorflow - 类型错误:VariableMetaclass._variable_v1_call() 获得意外的关键字参数 'experimental_enable_variable_lifting'

python - 当子类化 threading.Thread 时,我是否必须调用 super.join() ?

python - 如何在 jupyter notebook markdown 单元格中插入代码输出?

python - Keras属性错误: 'NoneType' object has no attribute 'endswith' in load_model

node.js - 如何从 express-session 获取当前 session 信息?