一、起因经过
组上叫对比一下用相同的数据训练测试一下yolov10与yolov8各模型的实际情况,一边学习论文,一边安装环境准备跑一下v10的训练。
虽然提前知道v10是基于v8的某个版本改的,但是运行v10版本时弹出的v8版本号(如图8.1.34)还是有点难绷(有玩v7的时候弹v5版本号内味儿了),甚至运行时还会提示叫你升级v8版本🤣
单卡不报错能直接跑起来,用多卡训练时,DDP报错:
如果你的报错跟我差不多都是DDP命令行显示运行的文件为_temp_开头的临时文件以及报找不到module的错,那你可以往下看了。
二、原因及解决办法
1.原因是我今日下载下来的v10的代码中使用的还是v8.1.34版本的代码,其开启DDP时的创建ddp命令的类为:可以看到,它在代码中的file时直接生成一个临时的py文件用于分布式训练,位置根据不同的系统放在不同的用户配置文件夹下,linux的会放在如下位置,以及文件内容大概为: