【发布时间】:2018-06-06 21:51:32
【问题描述】:
比较两个 GCMLE 部署的预测模型并确定其图表中的任何差异的最简单方法是什么?我已经目视检查了两个张量板,它们看起来相同(应该是)。但是,我有代码来可视化它们的激活(基本上只是从图中加载权重并手动执行所有前向步骤),并且在其中一张图上的某个地方,我手写的前向传递计算与 tensorflow 的前向传递计算不同。用于训练模型的代码应该是相同的,但相同的前向传递似乎只对其中一个模型是准确的。有什么方法可以比较结构吗?
除了检查张量板之外,我还分别尝试了以下内容:
model1_tensors = [n.name for n in tf.get_default_graph().as_graph_def().node]
model2_tensors = [n.name for n in tf.get_default_graph().as_graph_def().node]
最终,基于比较每个已保存模型的 set() 差异:[n.name for n in tf.get_default_graph().as_graph_def().node],张量名称等也没有明显差异。
鉴于相同的前向传递代码为一个模型产生了准确的结果,而对另一个模型没有产生准确的结果,我非常相信这些图表是不同的,但我在指出差异是什么时摸不着头脑。
更进一步,我实际上确信我知道计算分歧的确切层(它与批处理规范层),所以如果有一种方法可以输出进入特定层的所有张量,那么我也许能够确定还有其他事情正在做。
【问题讨论】:
标签: tensorflow google-cloud-ml