使用PaddleDetection框架对自定义训练集进行训练和测试(2)

由于上文已经配置好了数据集的路径,接下来需要进行如下几部操作才能开始真正的训练。
本文与上文不同,本文添加对YoloV5的使用,需要额外git PaddleYoLo框架,具有代码如下:

git clone https://github.com/PaddlePaddle/PaddleYOLO  # clone
cd PaddleYOLO
pip install -r requirements.txt  # install
  • 修改学习率和训练轮次:由于默认的学习率是8卡的,故如果是单卡训练,需要将学习率除以8,配置学习率的文件在 /home/aistudio/work/PaddleDetection/configs/ppyoloe/base/optimizer_300e.yml中,其代码如下所示:
epoch: 50 #训练的轮次
LearningRate:
  base_lr: 0.00125 #学习率
  schedulers:
    - !CosineDecay
      max_epochs: 360
    - !LinearWarmup
      start_factor: 0.
      epochs: 5

OptimizerBuilder:
  optimizer:
    momentum: 0.9
    type: Momentum
  regularizer:
    factor: 0.0005
    type: L2

  • 修改batch_size:奇怪的是,如果使用不同的网络其修改batch_size的地方也不同,例如使用YoloV_5网络,在work/PaddleYOLO/configs/yolov5/base/yolov5_reader.yml中和work/PaddleYOLO/configs/yolov5/yolov5_s_300e_coco.yml都存在batch_size的配置,经实验,训练中用到的是后面的那一种,对于ppyoloe来说,用到的是前面那一种。
  • 修改log_iter和snap_epoch:分别代表训练多少个batch在终端输出一次,以及训练多少次保存一下模型,具体在/home/aistudio/work/PaddleYOLO/configs/yolov5/yolov5_s_300e_coco.yml中配置。
  • 修改可视化,即在Train.py中把参数–use_vdl的默认值设为true即可。
parser.add_argument(
       "--use_vdl",
       type=bool,
       default=True,
       help="whether to record the data to VisualDL.")

接下来就可以开始训练了,此外,还有要注意的是,在PaddleDetection不包含YoloV5模型,而PaddleYolo是集成了YoloV5模型,所以要使用YoloV5需要额外下载YoloV5。在PaddleYolo中,YoloV5使用的格式也是包含Json的Coco格式。

你可能感兴趣的:(深度学习与Paddle,深度学习,神经网络)