【问题标题】:How can I test individual layers in TensorFlow?如何在 TensorFlow 中测试各个层?
【发布时间】:2017-11-29 21:13:30
【问题描述】:

我根据 DEEP MNIST Expert 教程构建了一个 7 层卷积网络。我又添加了两个卷积层。

一切运行良好,但我想尝试将 1024 x 10 数组直接输入全连接层,并绕过卷积层。

有什么方法可以在不重建整个网络的情况下做到这一点?

【问题讨论】:

    标签: python machine-learning tensorflow deep-learning convolution


    【解决方案1】:

    在卷积层和全连接层之间,为全连接层的输入创建一个占位符:input_to_fc = tf.placeholder_with_default(previous_layer, shape=(None, 1024*10))。您可以通过将输入直接馈送到input_to_fc 张量来绕过卷积层。

    例子:

    ...
    conv = tf.layers.conv2d(...)
    flatten = tf.layers.flatten(...)
    input_to_fc = tf.placeholder_with_default(flatten, shape=OUTPUT_SHAPE_OF_PREVIOUS_LAYER))
    fc = tf.layers.dense(input_to_fc, ...)
    

    【讨论】:

    • 几个问题:这里的形状只是一维的吗?如果是这样,为什么它不能是二维矩阵?二、FC为什么存在?看起来它只是扁平化 input_to_fc 张量的代码。第三,conv 可以是我拥有的任何 1024 x 10 张量,对吧?
    • 这只是一个示例,经过编辑使其更通用。您可以将 tf.placeholder_with_default () 插入到任何想要将输入直接传递到下面的层的位置。如果您不传递输入,则默认为上一层。
    • 非常感谢!
    猜你喜欢
    • 2021-09-23
    • 2021-05-27
    • 1970-01-01
    • 1970-01-01
    • 2018-10-11
    • 2022-06-25
    • 2018-07-27
    • 2018-03-10
    • 1970-01-01
    相关资源
    最近更新 更多