如何在 Conv2D 层张量流中获取步幅值?



我的项目是CNN 2d模型的可视化,我必须从检查点模型文件中获取一个NN层对象。Tensorflow是否允许用户获取图层对象?

事实上,我只是想要来自 Conv2d 或 Relu 的步幅或填充值。

很难仅从检查点获取Layer对象。 但是您可以通过调用以下函数以编程方式获取卷积属性:

tf.get_default_graph().as_graph_def()

。假设您已将检查点还原为默认图形。它返回图形节点的列表(确切地说GraphDef原型(,其中还有Conv2D节点,如下所示:

node {
name: "conv2d/Conv2D"
op: "Conv2D"
input: "input_layer"
input: "conv2d/kernel/read"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "data_format"
value {
s: "NHWC"
}
}
attr {
key: "padding"
value {
s: "SAME"
}
}
attr {
key: "strides"
value {
list {
i: 1
i: 1
i: 1
i: 1
}
}
}
attr {
key: "use_cudnn_on_gpu"
value {
b: true
}
}
}

您只需要找到与您感兴趣的特定层对应的节点。

最新更新