logits和标签必须是可广播的:logits_size = [82944,2] labels_size = [90000,2]

时间:2018-08-29 12:54:10

标签: windows python-3.x tensorflow

我正在使用带有MobileUNet模型的Tensorflow进行视网膜血管语义分割的项目,并且收到了以下错误消息:

    InvalidArgumentError (see above for traceback): logits and labels must 
    be broadcastable: logits_size=[82944,2] labels_size=[90000,2] 
[[Node: softmax_cross_entropy_with_logits_sg = SoftmaxCrossEntropyWithLogits[T=DT_FLOAT, 
_device="/job:localhost/replica:0/task:0/device:CPU:0"](softmax_cross_entropy_with_logits_sg/Reshape,
softmax_cross_entropy_with_logits_sg/Reshape_1)]]

我的代码如下:

network=network = build_mobile_unet(net_input, preset_model = args.model, num_classes=num_classes) 
net_input = tf.placeholder(tf.float32,shape=[None,None,None,3]) 
net_output = tf.placeholder(tf.float32,shape=[None,None,None,num_classes])
losses = tf.nn.softmax_cross_entropy_with_logits(logits=network, labels=net_output) 
cost = tf.reduce_mean(losses)

opt = tf.train.AdamOptimizer(0.001).minimize(cost)

init = tf.initialize_all_variables() _,current = sess.run([opt,cost],feed_dict = {net_input:input_image_batch,net_output:segmented_image_batch})

输入图像为300x300,并且在RGB色彩空间中。输出为二进制图像,其大小与输入相同。

有人可以帮我吗?

2 个答案:

答案 0 :(得分:0)

我们回答了这个问题,该问题也与体系结构有关在以下链接中了解此问题 Input to reshape is a tensor with 37632 values, but the requested shape has 150528 让我们知道您是否遇到任何问题

答案 1 :(得分:0)

同样的问题发生在我身上。当我们使用 label_size 超过数据集中的类数时就会出现这种情况。

在最后一个全连接层(密集)中,我使用了 46,但在我的数据集中只有 38 个类。所以当我使用 38 而不是 46 时,问题解决了。