我用TensorFlow Python训练了两个模型,并导出为名为export1.meta
和export2.meta
的二进制文件。这两个文件在输入数据时各生成一个输出,分别是output1和output2。
我的问题是,是否可以将这两个图合并成一个大的图,这样就可以在一个执行中同时生成output1和output2。
任何评论都会有帮助。提前感谢!
回答:
我和当地的TensorFlow专家讨论了这个问题,简短的回答是“不能”;TensorFlow没有内置的功能来实现这一点。然而,你可以编写自定义的端点层(输入和输出),使用Python的进程管理中的同步操作,这样它们可以保持每个输入的并行处理,并连接输出。
理由
我喜欢这种方法,因为它可以利用多个特征来获得更高的准确性,而这些特征之间几乎没有或没有相关性。例如,你可以训练两个字符识别模型:一个用于识别数字,另一个用于区分左撇子和右撇子书写者。
这也允许你检查每个独立特征的内部核心的演变,而不受其他特征的相互依赖的影响:例如,数字‘8’的双环与右撇子书写的一般倾斜度。
我还预期,针对单个特征的模型会比一个全面的训练会话收敛得更快。
最后,很可能这些独立的模型可以用于混合和匹配的特征集。例如,训练另一个模型来区分字母,而你之前训练的左右手标记模型仍然可以对书写者的身份有一个相当准确的猜测。