-
Notifications
You must be signed in to change notification settings - Fork 151
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Killed #18
Comments
@PHI6kai 您好,可以看一下启动时候的显存占用吗?watch -n 1 nvidia-smi |
OSError: [WinError 1455] 页面文件太小,无法完成操作。 Error loading "D:\Anaconda\envs\yolov5_ssda2\lib\site-packages\torch\lib\caffe2_detectron_ops_gpu.dll" or one of its dependencies. 问题2:当我使用window server2019,进行同样的复现时,可以进行训练,使用CPU,无法调用GPU。出现这种情况 |
@lonelyzyp 老师您好,我用ChatGPT查了一下第一个问题,以下是回复,我觉得说得比我要全面一些: 解决这个问题的方法可能有以下几种: 问题2: 在这个错误信息中,你的代码尝试使用了设备类型为'cuda'的设备,但是CUDA没有被正确安装或配置。因此,程序会自动禁用CUDA并转而使用CPU来执行计算。 要解决这个问题,你可以尝试以下几个步骤: |
@BowieHsu 感谢您的回复! 主要问题是:完成target Scanning对应数据集后,无法进一步训练的,请问这个问题的原因是什么,如何解决正常训练呢 |
@lonelyzyp 看起来像是内存不足的原因,请问一下您这台机器原来跑训练是没有问题的对吧,如果是这样的话,那有可能是我们的代码在造target数据集时占用了太多内存,麻烦您在控制台看一下运行到这里时的内存占用状况,由于我们的代码是在linux环境运行的,所以您提的很多问题我可能也无法回答,我还是请教了一下Chat老师: |
@BowieHsu 您好,感谢您之前的回复。再次请问: 问题2:请问线程控制:num_workers 默认为16吗,为了降低对target伪标签过多机器RAM的占用,在24GB RAM情况下使用(我可以扩增到48GB),,如何修改为8或者4呢,控制参数在哪里呢 |
@BowieHsu 老师您好!请问 |
@lonelyzyp 您好,val_loss那里写残了,所以先注释掉了,log里就没有记录,我解决一下 |
请问针对上个问题的val损失曲线为0,那么lr0如何没有匹配使用任何优化器吗,可以使用SGD优化器吗,初始学习率修改为0.001,余弦退火,是怎么使用的呢 |
感谢您的回复!即使您注释掉了val loss,但是可以证明目前我的验证训练是正常的对吧,因为没看到学习率的变化,是不是我自己哪方面没设置好 |
@lonelyzyp 在半监督训练时,学习率是不下降的,我们是通过EMA来控制收敛的。 |
感谢,我犯了一个基础性错误。 |
@lonelyzyp 可以尝试在Dataset下面添加workers=4,尝试一下,这个应该可以控制dataloader里面的worker数量 |
|
@lonelyzyp 您好,您现在有一份能够训练出复合要求效果的有监督训练的超参吗,从我们的经验来看,您这种状态最好先把有监督的训练跑通,然后加上半监督,使用这样的控制变量法来进行调参,这是我们认为事实上最快的定位方案。 |
@lonelyzyp 我们正在制作相关的教程,我先尝试给您解释一下大概的原因哈,首先正常的有监督训练时,learning rate是会随着epoch的增加的逐渐下降的,所以我们一般在tensorboard上都会看到learning rate下降,loss下降,mAP上升的现象,这背后的本质实际上学习率小的时候,梯度更新不那么剧烈了,参数所代表的网络最终收敛在了一个梯度平面上。而在半监督的训练方案中,尽管我们做了很多实验,但是最终都发现,需要让student的学习率控制在一个定值才会有好的表现,所以我们转而尝试去控制EMA,通过让EMA的更新逐渐放缓,来让teacher最终收敛在一个梯度面上。 |
感谢您的回复,我将按照给的提示继续试验验证,后续再和您共同探讨 |
已经解决,在训练时候启动会出现多个进程并不会被杀死,在kill所有进程之后会正常训练运行。 |
您好!在您给的建议下,我进行了试验查看,目前发现,大部分情况下第一行student相关精度低于teacher的相关精度(请问是不是正常来讲,应该中后期学生比教师高,才能正向优化教师),最终完整训练的结果mAp0.5:0.896,与只在监督训练下best指0.893几乎没有差别,也与完整训练(400=burn200+ssod200)第199last epoch0.8811 和best 0.89区别不大。 |
@lonelyzyp 您好,感谢您做了这么多详细的实验,我来尝试回答一下: |
@BowieHsu 博主您好!又来请教您一些问题了。 问题2:正是因为上述原因,当时没有明白并实现您之前提供的建议,即:找到一份能够训练出符合要求效果的有监督训练的超参。所以出现了第一个问题,在经过这些天的整理后,明白了您当时的建议。所以造成进行半监督时,无法得到有效提升,在ET项目下,进行监督训练和半监督训练时,无法体现半监督的在少量标签的情况下,保证检测性能。 问题3:我曾复现其他老师在开源论文对v5的改进方法,分别在官方V5和ET项目下v5进行了小改动,同样无法实现ET项目v5训练结果,不能接近别人的效果。 |
@BowieHsu 老师您好,可否提供一份在ET模型下进行SUP和SSOD使用的,与官方YOLOv5s的5.0或者6.0版本相一致的超参数呢。因为我对比您进行的参数调优,还包括了不同于官方v5使用的loss,即GIOU。可以 设置 iou_type: ciou,但是 giou: 0.05需要修改吗? EfficientTeacher by Alibaba CloudParametersproject: 'runs_yolov5' lrf: 0.1lrf: 0.2 # yolov5 scale: 0.9scale: 0.5 # yolov5 mixup: 0.1mixup: 0.0 # yolov5 warmup_epochs: 0warmup_epochs: 3 # yolov5 Model: cls: 0.3cls: 0.5 # yolov5 obj: 0.7obj: 1.0 # yolov5 |
配置完全按照您说的进行,但是出现了Killed的情况是因为dataloader workers开多了还是?
The text was updated successfully, but these errors were encountered: