我的项目是CNN 2d模型的可视化,我必须从检查点模型文件中获取NN层对象 . Tensorflow是否允许用户获取图层对象?
实际上,我只想要来自Conv2d或Relu的步幅或填充值 .
仅从检查点获取 Layer 对象很困难 . 但是您可以通过调用以编程方式获取卷积属性:
Layer
tf.get_default_graph().as_graph_def()
...假设您已将检查点恢复为默认图形 . 它返回图形节点列表(确切地说是GraphDef proto),其中还有 Conv2D 个节点,如下所示:
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 } } }
您只需找到与您感兴趣的特定图层对应的节点 .
1 回答
仅从检查点获取
Layer
对象很困难 . 但是您可以通过调用以编程方式获取卷积属性:...假设您已将检查点恢复为默认图形 . 它返回图形节点列表(确切地说是GraphDef proto),其中还有
Conv2D
个节点,如下所示:您只需找到与您感兴趣的特定图层对应的节点 .