我根据研究论文建立了一个深度CNN,现在我正在尝试训练它。在我完成的所有卷积和反卷积之后,我得到了一个名为final的结果。
x = tf.placeholder(tf.float32, shape=[None, 7168])
y_ = tf.placeholder(tf.float32, shape=[None, 7168])
在我的模型中,我有一个大小为32x32x7的图像,其中每个像素都有相应的密度。模型的输出将是每个像素的标签。因此,我宣布了两个占位符,其中" x"表示输入和" y _"代表输出。
cross_entropy = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(labels=y_, logits=final))
现在我正在尝试训练模型,我有这条线
RequestNavigate("TabRegion", uri)
在训练模型时,我收到错误:logits和label必须大小相同:logits_size = [7168,1] labels_size = [1,7168] 标签是这样大小是有道理的,因为这是我宣布它的方式。 但是,我不明白为什么在打印出来时,为什么logits的大小为[7168,1]" final"具有形状(1,32,32,7,1)。
答案 0 :(得分:1)
只需tf.reshape
final
:
final = tf.reshape(final, [None, 7168])
虽然我不确定为什么在你拨打softmax_cross_entropy_with_logits
时会自动展平......