首页 文章

如何在Conv2D层Tensorflow中获得步幅值?

提问于
浏览
1

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

实际上,我只想要来自Conv2d或Relu的步幅或填充值 .

1 回答

  • 0

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

    tf.get_default_graph().as_graph_def()
    

    ...假设您已将检查点恢复为默认图形 . 它返回图形节点列表(确切地说是GraphDef proto),其中还有 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
        }
      }
    }
    

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

相关问题