实验日志——DETR

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即可。