张量流API https://github.com/tensorflow/models/tree/master/research/object_detection提供了一些预先训练的模型,并允许我们使用任何数据集来训练它们。
我想知道如何在一个张量流会话中初始化和使用多个图。我想在两个图中导入两个经过训练的模型,并利用它们进行对象检测,但我在尝试在一个会话中运行多个图时迷失了方向。
是否有任何特定方法可以在一个会话中处理多个图表?
另一个问题是,即使我为两个不同的图表创建两个不同的会话并尝试使用它们,我最终会在第二个会话中得到与第一个实例化会话相似的结果。
Each Session
只能有一个Graph
。话虽这么说,根据您具体想要做什么,您有几个选择。
第一个选项是创建两个单独的会话并将一个图表加载到每个会话中。您提到,使用这种方法,您从每次会话中都获得了出乎意料的相似结果,但如果没有更多详细信息,很难弄清楚您的案例具体存在什么问题。我怀疑要么将相同的图表加载到每个会话中,要么当您尝试单独运行每个会话时,同一会话会运行两次,但如果没有更多详细信息,则很难判断。
第二个选项是将两个图作为主会话图的子图加载。您可以在图表中创建两个范围,并为要在该范围内加载的每个图表构建图表。然后你可以将它们视为独立的图,因为它们之间没有联系。运行普通图全局函数时,您需要指定这些函数适用的范围。例如,当使用优化器对其中一个子图执行更新时,您只需要使用类似于中所示的内容来获取该子图范围的可训练变量这个答案 https://stackoverflow.com/questions/36533723/tensorflow-get-all-variables-in-scope.
除非您明确需要两个图能够在 TensorFlow 图中以某种方式进行交互,否则我会推荐第一种方法,这样您就不需要跳过子图所需的额外环节(例如需要过滤哪些子图)确定您在任何给定时刻的工作范围,以及在两者之间共享图形全局事物的可能性)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)