HTCN icon indicating copy to clipboard operation
HTCN copied to clipboard

关于训练自己数据集及batch size设置问题

Open linchunmian opened this issue 3 years ago • 5 comments

作者好,我想用你的方法来训练自己的数据,碰到以下两个问题,想请教下:

  1. 在训练过程中,proposal_target_layer_cascade.py中类方法_ProposalTargetLayer下的bg_num_rois和fg_num_rois这两个参数经常出现异常而导致训练终端,即二者都等于0,出现raise错误。这可能是什么原因呢?此外,我检查了这两个参数的计算由来,是通过max_overlap结果与所设置阈值比较来决定是fg还是bg,这部分同样存在一个问题就是cfg.TRAIN.BG_THRESH_LO这个参数,无论我在config.py文件中如何设置,打印出来的值始终为0.0,这是什么原因呢。此外,还让我不解的是,这部分代码写的是当max_overlap值处于cfg.TRAIN.BG_THRESH_LO和cfg.TRAIN.BG_THRESH_HI之间时判定为bg样本,即0.0~0.5认为是bg。那我上诉的第一个问题,在实际训练过程出现fg_num_rois和bg_num_rois都为0的情况就变得很矛盾了,请问你有什么好的建议和想法吗,我困惑了很久。
  2. 对于训练batch_size的设置,代码默认是1,请问只能设置为1吗?我有两个疑惑,首先设置为1每次只喂给模型1个样本,这样训练出来的模型是否会有泛化能力呢?(按以往的经验,应该是batsh size越大训练出来的模型效果越好,而且1的设置有些奇怪),另外就是当我修改这个bs参数,例如bs=16,这时会报错:这个错误位置是出现在resnet_HTCN.py中,在self.RandomLayer这部分的矩阵计算会出现前后维度不匹配,这个不匹配体现在某一维度的大小是原来大小与现在bs=16的乘积,请问这部分的错误是什么原因呢?(如果bs=1则不会有这个问题,乘上1还是本身的维度大小) 非常期待你的答复,为我解答疑惑,感谢!

linchunmian avatar Nov 04 '21 14:11 linchunmian

我也有与2同样的问题,batch_size应该怎样修改呢

Alice-k98 avatar Nov 19 '21 08:11 Alice-k98

诚心请问你们在什么环境下跑的,CUDA版本是多少?用的什么显卡?我们实验室的3090跑不了这个版本的pytorch和cuda

ChuQiaosong avatar Nov 19 '21 12:11 ChuQiaosong

诚心请问你们在什么环境下跑的,CUDA版本是多少?用的什么显卡?我们实验室的3090跑不了这个版本的pytorch和cuda

我看文件写的CUDA10,pytorch1.0.1,今天安了个CUDA10,准备试一下,不知道其他版本的cuda能不能正常运行

yanjinwei143 avatar Dec 02 '21 15:12 yanjinwei143

l have the same problem about 1 , did you solve it? thanks a lot!

PWSong-ustc avatar Mar 16 '22 15:03 PWSong-ustc

您好,请问这两个问题您找到解决方法了吗,如果您已经解决该问题,方便与我分享一下解决办法吗,这个问题困扰了我很久,十分感谢@ChunmianLin

chengxy1998 avatar Apr 19 '22 03:04 chengxy1998