【问题标题】:How to access kernel variables in tf.layers.conv2d?如何访问 tf.layers.conv2d 中的内核变量?
【发布时间】:2023-03-29 18:55:01
【问题描述】:

我想可视化卷积层中的权重以观察它们如何变化。

但我找不到在tf.layers.conv2d 中访问卷积层权重的方法

谢谢

【问题讨论】:

    标签: tensorflow conv-neural-network tensorboard


    【解决方案1】:

    您可以通过名称访问该变量:

    weights = sess.run('<name_of_your_layer>/weights:0', feed_dict=...)
    

    如果您不确定变量的名称,请打印 tf.trainable_variables() 看看它可能是什么

    【讨论】:

      【解决方案2】:

      由此获得灵感:How to get CNN kernel values in Tensorflow

      确保给它一个名字:

      conv_layer = tf.layers.conv2d(..., name='YOUR_NAME', ...)
      

      像这样访问变量:

      gr = tf.get_default_graph()
      conv1_kernel_val = gr.get_tensor_by_name('YOUR_NAME/kernel:0').eval()
      conv1_bias_val = gr.get_tensor_by_name('YOUR_NAME/bias:0').eval()
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-11-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-10-02
        • 1970-01-01
        • 2013-01-21
        相关资源
        最近更新 更多