首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >卷积网络的奇异图

卷积网络的奇异图
EN

Stack Overflow用户
提问于 2017-11-29 12:08:15
回答 1查看 55关注 0票数 1

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

我是不是做错了什么,或者第二个输入是从哪里来的?

非常感谢,托拜厄斯

已使用的模型功能:

代码语言:javascript
复制
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)

生成的图表:

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-11-29 12:15:23

我也曾在Tensorboard上出现过非常奇怪的关系。我认为这只是显示中的一个错误,而不是架构中的一个实际错误。

给我的图层取一个独特的名字为我解决了这个问题。使用name参数声明您的层:

代码语言:javascript
复制
    conv1 = tf.layers.conv1d(reshaped_features, filters=10, kernel_size=5, name="conv1")

告诉我这能解决你的问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47552504

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档