未验证 提交 ff77cd30 编写于 作者: A Aganlengzi 提交者: GitHub

add yml for single npu and polish call to paddle api (#7470)

* add yml for single npu and polish call to paddle api

* add yml for single npu and polish call to paddle api
上级 75c762b9
_BASE_: [
'../datasets/coco_detection.yml',
'../runtime.yml',
'_base_/yolov3_darknet53.yml',
'_base_/yolov3_reader.yml',
]
snapshot_epoch: 5
weights: output/yolov3_darknet53_270e_coco/model_final
norm_type: bn
YOLOv3Loss:
ignore_thresh: 0.5
downsample: [32, 16, 8]
label_smooth: false
worker_num: 8
TrainReader:
inputs_def:
num_max_boxes: 50
sample_transforms:
- Decode: {}
- RandomDistort: {}
- RandomExpand: {fill_value: [123.675, 116.28, 103.53], ratio: 2.0}
- RandomCrop: {}
- RandomFlip: {}
batch_transforms:
- BatchRandomResize: {target_size: [416], random_size: True, random_interp: True, keep_ratio: False}
- NormalizeBox: {}
- PadBox: {num_max_boxes: 50}
- BboxXYXY2XYWH: {}
- NormalizeImage: {mean: [0.485, 0.456, 0.406], std: [0.229, 0.224, 0.225], is_scale: True}
- Permute: {}
- 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], iou_thresh: 0.5}
batch_size: 32
shuffle: true
drop_last: true
mixup_epoch: -1
use_shared_memory: true
epoch: 320
LearningRate:
base_lr: 0.001
schedulers:
- !CosineDecay
max_epochs: 320
- !LinearWarmup
start_factor: 0.
epochs: 4
OptimizerBuilder:
optimizer:
momentum: 0.9
type: Momentum
regularizer:
factor: 0.016
type: L2
...@@ -343,8 +343,11 @@ def xywh2xyxy(box): ...@@ -343,8 +343,11 @@ def xywh2xyxy(box):
def make_grid(h, w, dtype): def make_grid(h, w, dtype):
yv, xv = paddle.meshgrid([paddle.arange(h), paddle.arange(w)]) yv, xv = paddle.meshgrid(
return paddle.stack((xv, yv), 2).cast(dtype=dtype) [paddle.arange(
h, dtype=dtype), paddle.arange(
w, dtype=dtype)])
return paddle.stack((xv, yv), 2)
def decode_yolo(box, anchor, downsample_ratio): def decode_yolo(box, anchor, downsample_ratio):
...@@ -365,8 +368,7 @@ def decode_yolo(box, anchor, downsample_ratio): ...@@ -365,8 +368,7 @@ def decode_yolo(box, anchor, downsample_ratio):
x1 = (x + grid[:, :, :, :, 0:1]) / grid_w x1 = (x + grid[:, :, :, :, 0:1]) / grid_w
y1 = (y + grid[:, :, :, :, 1:2]) / grid_h y1 = (y + grid[:, :, :, :, 1:2]) / grid_h
anchor = paddle.to_tensor(anchor) anchor = paddle.to_tensor(anchor, dtype=x.dtype)
anchor = paddle.cast(anchor, x.dtype)
anchor = anchor.reshape((1, na, 1, 1, 2)) anchor = anchor.reshape((1, na, 1, 1, 2))
w1 = paddle.exp(w) * anchor[:, :, :, :, 0:1] / (downsample_ratio * grid_w) w1 = paddle.exp(w) * anchor[:, :, :, :, 0:1] / (downsample_ratio * grid_w)
h1 = paddle.exp(h) * anchor[:, :, :, :, 1:2] / (downsample_ratio * grid_h) h1 = paddle.exp(h) * anchor[:, :, :, :, 1:2] / (downsample_ratio * grid_h)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册