Open lxgyChen opened 1 year ago
可以打印下ppyoloe head中forward eval中对应reg_dist_list和anchor_points的shape是否一致
可以打印下ppyoloe head中forward eval中对应reg_dist_list和anchor_points的shape是否一致 不一致,设置模型输入为640*640,Stride为[64,32,16,8]时,打印输出:
[INFO] [ppyoloe_head] [forward_eval] anchor_points.shape = [8500, 2] stride_tensor.shape = [8500, 1] feat.shape= [1, 576, 20, 20] [1, 288, 40, 40] [1, 144, 80, 80] [1, 48, 160, 160] [INFO] [ppyoloe_head] [forward_eval] cls_score_list.shape = [1, 80, 34000] [INFO] [ppyoloe_head] [forward_eval] reg_dist_list.shape = [1, 34000, 4]
我看了在Stride为[32,16,8]的正常情况下eg_dist_list和anchor_points都是34000的。是不是Stride最大只支持32?Stride为64时最小的feat.shape应该是10*10的
CSPResNet:
return_idx: [0, 1, 2, 3]
只是多加了一个backbone的P2层输出,从浅到深对应stride分别[4,8,16,32]而已,这样改只能叫P2,最深只有res5对应stride就是32最大了。fpn_strides: [32, 16, 8, 4]这样训练和测试才是对的。训练时fpn_strides错了不会报错,只是训的不对。
P6是要backbone后再加一层res block的,需要改backbone的代码。 可以参照 csp_darknet的P6 https://github.com/PaddlePaddle/PaddleYOLO/blob/release/2.5/ppdet/modeling/backbones/csp_darknet.py#L318
@nemonameless 你们没试过P6的模型吗,visdrone里有P2的config,可以用object365的预训练模型,但是P6改完也没有对应可用的预训练模型啊
问题确认 Search before asking
Bug组件 Bug Component
Validation
Bug描述 Describe the Bug
PPYOLOE+设置FPN-Stride为[64,32,16,8]时,可以训练,但Eval时报错。设置[32,16,8,4]时训练测试都没问题。 ppyoloe_plus_crn_p6.yml:
报错信息:
复现环境 Environment
Bug描述确认 Bug description confirmation
是否愿意提交PR? Are you willing to submit a PR?