yolox-pytorch icon indicating copy to clipboard operation
yolox-pytorch copied to clipboard

发现的几个问题:路径

Open znsoftm opened this issue 2 years ago • 7 comments

  1. 主要是路径问题 , 在config.py中修改路径后,还会去/data/dataset/coco_dataset下找数据 2 目标的类名,不需要写在config.py中吧,直接从数据中读
  2. 不确定是不是本程序的问题,wsl2中的linux下暴显存(3090 24G显存)
  3. 能否支持预训练模型? 比如我要训练自己的目标检测类,数据量一般的情况下,没预训练模型不方便

znsoftm avatar Jul 29 '21 23:07 znsoftm

谢谢提出的问题。

  1. 可以看下 train.sh,里面有传入dataset_path,会给config.py的数据路径重新赋值,可以把这个里面的给删掉,后面我更新的时候注意这点。类别名称可以在json中获取,但是考虑到真正部署的时候还带一个json文件比较麻烦,最后就写在配置文件中
  2. 不好意思,我一直在ubuntu下测试的,win下只调通了cpu版的。后面有时间会测试一下
  3. 这个我也在训练,完成后会放出来,便于finetune

zhangming8 avatar Jul 30 '21 03:07 zhangming8

  1. 主要是路径问题 , 在config.py中修改路径后,还会去/data/dataset/coco_dataset下找数据 2 目标的类名,不需要写在config.py中吧,直接从数据中读
  2. 不确定是不是本程序的问题,wsl2中的linux下暴显存(3090 24G显存)
  3. 能否支持预训练模型? 比如我要训练自己的目标检测类,数据量一般的情况下,没预训练模型不方便

我用 yolox-nano 训练的时候也遇到显存不够的情况了,因为之前还有别的模型在训练,现在重新在一块gpu 上再训练一次

jolt2017 avatar Jul 30 '21 05:07 jolt2017

  1. 主要是路径问题 , 在config.py中修改路径后,还会去/data/dataset/coco_dataset下找数据 2 目标的类名,不需要写在config.py中吧,直接从数据中读
  2. 不确定是不是本程序的问题,wsl2中的linux下暴显存(3090 24G显存)
  3. 能否支持预训练模型? 比如我要训练自己的目标检测类,数据量一般的情况下,没预训练模型不方便

我用 yolox-nano 训练的时候也遇到显存不够的情况了,因为之前还有别的模型在训练,现在重新在一块gpu 上再训练一次

可以试一下把多尺寸训练关闭,多尺寸训练占用显存变化较大。opt.random_size = (20, 21),另外train.sh里面传的有batch_size 这里也可以调小一下

zhangming8 avatar Jul 30 '21 06:07 zhangming8

  1. 主要是路径问题 , 在config.py中修改路径后,还会去/data/dataset/coco_dataset下找数据 2 目标的类名,不需要写在config.py中吧,直接从数据中读
  2. 不确定是不是本程序的问题,wsl2中的linux下暴显存(3090 24G显存)
  3. 能否支持预训练模型? 比如我要训练自己的目标检测类,数据量一般的情况下,没预训练模型不方便

我用 yolox-nano 训练的时候也遇到显存不够的情况了,因为之前还有别的模型在训练,现在重新在一块gpu 上再训练一次

可以试一下把多尺寸训练关闭,多尺寸训练占用显存变化较大。opt.random_size = (20, 21),另外train.sh里面传的有batch_size 这里也可以调小一下

(1)这里面多尺度训练要怎么改能,我现在面临的任务是 输入图像尺寸是 1280x720 ,但是检测目标一般在 20x20左右,并且一张图像里可能平均只有 3~4个左右目标。想问下 这里的 random_size 是啥意思。

(2)我现在把代码修改成,可以在指定gpu 跑,但是,跑起来还是发现 0 gpu会占用一部分显存大概 800M 显存,和训练指定的 gpu 是同一个 PID,不知道是怎么回事。

(3) 企业微信截图_16276329684390 这里我改成 这样了,否则 grid device 在 gpu 0上 , 不是我设置的 gpu 3

jolt2017 avatar Jul 30 '21 08:07 jolt2017

  1. 主要是路径问题 , 在config.py中修改路径后,还会去/data/dataset/coco_dataset下找数据 2 目标的类名,不需要写在config.py中吧,直接从数据中读
  2. 不确定是不是本程序的问题,wsl2中的linux下暴显存(3090 24G显存)
  3. 能否支持预训练模型? 比如我要训练自己的目标检测类,数据量一般的情况下,没预训练模型不方便

我用 yolox-nano 训练的时候也遇到显存不够的情况了,因为之前还有别的模型在训练,现在重新在一块gpu 上再训练一次

可以试一下把多尺寸训练关闭,多尺寸训练占用显存变化较大。opt.random_size = (20, 21),另外train.sh里面传的有batch_size 这里也可以调小一下

(1)这里面多尺度训练要怎么改能,我现在面临的任务是 输入图像尺寸是 1280x720 ,但是检测目标一般在 20x20左右,并且一张图像里可能平均只有 3~4个左右目标。想问下 这里的 random_size 是啥意思。

(2)我现在把代码修改成,可以在指定gpu 跑,但是,跑起来还是发现 0 gpu会占用一部分显存大概 800M 显存,和训练指定的 gpu 是同一个 PID,不知道是怎么回事。

(3) 企业微信截图_16276329684390 这里我改成 这样了,否则 grid device 在 gpu 0上 , 不是我设置的 gpu 3

(1)多尺度opt.random_size = (a, b)表示随机选择从a到(b-1)的值x,然后x32为最终尺寸。所以设置opt.random_size = (20, 21)时只能选择x=20,这样输入尺寸只能是2032=640,这也就取消了多尺寸训练,可以参考https://github.com/zhangming8/yolox-pytorch/blob/main/train.py#L106 (2,3)目前我的代码是在单gpu下调试的,这两天会在多gpu下调通,谢谢你的测试。

zhangming8 avatar Jul 30 '21 09:07 zhangming8

20210731 update: 已经放出了预训练权重,可以在自己的数据上finetune了

zhangming8 avatar Jul 31 '21 13:07 zhangming8

请问下百度云的yolox_coco文件是预训练模型还是在coco上训练好的,如果是已经在coco训练好的权重应该怎么获取imagenet的预训练模型呢

yh-pengtu avatar May 19 '22 06:05 yh-pengtu