efficientdet-tf2
efficientdet-tf2 copied to clipboard
loss一直降,但是预测出来的框完全不对
你好,我这训练自己的数据,都是小物体,都在30pixel以下,训练集上loss下降很快,第一阶段训练完,loss较低,但是预测没有任何框,第二阶段训练后,loss略有上升,预测的框全是大框,和标注完全对不上

这个loss要降到0.几,你的图片很少?
这个loss要降到0.几,你的图片很少?
我有八张gpu,这个loss应该是reduce_sum的结果,图片数量确实很少,平均一张图有十来个目标,训练集一百张,验证集20张。 贴图的loss是第二阶段的loss,第一阶段的loss差不多降到了6左右,6除以8应该也就是不到1了。 我先检测了一遍输入数据,解码回原图没有问题,这是我解码部分的代码 ` from utils.utils import BBoxUtility from utils.anchors import get_anchors
priors = get_anchors(640)
bbox_util = BBoxUtility(1, priors)
tf_record_path = 'D:/datasets/bjod/'
train_datasets, val_data = ZipDataset(tf_record_path, 1, 96, bbox_util, 1, crop_size=[640, 640, 3],
roi_path='D:/datasets/bjod/roi_test/').prepare(True)
for parse_image, t1, t2, file_name in tqdm(train_datasets):
parse_image = tf.squeeze(parse_image,axis = 0)
parse_image = parse_image * 255.0
parse_image = parse_image.numpy().astype(np.uint8)
t1 = tf.squeeze(t1, axis=0).numpy()
indx = []
for i,a in enumerate(t1):
if a[4] == 1.0:
indx.append(i)
decoded_bbox = bbox_util.decode_boxes(mbox_loc=t1, mbox_priorbox=priors)
for cc in indx:
xmin = int(decoded_bbox[cc][0] * 640)
ymin = int(decoded_bbox[cc][1] * 640)
xmax = int(decoded_bbox[cc][2] * 640)
ymax = int(decoded_bbox[cc][3] * 640)
cv2.rectangle(parse_image, (xmin, ymin), (xmax, ymax), (255, 0, 255), 1)
cv2.imshow('h', parse_image)
cv2.waitKey(0)
`
增大训练集再说,我做过归一化了兄弟
增大训练集再说,我做过归一化了兄弟
我之前用fpn 跑过该数据集,验证集map在0.4左右,也用过tf自带的object detection aip中的efficientdet跑过,训练集的map能达到0.7,但是验证集只有0.1