pp_yolo4训练自定义数据集nan
Created by: wchange
环境:hub.baidubce.com/paddlepaddle/paddle:1.8.3-gpu-cuda10.0-cudnn7 GPU:4卡 P40
2020-08-27 06:04:11,335-INFO: If regularizer of a Parameter has been set by 'fluid.ParamAttr' or 'fluid.WeightNormParamAttr' already. The Regularization[L2Decay, regularization_coeff=0.000500] in Optimizer will not take effect, and it will only be applied to other Parameters!
2020-08-27 06:04:17,251-INFO: places would be ommited when DataLoader is not iterable
W0827 06:04:17.349093 18186 device_context.cc:252] Please NOTE: device: 0, CUDA Capability: 61, Driver API Version: 10.2, Runtime API Version: 10.0
W0827 06:04:17.359207 18186 device_context.cc:260] device: 0, cuDNN Version: 7.6.
2020-08-27 06:04:20,479-WARNING: /root/.cache/paddle/weights/ResNet50_vd_ssld_pretrained.pdparams not found, try to load model file saved with [ save_params, save_persistables, save_vars ]
/usr/local/lib/python3.7/site-packages/paddle/fluid/io.py:1998: UserWarning: This list is not set, Because of Paramerter not found in program. There are: fc_0.b_0 fc_0.w_0
format(" ".join(unused_para_list)))
2020-08-27 06:04:21,235-WARNING: Found an invalid bbox in annotations: im_id: 53, area: 0.0 x1: 0, y1: 195, x2: 0, y2: 360.
2020-08-27 06:04:21,246-INFO: places would be ommited when DataLoader is not iterable
I0827 06:04:30.062239 18186 build_strategy.cc:361] set enable_sequential_execution:1
W0827 06:04:31.650740 18186 fuse_all_reduce_op_pass.cc:74] Find all_reduce operators: 240. To make the speed faster, some all_reduce ops are fused during training, after fusion, the number of all_reduce ops is 171.
2020-08-27 06:05:15,815-INFO: iter: 0, lr: 0.000000, 'loss_xy': '49.234890', 'loss_wh': '151.551819', 'loss_obj': '11701.962891', 'loss_cls': '26.566391', 'loss_iou': '183.181076', 'loss_iou_aware': '487.398712', 'loss': '12599.894531', time: 0.000, eta: 0:00:04
2020-08-27 06:08:34,039-INFO: iter: 100, lr: 0.000125, 'loss_xy': '36.615501', 'loss_wh': '54.858246', 'loss_obj': '268.272827', 'loss_cls': '11.544251', 'loss_iou': '137.742783', 'loss_iou_aware': '23.605310', 'loss': '536.883667', time: 2.518, eta: 1 day, 10:54:26
2020-08-27 06:12:04,756-INFO: iter: 200, lr: 0.000250, 'loss_xy': '35.625519', 'loss_wh': '53.374252', 'loss_obj': '235.519302', 'loss_cls': '3.245854', 'loss_iou': '137.041992', 'loss_iou_aware': '5.009554', 'loss': '474.245117', time: 2.095, eta: 1 day, 4:58:59
2020-08-27 06:15:15,642-INFO: iter: 300, lr: 0.000375, 'loss_xy': '34.211246', 'loss_wh': '50.140015', 'loss_obj': '210.656647', 'loss_cls': '1.414299', 'loss_iou': '130.542068', 'loss_iou_aware': '1.741558', 'loss': '424.454224', time: 1.899, eta: 1 day, 2:13:03
2020-08-27 06:18:34,700-INFO: iter: 400, lr: 0.000500, 'loss_xy': '34.201408', 'loss_wh': '49.520100', 'loss_obj': '205.470718', 'loss_cls': '0.897171', 'loss_iou': '131.437500', 'loss_iou_aware': '0.839541', 'loss': '421.289490', time: 2.013, eta: 1 day, 3:43:53
2020-08-27 06:21:53,043-INFO: iter: 500, lr: 0.000625, 'loss_xy': '33.984039', 'loss_wh': '52.070057', 'loss_obj': '206.255768', 'loss_cls': '0.629900', 'loss_iou': '129.637939', 'loss_iou_aware': '0.666387', 'loss': '420.665039', time: 1.976, eta: 1 day, 3:10:18
2020-08-27 06:25:13,840-INFO: iter: 600, lr: 0.000750, 'loss_xy': '33.495964', 'loss_wh': '48.441265', 'loss_obj': '199.321869', 'loss_cls': '0.532362', 'loss_iou': '128.148361', 'loss_iou_aware': '0.585110', 'loss': '417.723999', time: 1.982, eta: 1 day, 3:11:29
2020-08-27 06:28:34,505-INFO: iter: 700, lr: 0.000875, 'loss_xy': 'nan', 'loss_wh': 'nan', 'loss_obj': 'nan', 'loss_cls': 'nan', 'loss_iou': 'nan', 'loss_iou_aware': 'nan', 'loss': 'nan', time: 2.032, eta: 1 day, 3:49:55
configs/ppyolo/ppyolo_2x_gf2.yml
architecture: YOLOv3
use_gpu: true
max_iters: 50000
log_smooth_window: 100
log_iter: 100
save_dir: output
snapshot_iter: 10000
metric: COCO
pretrain_weights: https://paddle-imagenet-models-name.bj.bcebos.com/ResNet50_vd_ssld_pretrained.tar
weights: output/ppyolo/model_final
num_classes: 1
use_fine_grained_loss: true
use_ema: true
ema_decay: 0.9998
YOLOv3:
backbone: ResNet
yolo_head: YOLOv3Head
use_fine_grained_loss: true
ResNet:
norm_type: sync_bn
freeze_at: 0
freeze_norm: false
norm_decay: 0.
depth: 50
feature_maps: [3, 4, 5]
variant: d
dcn_v2_stages: [5]
YOLOv3Head:
anchor_masks: [[6, 7, 8], [3, 4, 5], [0, 1, 2]]
anchors: [[10, 13], [16, 30], [33, 23],
[30, 61], [62, 45], [59, 119],
[116, 90], [156, 198], [373, 326]]
norm_decay: 0.
coord_conv: true
iou_aware: true
iou_aware_factor: 0.4
scale_x_y: 1.05
spp: true
yolo_loss: YOLOv3Loss
nms: MatrixNMS
drop_block: true
YOLOv3Loss:
batch_size: 4
ignore_thresh: 0.7
scale_x_y: 1.05
label_smooth: false
use_fine_grained_loss: true
iou_loss: IouLoss
iou_aware_loss: IouAwareLoss
IouLoss:
loss_weight: 2.5
max_height: 608
max_width: 608
IouAwareLoss:
loss_weight: 1.0
max_height: 608
max_width: 608
MatrixNMS:
background_label: -1
keep_top_k: 100
normalized: false
score_threshold: 0.01
post_threshold: 0.01
LearningRate:
base_lr: 0.005
schedulers:
- !PiecewiseDecay
gamma: 0.1
milestones:
- 400000
- 450000
- !LinearWarmup
start_factor: 0.
steps: 4000
OptimizerBuilder:
optimizer:
momentum: 0.9
type: Momentum
regularizer:
factor: 0.0005
type: L2
_READER_: 'ppyolo_reader_gf2.yml'
configs/ppyolo/ppyolo_reader_gf2.yml
TrainReader:
inputs_def:
fields: ['image', 'gt_bbox', 'gt_class', 'gt_score']
num_max_boxes: 100
dataset:
!COCODataSet
image_dir: train
anno_path: annotations/train.json
dataset_dir: dataset/gf2
with_background: false
sample_transforms:
- !DecodeImage
to_rgb: True
with_mixup: True
- !MixupImage
alpha: 1.5
beta: 1.5
- !ColorDistort {}
- !RandomExpand
fill_value: [123.675, 116.28, 103.53]
- !RandomCrop {}
- !RandomFlipImage
is_normalized: false
- !NormalizeBox {}
- !PadBox
num_max_boxes: 100
- !BboxXYXY2XYWH {}
batch_transforms:
- !RandomShape
sizes: [320, 352, 384, 416, 448, 480, 512, 544, 576, 608]
random_inter: True
- !NormalizeImage
mean: [0.485, 0.456, 0.406]
std: [0.229, 0.224, 0.225]
is_scale: True
is_channel_first: false
- !Permute
to_bgr: false
channel_first: True
# Gt2YoloTarget is only used when use_fine_grained_loss set as true,
# this operator will be deleted automatically if use_fine_grained_loss
# is set as false
- !Gt2YoloTarget
anchor_masks: [[6, 7, 8], [3, 4, 5], [0, 1, 2]]
anchors: [[10, 13], [16, 30], [33, 23],
[30, 61], [62, 45], [59, 119],
[116, 90], [156, 198], [373, 326]]
downsample_ratios: [32, 16, 8]
batch_size: 4
shuffle: true
mixup_epoch: 25000
drop_last: true
worker_num: 8
bufsize: 1
use_process: false
EvalReader:
inputs_def:
fields: ['image', 'im_size', 'im_id']
num_max_boxes: 100
dataset:
!COCODataSet
image_dir: val
anno_path: annotations/val.json
dataset_dir: dataset/gf2
with_background: false
sample_transforms:
- !DecodeImage
to_rgb: True
- !ResizeImage
target_size: 608
interp: 2
- !NormalizeImage
mean: [0.485, 0.456, 0.406]
std: [0.229, 0.224, 0.225]
is_scale: True
is_channel_first: false
- !PadBox
num_max_boxes: 100
- !Permute
to_bgr: false
channel_first: True
batch_size: 4
drop_empty: false
worker_num: 8
bufsize: 1
TestReader:
inputs_def:
image_shape: [3, 608, 608]
fields: ['image', 'im_size', 'im_id']
dataset:
!ImageFolder
anno_path: annotations/instances_val2017.json
with_background: false
sample_transforms:
- !DecodeImage
to_rgb: True
- !ResizeImage
target_size: 608
interp: 2
- !NormalizeImage
mean: [0.485, 0.456, 0.406]
std: [0.229, 0.224, 0.225]
is_scale: True
is_channel_first: false
- !Permute
to_bgr: false
channel_first: True
batch_size: 1