多线程
数据预处理过程中,不需要将图片格式在 datum
和 cv::Mat
之间来回转换导致不必要的时间浪费
参考代码 https://github.com/maidabu/caffe-ssd-optimized 替换 caffe ssd
源代码中的相应层
二、多卡加速:NVIDIA NCCL
优化原因: 使用多卡加载预训练模型进行训练的时候报错,没有安装 nccl
优化方法: 安装 ncclgit clone https://github.com/NVIDIA/nccl.git
cd nccl
sudo make install -j16
三、重新编译 cudnn_conv 使其支持 cudnn7
优化原因: depthwise_conv 训练耗时严重,并且占用太多内存,cudnn7+
中对其做了优化,支持 Group 卷积
优化方法: 参考代码 https://github.com/chuanqi305/MobileNetv2-SSDLite/tree/master/src 替换 caffe ssd
源代码中的相应层#include "caffe/layers/cudnn_conv_layer.hpp"
#if CUDNN_MAJOR >= 7
#define USE_CUDNN_GROUP_INTERNAL
#endif