DETR训练日志
1. 代码来源
代码源自作者的Github: https://github.com/facebookresearch/detr?tab=readme-ov-file
2. 数据来源
在DETR中只使用了COCO2017数据集,其中训练集有118288张图像,验证集有5001张数据,测试集有40671张数据,训练集、验证集以及测试集的比例是72% : 3% : 25%。标签格式是.json格式。
3. 环境配置
pytorch安装:我的cuda版本是11.8,代码的官网要求pytorch是1.5+,我选择的是2.0.0版本的pytorch.
python
#安装命令如下
pip install torch==2.0.0 torchvision==0.15.1 torchaudio==2.0.1 --index-url https://download.pytorch.org/whl/cu118 -i https://pypi.tuna.tsinghua.edu.cn/simple
4. 数据准备
数据目录结构如下,就是coco数据解压缩后的状态:
5. 模型训练
由于自己常用的服务器只有一块3090的显卡,所以不能使用并行训练。--world_size采用默认的1就好。数据路径我直接写在了代码中。
训练命令:python main.py
6. 遇到的报错
- 使用命令
conda install -c pytorch pytorch torchvision
安装的pytorch是cpu版本的。 - 源码中作者设置的batch size是2,在我训练了一会后,出现了训练进程被killed的现象。(原因分析见博客:Linux系统训练模型进程被killed,其实类似于显存out of memory)最终选择将batch size设置为1。
- 第一个epoch训练结束后,出现np.float报错,错误位置在cocoeval.py中的378和379行,因为我的numpy版本有点高(降版本失败了),只需要将该位置的np.float改为np.float64即可。