AdelaiDet icon indicating copy to clipboard operation
AdelaiDet copied to clipboard

ABCNet训练官方的模型得到的结果识别率特别低

Open Lili-xiong opened this issue 3 years ago • 10 comments

Pretrain/attn_R_50.yaml设置如下:

BASE: "Base-Pretrain.yaml" MODEL: WEIGHTS: "detectron2://ImageNetPretrained/MSRA/R-50.pkl" RESNETS: DEPTH: 50 BATEXT: RECOGNIZER: "attn" SOLVER: IMS_PER_BATCH: 1
BASE_LR: 0.001
STEPS: (160000, 220000) MAX_ITER: 520000 CHECKPOINT_PERIOD: 20000 TEST: EVAL_PERIOD: 20000 OUTPUT_DIR: "output/batext/pretrain/attn_R_50"

得到的结果: “E2E_RESULTS: precision: 0.004122011541632316, recall: 0.0027442371020856204, hmean: 0.0032948929159802307” "DETECTION_ONLY_RESULTS: precision: 0.8299418604651163, recall: 0.5158084914182475, hmean: 0.6362116991643454"

请问我该如何修改提高E2E的结果呢?期待你们的回复。非常感谢!

Lili-xiong avatar Dec 08 '21 01:12 Lili-xiong

你的batch对吗,只有1个,原先不是8个,26W?少了一大半吧

km1562 avatar Dec 12 '21 08:12 km1562

你的batch对吗,只有1个,原先不是8个,26W?少了一大半吧

我的batch只能设置为1,设置超过1会显示cuda报错,我只有一个gpu。

Lili-xiong avatar Dec 13 '21 06:12 Lili-xiong

你的batch对吗,只有1个,原先不是8个,26W?少了一大半吧

我的batch只能设置为1,设置超过1会显示cuda报错,我只有一个gpu。

那当然精度不够啊,你都没有原先的训练量。拉长batch,这个网络训练特别久

km1562 avatar Dec 13 '21 12:12 km1562

你的batch对吗,只有1个,原先不是8个,26W?少了一大半吧

我的batch只能设置为1,设置超过1会显示cuda报错,我只有一个gpu。

那当然精度不够啊,你都没有原先的训练量。拉长batch,这个网络训练特别久

拉长batch是指增大batch嘛?但我设置为超过2就会报错无法再训练了

Lili-xiong avatar Dec 14 '21 08:12 Lili-xiong

你的batch对吗,只有1个,原先不是8个,26W?少了一大半吧

我的batch只能设置为1,设置超过1会显示cuda报错,我只有一个gpu。

那当然精度不够啊,你都没有原先的训练量。拉长batch,这个网络训练特别久

拉长batch是指增大batch嘛?但我设置为超过2就会报错无法再训练了

一个增加batch数量,一个是把batch的总数量调大, 你的batch超过1个cuda报错是显存不够了,不够就拿总的数量来补

km1562 avatar Dec 16 '21 07:12 km1562

请问您调大batch总数量了吗 在哪里调 请问您解决问题了吗

Maweining avatar Mar 02 '22 08:03 Maweining

image

km1562 avatar Mar 03 '22 11:03 km1562

调大之后就会out of cuda

Maweining avatar Mar 17 '22 08:03 Maweining

调大之后就会out of cuda

config里面: SOLVER: IMS_PER_BATCH: 8 BASE_LR: 0.001 STEPS: (80000, ) MAX_ITER: 100000 CHECKPOINT_PERIOD: 10000

总得训练: IMS_PER_BATCH: 8 * MAX_ITER: 100000 = 800000个batch,如果你把batch调低,请把max_iter调大,假设batch改为1,max_iter则改为800000,达到相同的batch,相应的STEPS也要调整比例,因为这是学习率衰减

km1562 avatar Mar 18 '22 02:03 km1562

调大之后就会out of cuda

config里面: SOLVER: IMS_PER_BATCH: 8 BASE_LR: 0.001 STEPS: (80000, ) MAX_ITER: 100000 CHECKPOINT_PERIOD: 10000

总得训练: IMS_PER_BATCH: 8 * MAX_ITER: 100000 = 800000个batch,如果你把batch调低,请把max_iter调大,假设batch改为1,max_iter则改为800000,达到相同的batch,相应的STEPS也要调整比例,因为这是学习率衰减

我用的原始代码的配置文件,为嘛也很低???我只用了totoaltext的数据进行微调。望大佬解答,他这个微调难道要冻住前面的层数??

dreamlychina avatar Nov 21 '22 08:11 dreamlychina