Tensorflow 张量流形误差

Tensorflow 张量流形误差,tensorflow,neural-network,tf-slim,Tensorflow,Neural Network,Tf Slim,我试图在一些数据上使用CNN,但我的损失函数中有一个错误,因为我的模型的输出是[100010004000]的形状,而它应该是[10004000]。本例中的前1000个是批量大小,4000个是我拥有的类的数量,因为这是一个分类问题 我想我可能需要在完全连接层之后再次使用tf.reforme()函数来获得正确的输出,但我不太确定如何才能做到这一点。我已经尝试了tf.reforme(输出[-14000]),但仍然保留了其他1000个 这是我的密码: cnn_input = tf.reshape

我试图在一些数据上使用CNN,但我的损失函数中有一个错误,因为我的模型的输出是[100010004000]的形状,而它应该是[10004000]。本例中的前1000个是批量大小,4000个是我拥有的类的数量,因为这是一个分类问题

我想我可能需要在完全连接层之后再次使用tf.reforme()函数来获得正确的输出,但我不太确定如何才能做到这一点。我已经尝试了tf.reforme(输出[-14000]),但仍然保留了其他1000个

这是我的密码:

    cnn_input = tf.reshape(input, [-1, 1000, 1])
    net = slim.conv2d(cnn_input, 128, [3])
    net = slim.pool(net, [2], "MAX")
    output = slim.fully_connected(net, num_classes, activation_fn=tf.nn.softmax)
    return output
基本上,我的输出需要是秩2的形状,但出于某种原因,它变成了3维。我需要输出的形状为[10004000],即批量大小x num_类

任何帮助都将不胜感激。提前谢谢

顺便说一下,我正在使用tf slim库


编辑:tf.flatten会在完全连接的层之前工作吗?

我遇到了同样的错误。(链接自)表示“完全连接”操作应该使输出平坦,但实际上并非如此。正如您所建议的,在最后两个完全连接的操作之前,我刚刚使用了slim.flatte,但我还没有具体的证据表明它有效

在6个月没有评论的情况下,我认为对其他人来说,有什么总比没有好,但如果其他人有更多的见解,我将不胜感激