Closed ShihuaiXu closed 3 years ago
请问david,我用您的代码和在嵌入设设备上量化后的模型对比,precsion和recall的差别在5-10%,我希望减少部署在嵌入式设备上的量化损失,所以想将yolov3的置信度真值从1设置成16,y_true[l][b, j, i, k, 4] = 16,后处理时再除以16,请问我在loss.py的时候,需要对 confidence_loss = object_mask K.binary_crossentropy(true_objectness_probs, raw_pred[..., 4:5], from_logits=True) + (1 - object_mask) K.binary_crossentropy(object_mask, raw_pred[..., 4:5], from_logits=True) * ignore_mask 这段计算置信度损失的代码做哪些改动,计算loss时应该是加一个softmax或sigomid再做交叉熵损失 还是说直接做回归损失 或者说是否有别的损失函数可以用
我没有尝试过这种处理方式。YOLO的confidence_loss计算目前基本都是采用binary crossentropy方式,故相应的真值也应使用one-hot形式。在计算loss时,model的predict输出已经经过了sigmoid激活(from_logits=True)
from_logits=True
原来如此,谢谢david,我再尝试一下
请问david,我用您的代码和在嵌入设设备上量化后的模型对比,precsion和recall的差别在5-10%,我希望减少部署在嵌入式设备上的量化损失,所以想将yolov3的置信度真值从1设置成16,y_true[l][b, j, i, k, 4] = 16,后处理时再除以16,请问我在loss.py的时候,需要对 confidence_loss = object_mask K.binary_crossentropy(true_objectness_probs, raw_pred[..., 4:5], from_logits=True) + (1 - object_mask) K.binary_crossentropy(object_mask, raw_pred[..., 4:5], from_logits=True) * ignore_mask 这段计算置信度损失的代码做哪些改动,计算loss时应该是加一个softmax或sigomid再做交叉熵损失 还是说直接做回归损失 或者说是否有别的损失函数可以用