首页 PaddleOCR 帖子详情
模型运行过程中出现了数据,预测值,标签维度不一致
收藏
快速回复
PaddleOCR 问答文本OCR 1771 5
模型运行过程中出现了数据,预测值,标签维度不一致
收藏
快速回复
PaddleOCR 问答文本OCR 1771 5

使用OCR进行训练,但出现如下报错

输入的image和label都是[256,256,3]的shape,原模型用的是[512,512,3],到底哪里让它多出了维度啊?如何解决

val之中的

Traceback (most recent call last):
File "val.py", line 142, in
main(args)
File "val.py", line 136, in main
num_workers=args.num_workers,
File "/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddleseg/core/val.py", line 123, in evaluate
ignore_index=eval_dataset.ignore_index)
File "/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddleseg/utils/metrics.py", line 42, in calculate_area
pred.shape, label.shape))
ValueError: Shape of `pred` and `label should be equal, but there are [1, 256, 256] and [1, 1, 256, 256, 3].

 

训练过程中的

Traceback (most recent call last):
File "train.py", line 154, in
main(args)
File "train.py", line 149, in main
keep_checkpoint_max=args.keep_checkpoint_max)
File "/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddleseg/core/train.py", line 151, in train
edges=edges)
File "/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddleseg/core/train.py", line 46, in loss_computation
loss_list.append(losses['coef'][i] * loss_i(logits, labels))
File "/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py", line 898, in __call__
outputs = self.forward(*inputs, **kwargs)
File "/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddleseg/models/losses/mixed_loss.py", line 56, in forward
output = loss(logits, labels)
File "/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py", line 898, in __call__
outputs = self.forward(*inputs, **kwargs)
File "/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddleseg/models/losses/binary_cross_entropy_loss.py", line 141, in forward
label = label.transpose((0, 3, 1, 2))
File "/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddle/fluid/layers/nn.py", line 5492, in transpose
out, _ = core.ops.transpose2(x, 'axis', perm)
ValueError: (InvalidArgument) The input tensor's dimension should be equal to the axis's size. But received input tensor's dimension is 5, axis's size is 4
[Hint: Expected x_rank == axis_size, but received x_rank:5 != axis_size:4.] (at /paddle/paddle/fluid/operators/transpose_op.cc:47)
[operator < transpose2 > error]

0
收藏
回复
全部评论(5)
时间顺序
划飞桨的Daniel
#2 回复于2021-06

除了输入图片的shape变化,还有额外的代码修改么?使用原代码和模型训练现在是没问题的吧?

0
回复
帝王爷
#3 回复于2021-11

17/120 [===>..........................] - ETA: 1:22 - batch_cost: 0.7973 - reader cost: 0.0251Traceback (most recent call last):
File "train.py", line 198, in
main(args)
File "train.py", line 193, in main
profiler_options=args.profiler_options)
File "/home/work/PaddleSeg/paddleseg/core/train.py", line 265, in train
model, val_dataset, num_workers=num_workers, **test_config)
File "/home/work/PaddleSeg/paddleseg/core/val.py", line 125, in evaluate
ignore_index=eval_dataset.ignore_index)
File "/home/work/PaddleSeg/paddleseg/utils/metrics.py", line 42, in calculate_area
pred.shape, label.shape))
ValueError: Shape of `pred` and `label should be equal, but there are [1, 1444, 1444] and [1, 2056, 2124].

0
回复
DeepGeGe
#4 回复于2021-12

应该是你的输出层和实际数据集不匹配,也就是说你使用自定义的数据集,必须更改网络的输出层结构。

0
回复
stivenssss
#5 回复于2021-12

这个需要你更改一下数据格式了,比如label,使得它们匹配

0
回复
S
Spyder
#6 回复于2022-10

同求原因啊,一直解决不了

1
回复
需求/bug反馈?一键提issue告诉我们
发现bug?如果您知道修复办法,欢迎提pr直接参与建设飞桨~
在@后输入用户全名并按空格结束,可艾特全站任一用户