Python &引用;掩码不能是标量“;在keras.max()函数中
当我在作业中使用Keras.max(box_scores,keep_dims=False)时,我得到了一个错误,它是“掩码不能是标量”。 但是当我使用Keras.max(box_scores,axis=-1,keep_dims=False)时,我得到了结果。但是我不明白。这个函数中axis=-1的作用是什么来纠正这个错误Python &引用;掩码不能是标量“;在keras.max()函数中,python,tensorflow,keras,neural-network,conv-neural-network,Python,Tensorflow,Keras,Neural Network,Conv Neural Network,当我在作业中使用Keras.max(box_scores,keep_dims=False)时,我得到了一个错误,它是“掩码不能是标量”。 但是当我使用Keras.max(box_scores,axis=-1,keep_dims=False)时,我得到了结果。但是我不明白。这个函数中axis=-1的作用是什么来纠正这个错误 box_scores = box_confidence * box_class_probs box_classes = K.argmax(box_scores, axis=-1
box_scores = box_confidence * box_class_probs
box_classes = K.argmax(box_scores, axis=-1)
box_class_scores = K.max(box_scores,keepdims=False)
filtering_mask = ((box_class_scores)>=threshold)
scores = tf.boolean_mask(box_class_scores,filtering_mask ,name="filtering_scores")
boxes = tf.boolean_mask(boxes,filtering_mask ,name="filtering_boxes")
classes = tf.boolean_mask(box_classes,filtering_mask ,name="filtering_classes")
这里,box_置信度=形状张量(19,19,5,1),
盒子——形状张量(19,19,5,4),
box_class_probs——形状张量(19,19,5,80),
和threshold——实际值,如果[highest class probability score对于
max
函数轴
参数指定计算最大值的维度列表(或一个维度或所有维度的None
)。当使用负整数时,它们的解释类似于Python数组的负标记(即-1
表示最后一个维度,-2
-second from last,等等)
因此,当您不指定轴
参数时,将使用默认值无
,从而产生标量输出(即张量中所有值的最大值)。当您指定轴=-1时,只有最后一个维度被减少,因此从形状张量(a,b,c,d)
可以得到形状张量(a,b,c)
奇怪的是,keras
文档没有在这里指定它