刘虾 2025-05-07 00:06 采纳率: 49.4%
浏览 17
已结题

paddleocr用自己的训练集训练识别模型RARE算法报错

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)

  • 写回答

4条回答 默认 最新

  • AI仙人掌 iFLYTEKA.I开发者大赛获奖者 2025-05-07 08:17
    关注

    该报错是在使用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_charTrue 。同时确认数据预处理中max_text_length与配置文件一致。
      • 检查数据预处理:保证数据预处理过程中对标签的处理正确,max_text_length设置合理,与配置文件中的设置一致。
      • 调整模型参数:如果问题仍然存在,可以尝试减小batch_size或调整网络结构。
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 5月16日
  • 已采纳回答 5月8日
  • 创建了问题 5月7日