我的输入图像数据暂时是750x750x3 RGB图像.
在通过网络运行后,我使用shape [batch_size,750,2]的logits进行损失计算.
这是一个二进制分类 – 我这里有两个类,[0,1]在我的标签中(形状[batch_sizex750x750].这些进入损失函数,如下:
def loss(logits,labels,num_classes):
with tf.name_scope('loss mine'):
logits = tf.to_float(tf.reshape(logits,[-1,num_classes]))
#CHANGE labels type to int,for sparse_softmax...
labels = tf.to_int64(tf.reshape(labels,[-1]))
print ('shape of logits: %s' % str(logits.get_shape()))
print ('shape of labels: %s' % str(labels.get_shape()))
cross_entropy = tf.nn.sparse_softmax_cross_entropy_with_logits(logits,name='Cross_Entropy')
tf.add_to_collection('losses',cross_entropy)
loss = tf.add_n(tf.get_collection('losses'),name='total_loss')
return loss
这些是重塑后的logits和标签的形状:
shape of logits: (562