最近开始做毕设了,发现我遇到的问题在CSDN上的回答很少,所以来记录一下自己解决问题的过程。
写在前面
我做毕设用的是这位博主的代码,他的代码注释写的非常清楚,在b站上也有很详细的教程,非常适合小白上手实战(尤其是大四要做深度学习毕设但是之前完全没有接触过深度学习的同学)。我用他的代码来训练自己的数据集,之前能够在自己电脑上跑通,但是因为后续需要跑更加复杂的网络,自己的电脑完全跑不动,所以选择用服务器来跑,我用的是AutoDL,如果有同学和我一样,用的是Bubbliiiing大佬的代码就可以接着往下看。
报错
将代码和数据上传到服务器后运行train.py。
出现如下报错。
从报错信息来看,是数据加载出了问题,DataLoader出了问题。我参考了这篇博文文中提到了绝对路径的问题,在Bubbliiiing大佬的代码中需要先运行voc_annotation.py文件,对原始数据集进行划分,运行以后会生成一系列txt文件,来指明哪些图片作为训练集,哪些图片作为验证集,在这些txt文件中会将图片文件的路径标明。
去对应的txt文件查看,发现果然存在绝对路径。
我是第一次使用云服务器,没有注意到这个问题,在云服务器用来读取数据集的txt文件是我之前在自己电脑上跑时生成的,直接移植到云服务器上肯定会报错。
解决方案
将之前生成的一系列txt文件删除,在我的模型中,需要删除如下txt文件
将对应的txt文件删除后,在云服务器重新运行voc_annotation.py文件。
在云服务器重新生成txt文件。
重新运行train.py文件,正常运行!