深度学习【16】YAD2K,pytorch-caffe-darknet-convert,转换后概率不一样的问题

darknet转keras时,预测出来的概率偏差较大,主要原因是:

1、darknet的resize图片时用到了0.5的填充,具体可以看darknet的resize代码。

2、darknet的BN层中epsilon=0.000001,而YAD2K的BN层epsilon默认0.001。只要修改

 

 	conv_layer = (BatchNormalization(epsilon=0.000001,
                    weights=bn_weight_list))(conv_layer)	conv_layer = (BatchNormalization(epsilon=0.000001,
                    weights=bn_weight_list))(conv_layer)

 

darknet转pytorch时,原因是:

 

1、输入数据问题,darknet 转 keras的原因(1)

2、代码上的,将utils.py中get_region_boxes函数的only_objectness设置为0,;将plot_boxes中的

print('%s: %f' % (class_names[cls_id], cls_conf)改成
print('%s: %f' % (class_names[cls_id], cls_conf*box[4]))

 

你可能感兴趣的:(深度学习)