topduke

Results 49 comments of topduke

这样的情况很多吗?如果所有的测试用例都是这样的,有可能是矫正模块中的grid_sample算子的问题,这个算子因为很难并行在很多推理加速框架中不支持。

导出模型时,可以先把矫正模块去掉,注意修改input_size。如果可以正常预测结果,说明是grid_sample的原因。

建议统计宽高比,[3, 32, 100]适应**宽高**比多数为4:1且单个样本字符数不超过20的数据集; tps_inputsize:是输入到tps网络的size,建议随着[3, 32, 100]的改变而改变; img_size是输入到SVTRNet中的size,同样需要随着[3, 32, 100]的改变而改变。 例如: 数据集中存在很多宽高比为10:1样本,则可以将[3, 32, 100]修改为[3, 32, 200]或者[3, 32, 320],也可以参考[SVTR中文配置](https://paddleocr.bj.bcebos.com/PP-OCRv3/chinese/rec_svtr_tiny_none_ctc_ch_train.tar) 。 如果有变长输入的需求,建议使用根据基于SVTR改进的[PP-OCRv3](https://github.com/PaddlePaddle/PaddleOCR/blob/release/2.5/doc/doc_ch/ppocr_introduction.md#52) .

> 1:但是**转为onnx**时,shape=[None, 3, 64, 256]有什么依据吗?能否将宽度定义为边长 SVTR使用了绝对位置编码,因此是不支持的变长的,如果想要使用SVTR作为backbone建议统计宽高比。 > 2:有尝试过使用multihead加入sarhead后代码报错,svtr是否有multihead的训练代码配置? PP-OCRv3支持变长的原因并不是使用了multihead,而是使用了LCNet+svtr_neck作为backbone。

``` Neck: name: SequenceEncoder encoder_type: svtr dims: 64 depth: 2 hidden_dims: 120 use_guide: True ```

建议查看源码,确定每个参数的作用,尤其是use_guide参数,当单独使用svtr neck时use_guide应设置为false,使用mutli head时设置为true

> 您好,PPOCRv3的LCNet+svtr_neck作为backbone没有提供训练的配置文件和model吗?我有注意到给的配置文件里是mobileV1 MobileNetV1Enhance即为LCNet

未复现出此类问题,请问是否修改了代码?

尝试不使用GPU情况是否可以正常训练

```yaml Global: use_gpu: True epoch_num: 20 log_smooth_window: 20 print_batch_step: 10 save_model_dir: ./output/rec/svtr/ save_epoch_step: 1 # evaluation is run every 2000 iterations after the 0th iteration eval_batch_step: [0, 2000] cal_metric_during_train: True...