paddleocr用自己的训练集训练识别模型RARE算法报错,这个是什么错误?怎么排查分析或者yml文件怎么修改
用的是rec_r34_vd_tps_bilstm_att.yam文件
ValueError: (InvalidArgument) Input(Logits) and Input(Label) should in same shape in dimensions except axis.[Hint:Expected logits_dim[i]==lables_dim[i]],but rectived logits_dims[i]:50 !=labels_dims[i]:100.](at .. \paddle\phi\infer,eta\binary.cc:940)
paddleocr用自己的训练集训练识别模型RARE算法报错
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
4条回答 默认 最新
关注该报错是在使用paddleocr利用自己的训练集训练识别模型并采用RARE算法时出现的,错误类型为
ValueError,具体是模型输出的logits形状(50)与标签形状(100)在某个维度上不匹配,通常发生在序列长度维度。- 可能原因:
- 字符集定义问题:
character_dict_path中定义的字符数量与模型输出维度不匹配。 - 标签处理问题:训练数据中的标签长度超过了模型配置的最大长度。
- 配置文件参数问题:
max_text_length设置不正确。
- 字符集定义问题:
- 排查和修改方法:
- 检查训练集数据:确保训练集数据的格式正确,图片尺寸符合模型要求,标注信息准确。可以打印部分训练数据来查看其具体内容,检查是否存在异常值。
- 检查字符集文件:确保
character_dict_path指向的文件包含所有训练集中出现的字符,且顺序正确。字典文件格式应为每行一个字符。 - 检查配置文件:
- 确认配置文件中与数据路径、数据预处理等相关的参数是否正确设置,比如
TrainReader部分的data_dir是否指向正确的训练集目录。 - 检查与模型相关的参数设置,看是否与训练集的规模和特性相匹配。例如修改
rec_r34_vd_tps_bilstm_att.yml中的关键参数:确保character_dict_path路径正确;根据数据集调整max_text_length的值;如果数据包含空格,设置use_space_char为True。同时确认数据预处理中max_text_length与配置文件一致。
- 确认配置文件中与数据路径、数据预处理等相关的参数是否正确设置,比如
- 检查数据预处理:保证数据预处理过程中对标签的处理正确,
max_text_length设置合理,与配置文件中的设置一致。 - 调整模型参数:如果问题仍然存在,可以尝试减小
batch_size或调整网络结构。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报- 可能原因: