系统信息
- 您正在使用的模型的顶级目录是什么:research/object_detection
- 我是否编写了自定义代码(而不是使用 TensorFlow 中提供的股票示例脚本):是的(仅用于 Faster RCNN 的 VGG-16 实现)
- 操作系统平台和发行版(例如,Linux Ubuntu 16.04):Ubuntu 16.04
- TensorFlow 版本(使用下面的命令):1.4.0
- CUDA/cuDNN 版本:8 和 6
- GPU型号和内存:NVIDIA-1060 6GB
我正在尝试使用 API 在我的自定义数据集上使用VGG-16 作为特征提取器(论文)来训练 Faster-RCNN。
训练参数与论文中描述的相同,除了,我只运行 15k 步并将图像大小调整为 1200x1200,批量大小 = 1。训练运行良好,但随着时间的推移,训练变得更慢。它在 CPU 和 GPU 之间切换。
在 GPU 上运行大约 1 秒的时间和在 CPU 中运行大约 20 秒的其他高数字的步骤我使用“top”和“nvidia-smi”交叉验证了它们。为什么它在中间的 CPU 和 GPU 之间切换?当模型和日志被保存时,我可以理解这种转变,但这我不明白为什么。
PS:我只运行火车脚本。我没有运行 eval 脚本
更新:随着时间的推移,情况会变得更糟。秒/步骤正在增加,从而影响检查点和日志的存储速度
它的运行速度应该小于 1 秒/步,因为这是我开始训练前 2k 步时的速度。而且我的数据集非常小(300 张图像用于训练)。