zhengdq99
zhengdq99
代码里面有些问题,我很疑惑。 1.cls_loss里面没有进行正样本筛选 pred_pos = preds[batch_index][mask[batch_index]] target_pos = target_pos[mask[batch_index]] 2.backbone里面的fc层之前的pooling是错误的,改为:self.avgpool = nn.AdaptiveAvgPool2d((1, 1)),当然目标检测没有用到 3.加载resnet预训练模型的时候,没有去掉top if pretrained: model_dict = model.state_dict() pretrained_dict = torch.load("./checkpoints/resnet50-19c8e357.pth") if not if_include_top: pretrained_dict = {k: v for k,...
_gen_level_targets里面这些代码没有用到 # cnt_logits = cnt_logits.permute(0, 2, 3, 1) # cnt_logits = cnt_logits.reshape((batch_size, -1, 1)) # reg_preds = reg_preds.permute(0, 2, 3, 1) # reg_preds = reg_preds.reshape((batch_size, -1, 4)) # 把点数放中间
训练voc,cnt_loss不收敛,reg_loss到0.1左右也停了。  测试结果都是错误的 
训练了很多epoch,是从保存的模型中继续训练。
> @zhengdq99 > 创建模型时没有fc层,也就不用管池化层。在resnet中将strict参数设为False即可。_gen_level_targets中那些可以注释掉。分类不需要进行正样本筛选。 > 不给出训练参数无从评价。可能原因:batch size太小,学习率太大等等。centerness在batch size较小时难以收敛。 > > ``` > if if_include_top: > self.fc = nn.Linear(512 * block.expansion, num_classes) > ``` 非常感谢
我最近才买了深度学习工作站,回头按照您的参数进行训练。
好的,谢谢大佬指点。感激不尽。
在图像尺寸方面,我感觉fcos不需要严格按照图像原有的长宽比。 用opencv直接进行相同尺寸的缩放,不会影响结果吧?而且内存占用还少。 h_img, w_img, _ = image.shape h_in, w_in = input_ksize scale_h = h_in / h_img scale_w = w_in / w_img image_resized = cv2.resize(image, (w_in, h_in)) image_paded = np.zeros(shape=[h_in, w_in,...
嗯,我回头做几组实验。 东强 ------------------ Original ------------------ From: xxxmy