Skip to content

  • 体验新版
    • 正在加载...
  • 登录
  • PaddlePaddle
  • Paddle
  • Issue
  • #27633

P
Paddle
  • 项目概览

PaddlePaddle / Paddle
接近 2 年 前同步成功

通知 2320
Star 20933
Fork 5424
  • 代码
    • 文件
    • 提交
    • 分支
    • Tags
    • 贡献者
    • 分支图
    • Diff
  • Issue 1423
    • 列表
    • 看板
    • 标记
    • 里程碑
  • 合并请求 543
  • Wiki 0
    • Wiki
  • 分析
    • 仓库
    • DevOps
  • 项目成员
  • Pages
P
Paddle
  • 项目概览
    • 项目概览
    • 详情
    • 发布
  • 仓库
    • 仓库
    • 文件
    • 提交
    • 分支
    • 标签
    • 贡献者
    • 分支图
    • 比较
  • Issue 1,423
    • Issue 1,423
    • 列表
    • 看板
    • 标记
    • 里程碑
  • 合并请求 543
    • 合并请求 543
  • Pages
  • 分析
    • 分析
    • 仓库分析
    • DevOps
  • Wiki 0
    • Wiki
  • 成员
    • 成员
  • 收起侧边栏
  • 动态
  • 分支图
  • 创建新Issue
  • 提交
  • Issue看板
已关闭
开放中
Opened 9月 27, 2020 by saxon_zh@saxon_zhGuest

改动ppyolo.xml训练时出错

Created by: kgkzhiwen

改动了ppyolo.yml去识别小目标,但是训练时出现如下错误。是什么原因导致形状不同?

`------------------------------------------ Python Call Stacks (More useful to users):

File "/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddle/fluid/framework.py", line 2610, in append_op attrs=kwargs.get("attrs", None)) File "/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddle/fluid/layers/math_op_patch.py", line 248, in impl attrs={'axis': axis}) File "/home/aistudio/PaddleDetection/ppdet/modeling/losses/yolo_loss.py", line 170, in _get_fine_grained_loss loss_h = fluid.layers.abs(h - th) * tscale_tobj File "/home/aistudio/PaddleDetection/ppdet/modeling/losses/yolo_loss.py", line 69, in call mask_anchors, self._ignore_thresh) File "/home/aistudio/PaddleDetection/ppdet/modeling/anchor_heads/yolo_head.py", line 404, in get_loss self.prefix_name) File "/home/aistudio/PaddleDetection/ppdet/modeling/architectures/yolo.py", line 85, in build gt_score, targets) File "/home/aistudio/PaddleDetection/ppdet/modeling/architectures/yolo.py", line 159, in train return self.build(feed_vars, mode='train') File "tools/train.py", line 116, in main train_fetches = model.train(feed_vars) File "tools/train.py", line 407, in main()


Error Message Summary:

InvalidArgumentError: Broadcast dimension mismatch. Operands could not be broadcast together with the shape of X = [4, 3, 25, 25] and the shape of Y = [4, 3, 50, 50]. Received [25] in X is not equal to [50] in Y at i:2. [Hint: Expected x_dims_array[i] == y_dims_array[i] || x_dims_array[i] <= 1 || y_dims_array[i] <= 1 == true, but received x_dims_array[i] == y_dims_array[i] || x_dims_array[i] <= 1 || y_dims_array[i] <= 1:0 != true:1.] at (/paddle/paddle/fluid/operators/elementwise/elementwise_op_function.h:160) [operator < elementwise_sub > error]`


下面是改动过的ppyolo.yml:

`architecture: YOLOv3 use_gpu: false #max_iters: 250000 max_iters: 12000 log_smooth_window: 100 log_iter: 20 save_dir: output snapshot_iter: 300 metric: COCO pretrain_weights: https://paddle-imagenet-models-name.bj.bcebos.com/ResNet50_vd_ssld_pretrained.tar weights: output/ppyolo/model_final #num_classes: 80 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: bn freeze_at: 0 freeze_norm: false norm_decay: 0. depth: 50
feature_maps: [4, 5] variant: d dcn_v2_stages: [5]

YOLOv3Head:
anchor_masks: [[3, 4, 5], [0, 1, 2]] anchors: [[27, 22], [21, 57], [78, 17], [51, 36], [35, 73], [67, 76]] 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: 200 max_width: 200

IouAwareLoss: loss_weight: 1.0 max_height: 200 max_width: 200

MatrixNMS: background_label: -1 keep_top_k: 100 normalized: false score_threshold: 0.01 post_threshold: 0.01

LearningRate: base_lr: 0.00125 schedulers:

  • !PiecewiseDecay gamma: 0.1 milestones:
    • 8000
    • 11000
  • !LinearWarmup start_factor: 0. steps: 1000

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

TrainReader: inputs_def: fields: ['image', 'gt_bbox', 'gt_class', 'gt_score'] num_max_boxes: 50 dataset: !COCODataSet image_dir: images anno_path: annotations/instances_train2017.json dataset_dir: dataset/coco 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: 50 - !BboxXYXY2XYWH {} batch_transforms:

  • !RandomShape
    sizes: [800,1200] 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
    anchor_masks: [[3, 4, 5], [0, 1, 2]] anchors: [[27, 22], [21, 57], [78, 17], [51, 36], [35, 73], [67, 76]] downsample_ratios: [16, 8]
    batch_size: 4 shuffle: true
    mixup_epoch: 1000 drop_last: true worker_num: 4 bufsize: 4 use_process: true `
指派人
分配到
无
里程碑
无
分配里程碑
工时统计
无
截止日期
无
标识: paddlepaddle/Paddle#27633
渝ICP备2023009037号

京公网安备11010502055752号

网络110报警服务 Powered by GitLab CE v13.7
开源知识
Git 入门 Pro Git 电子书 在线学 Git
Markdown 基础入门 IT 技术知识开源图谱
帮助
使用手册 反馈建议 博客
《GitCode 隐私声明》 《GitCode 服务条款》 关于GitCode
Powered by GitLab CE v13.7