【问题标题】:Strange graph for convolutional networks卷积网络的奇怪图
【发布时间】:2017-11-29 20:15:23
【问题描述】:

当我构建一个卷积模型时,我在 TensorBoard 中得到了一个非常奇怪的结果图。如您所见,第二个卷积层不仅将池化层作为输入,而且还有另一个卷积层。 在我看来,根据我的网络研究,这应该是一个直的垂直图,每层一个输入和一个输出(除了第一个和最后一个)。

我做错了什么或者第二个输入来自哪里?

非常感谢, 托比亚斯

使用的模型函数:

def model_fn(features, labels, mode, params):
    is_training = (mode == tf.estimator.ModeKeys.TRAIN)

    reshaped_features = tf.reshape(features, (-1, features.shape[1], 1))

    # Yes, I have only 1d input to my conv network
    conv1 = tf.layers.conv1d(reshaped_features, filters=10, kernel_size=5)
    pool1 = tf.layers.max_pooling1d(conv1, pool_size=3, strides=1)
    conv2 = tf.layers.conv1d(pool1, filters=10, kernel_size=5)
    conv_2_flat = tf.contrib.layers.flatten(conv2)

    logits = fully_connected(conv_2_flat, 2)

    if mode == tf.estimator.ModeKeys.PREDICT:
        return tf.estimator.EstimatorSpec(
            mode=mode,
            predictions={'logits': logits})

    loss = tf.losses.sparse_softmax_cross_entropy(labels=labels, logits=logits)

    eval_metric_ops = {
            'accuracy': tf.metrics.mean(tf.nn.in_top_k(predictions=logits, targets=labels, k=1)),
    }

    optimizer = tf.train.AdamOptimizer(params['learning_rate'])
    training_op = optimizer.minimize(loss)

    return tf.estimator.EstimatorSpec(
        mode=mode,
        loss=loss,
        train_op=training_op,
        eval_metric_ops=eval_metric_ops)

结果图:

【问题讨论】:

    标签: tensorflow tensorboard


    【解决方案1】:

    我曾经在 Tensorboard 中也出现过非常奇怪的连接。我认为这只是显示中的错误,而不是架构中的实际错误。

    为我的图层赋予唯一的名称为我解决了这个问题。使用名称参数声明您的图层:

        conv1 = tf.layers.conv1d(reshaped_features, filters=10, kernel_size=5, name="conv1")
    

    告诉我这是否能解决您的问题。

    【讨论】:

    • 哇,这确实解决了问题!感谢您的快速答复!
    猜你喜欢
    • 2018-04-07
    • 2017-01-01
    • 1970-01-01
    • 2015-04-09
    • 2019-08-18
    • 2018-06-20
    • 2019-02-11
    • 1970-01-01
    相关资源
    最近更新 更多