Tensorflow 两个图的结构比较

Tensorflow 两个图的结构比较,tensorflow,Tensorflow,在TensorFlow中有没有办法找出两个图是否具有相同的结构 我正在设计一个抽象类,它的各个实例应该表示不同的体系结构。我提供了一个定义图的abc.abstractmethod get()。不过,我还希望能够从磁盘加载一个经过预训练的图形。我想检查预训练图是否与具体类的get()方法中提到的定义相同 如何实现这种结构比较?您可以将当前图形的图形定义为str(tf.get\u default\u graph().as\u graph\u def()),并与之前的结果进行比较,以确保精确相等 此外

在TensorFlow中有没有办法找出两个图是否具有相同的结构

我正在设计一个抽象类,它的各个实例应该表示不同的体系结构。我提供了一个定义图的
abc.abstractmethod get()
。不过,我还希望能够从磁盘加载一个经过预训练的图形。我想检查预训练图是否与具体类的
get()
方法中提到的定义相同


如何实现这种结构比较?

您可以将当前图形的图形定义为
str(tf.get\u default\u graph().as\u graph\u def())
,并与之前的结果进行比较,以确保精确相等

此外,TensorFlow测试具有更高级的函数EqualGraphDef,它可以告诉您,即使图形格式发生了变化,两个图形也是相等的,也就是说,如果
实际
预期
作为GraphDef原型对象,您可以这样做

from tensorflow.python import pywrap_tensorflow
diff = pywrap_tensorflow.EqualGraphDefWrapper(actual.SerializeToString(),
                                              expected.SerializeToString())
assert not diff

EqualGraphDefWrapper
是否显示所有差异?如果我打印diff,它似乎只显示一个diff(如果有的话),但我在我的一个案例中期望不止一个diff,而且我似乎无法让它显示多个diff?为了澄清,我还看到了一个diff,例如:“名为‘save/StringJoin/inputs_1’的节点具有attr‘value’,其值为:Tensor,与预期的:Tensor不匹配这看起来就像一个散列问题,没有任何真正的区别,但我不能“继续”看是否还有其他区别。。