基于PaddleOCR2.4的轻量级文字识别技术创新大赛Baseline


该内容介绍轻量级文本识别创新大赛,围绕轻量级文字识别技术,提供12万张真实图片数据集。还讲解了基于PaddleOCR的环境设置、数据准备、训练参数配置、模型训练、评估、预测及基于预测引擎的预测等流程,包括模型大小限制及解决办法。

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

一、.轻量级文本识别创新大赛简介

1.赛题介绍

近年来,深度学习技术在很多方向都取得了巨大的成功,尤其是计算机视觉领域,已经实现了广泛的落地和应用,但由于深度神经网络计算复杂度高,模型参数量大,限制了其在一些场景和设备上进行部署,特别是在移动嵌入式设备的部署。因此,对于模型大小的需求也变得越来越重要。

OCR文本识别任务作为计算机视觉领域的核心问题之一,旨在找出图像中所有的文字信息,进而确定它们的位置和内容。由于文字有不同的外观、形状、尺度和姿态,加上成像时的光照、遮挡等因素干扰,OCR文本识别一直是计算机视觉领域极具挑战性的问题之一,但是在现实世界中又具有庞大的应用基础。

本次挑战赛以 轻量级文字识别技术创新 为主题,提供大规模的中文场景文字识别数据,要求参赛选手兼顾准确率指标与模型大小,并重点考察选手的网络结构设计与训练调优能力。本次挑战赛旨在为研究者提供学术交流平台,进一步推动中文场景文字识别算法与技术的突破。

2.竞赛数据集

本次赛题数据集共包括12万张真实图片,其中10万张图片作为训练集,A榜,B榜各1万张图片作为测试集。 本次赛题数据集既有来自街景的图片(例如店铺标牌、地标等),也有来自文档、网图截取的图片。

        

二、环境设置

PaddleOCR https://github.com/paddlepaddle/PaddleOCR 是一款全宇宙最强的用的OCR工具库,开箱即用,速度杠杠的。

In [ ]
# 从gitee上下载PaddleOCR代码,也可以从GitHub链接下载!git clone https://gitee.com/paddlepaddle/PaddleOCR.git# 升级pip!pip install -U pip 
# 安装依赖%cd ~/PaddleOCR
%pip install -r requirements.txt
In [12]
%cd ~/PaddleOCR/
!tree   -L 1
/home/aistudio/PaddleOCR
.
├── benchmark
├── configs
├── deploy
├── doc
├── inference
├── __init__.py
├── LICENSE
├── log
├── MANIFEST.in
├── output
├── paddleocr.py
├── ppocr
├── PPOCRLabel
├── ppstructure
├── README_ch.md
├── README.md
├── requirements.txt
├── setup.py
├── StyleText
├── test_tipc
├── tools
├── train_rec.log
└── train.sh

13 directories, 10 files

三、数据准备

据悉train数据集共10万张,解压,并划分出10000张作为测试集。

1.数据下载解压

In [ ]
#  解压缩数据集%cd ~
!unzip -qa data/data92473/A榜测试数据集.zip -d data/
!unzip -qa data/data92473/训练数据集.zip -d data/
/home/aistudio
In [ ]
# 使用命令查看训练数据文件夹下数据量是否是10万张!cd ~/data/训练数据集/TrainImages  &&  ls -l | grep "^-" | wc -l
100000

2. 数据集划分

In [ ]
# 读取数据列表文件import pandas as pd
%cd ~
data_label=pd.read_csv('data/训练数据集/LabelTrain.txt',sep='\t')
data_label.head()
/home/aistudio
   Train_000000.jpg          光环
0  Train_000001.jpg  主营:热干面 原汤面
1  Train_000002.jpg          创亿
2  Train_000003.jpg         810
3  Train_000004.jpg   香花桥社区(街道)
4  Train_000005.jpg        藍色经典
In [ ]
# 对数据列表文件进行划分%cd ~/data/训练数据集/print(data_label.shape)
train=data_label[:90000]
val=data_label[89999:]
train.to_csv('train.txt',sep='\t',header=None,index=None)
val.to_csv('val.txt',sep='\t',header=None,index=None)
/home/aistudio/data/训练数据集
(99999, 2)
In [ ]
# 查看数量print(train.shape)print(val.shape)
(90000, 2)
(10000, 2)
In [ ]
!head ~/data/训练数据集/val.txt
Train_090000.jpg	运行时间
Train_090001.jpg	无座
Train_090002.jpg	中国进出口银行
Train_090003.jpg	被人抱紧
Train_090004.jpg	与
Train_090005.jpg	展开
Train_090006.jpg	金”
Train_090007.jpg	欢迎光临
Train_090008.jpg	在2日内到有效
Train_090009.jpg	车服务公司
In [ ]
!head ~/data/训练数据集/train.txt
Train_000001.jpg	主营:热干面 原汤面
Train_000002.jpg	创亿
Train_000003.jpg	810
Train_000004.jpg	香花桥社区(街道)
Train_000005.jpg	藍色经典
Train_000006.jpg	承接:国内外针 梭织订单  欢迎来料加工
Train_000007.jpg	PHOENIXTEA
Train_000008.jpg	电话:13640839583
Train_000009.jpg	B7
Train_000010.jpg	申滨路

四、配置训练参数

以PaddleOCR/configs/rec/ch_ppocr_v2.0/rec_chinese_lite_train_v2.0.yml为基准进行配置

1.配置模型网络

使用CRNN算法,backbone是MobileNetV3,损失函数是CTCLoss

Architecture:
  model_type: rec
  algorithm: CRNN
  Transform:
  Backbone:
    name: MobileNetV3
    scale: 0.5
    model_name: small
    small_stride: [1, 2, 2, 2]  Neck:
    name: SequenceEncoder
    encoder_type: rnn
    hidden_size: 48
  Head:
    name: CTCHead
    fc_decay: 0.00001

2.配置数据

对Train.data_dir, Train.label_file_list, Eval.data_dir, Eval.label_file_list进行配置

Train:  dataset:    name: SimpleDataSet    data_dir: /home/aistudio/data/训练数据集/TrainImages    label_file_list: ["/home/aistudio/data/训练数据集/train.txt"]
...
...Eval:  dataset:    name: SimpleDataSet    data_dir: /home/aistudio/data/训练数据集/TrainImages    label_file_list: ["/home/aistudio/data/训练数据集/val.txt"]

3. 显卡、评估设置

use_gpu、cal_metric_during_train分别是GPU、评估开关

Global:
  use_gpu: false             # true 使用GPU
  .....
  cal_metric_during_train: False   # true 打开评估

4. 多线程任务

Train.loader.num_workers:4Eval.loader.num_workers: 4

5.完整配置

Global:
  use_gpu: true
  epoch_num: 500
  log_smooth_window: 20
  print_batch_step: 10
  save_model_dir: ./output/rec_chinese_lite_v2.0
  save_epoch_step: 3
  # evaluation is run every 5000 iterations after the 4000th iteration
  eval_batch_step: [0, 200]  cal_metric_during_train: True
  pretrained_model:
  checkpoints: 
  save_inference_dir:
  use_visualdl: True
  infer_img: doc/imgs_words/ch/word_1.jpg
  # for data or label process
  character_dict_path: ppocr/utils/ppocr_keys_v1.txt
  max_text_length: 25
  infer_mode: False
  use_space_char: True
  # 结果保存文件
  save_res_path: ./output/rec/predicts_chinese_lite_v2.0.txtOptimizer:
  name: Adam
  beta1: 0.9
  beta2: 0.999
  lr:
    name: Cosine
    learning_rate: 0.001
    warmup_epoch: 5
  regularizer:
    name: 'L2'
    factor: 0.00001Architecture:
  model_type: rec
  algorithm: CRNN
  Transform:
  Backbone:
    name: MobileNetV3
    scale: 0.5
    model_name: small
    small_stride: [1, 2, 2, 2]  Neck:
    name: SequenceEncoder
    encoder_type: rnn
    hidden_size: 48
  Head:
    name: CTCHead
    fc_decay: 0.00001Loss:
  name: CTCLossPostProcess:
  name: CTCLabelDecodeMetric:
  name: RecMetric
  main_indicator: accTrain:
  dataset:
    name: SimpleDataSet
    data_dir: /home/aistudio/data/训练数据集/TrainImages
    label_file_list: ["/home/aistudio/data/训练数据集/train.txt"]    transforms:
      - DecodeImage: # load image
          img_mode: BGR
          channel_first: False
      - RecAug: 
      - CTCLabelEncode: # Class handling label
      - RecResizeImg:
          image_shape: [3, 32, 320]      - KeepKeys:
          keep_keys: ['image', 'label', 'length'] # dataloader will return list in this order
  loader:
    shuffle: True
    batch_size_per_card: 800
    drop_last: True
    num_workers: 4Eval:
  dataset:
    name: SimpleDataSet
    data_dir: /home/aistudio/data/训练数据集/TrainImages
    label_file_list: ["/home/aistudio/data/训练数据集/val.txt"]    transforms:
      - DecodeImage: # load image
          img_mode: BGR
          channel_first: False
      - CTCLabelEncode: # Class handling label
      - RecResizeImg:
          image_shape: [3, 32, 320]      - KeepKeys:
          keep_keys: ['image', 'label', 'length'] # dataloader will return list in this order
  loader:
    shuffle: False
    drop_last: False
    batch_size_per_card: 512
    num_workers: 4

五、训练

In [ ]
%cd ~/PaddleOCR/
!python tools/train.py -c ./configs/rec/ch_ppocr_v2.0/rec_chinese_lite_train_v2.0.yml

1.选择合适的batch size

2.训练日志

[2025/12/30 08:35:35] root INFO: Initialize indexs of datasets:['/home/aistudio/data/训练数据集/train.txt'][2025/12/30 08:36:09] root INFO: epoch: [72/500], iter: 7960, lr: 0.000958, loss: 8.251744, acc: 0.413749, norm_edit_dis: 0.679774, reader_cost: 0.71643 s, batch_cost: 1.08854 s, samples: 7200, ips: 661.43391[2025/12/30 08:36:35] root INFO: epoch: [72/500], iter: 7970, lr: 0.000958, loss: 8.213228, acc: 0.414374, norm_edit_dis: 0.681107, reader_cost: 0.01124124 s, batch_cost: 0.41975 s, samples: 8000, ips: 1905.90655[2025/12/30 08:37:02] root INFO: epoch: [72/500], iter: 7980, lr: 0.000957, loss: 8.017796, acc: 0.415624, norm_edit_dis: 0.680611, reader_cost: 0.01079 s, batch_cost: 0.41746 s, samples: 8000, ips: 1916.34344[2025/12/30 08:37:28] root INFO: epoch: [72/500], iter: 7990, lr: 0.000957, loss: 8.049696, acc: 0.421241249, norm_edit_dis: 0.688969, reader_cost: 0.01128 s, batch_cost: 0.41961 s, samples: 8000, ips: 1906.51883[2025/12/30 08:37:55] root INFO: epoch: [72/500], iter: 8000, lr: 0.000957, loss: 7.952358, acc: 0.421241249, norm_edit_dis: 0.688969, reader_cost: 0.01156 s, batch_cost: 0.41822 s, samples: 8000, ips: 1912.88346eval model:: 100%|██████████████████████████████| 20/20 [00:28<00:00,  1.17s/it]
[2021/12/30 08:38:23] root INFO: cur metric, acc: 0.6908999309100069, norm_edit_dis: 0.8983265023824453, fps: 4436.456909249088[2021/12/30 08:38:23] root INFO: save best model is to ./output/rec_chinese_lite_v2.0/best_accuracy

3. visualdl可视化

  • 本地安装visualdl pip install visualdl
  • 下载日志至本地
  • 启动visualdl可视化  visualdl --logdir ./
  • 打开浏览器查看  http://localhost:8040/

六、模型评估

In [ ]
# GPU 评估, Global.checkpoints 为待测权重%cd ~/PaddleOCR/
!python  -m paddle.distributed.launch tools/eval.py -c configs/rec/ch_ppocr_v2.0/rec_chinese_lite_train_v2.0.yml \
    -o Global.checkpoints=./output/rec_chinese_lite_v2.0/best_accuracy
/home/aistudio/PaddleOCR
-----------  Configuration Arguments -----------
backend: auto
elastic_server: None
force: False
gpus: None
heter_devices: 
heter_worker_num: None
heter_workers: 
host: None
http_port: None
ips: 127.0.0.1
job_id: None
log_dir: log
np: None
nproc_per_node: None
run_mode: None
scale: 0
server_num: None
servers: 
training_script: tools/eval.py
training_script_args: ['-c', 'configs/rec/ch_ppocr_v2.0/rec_chinese_lite_train_v2.0.yml', '-o', 'Global.checkpoints=./output/rec_chinese_lite_v2.0/best_accuracy']
worker_num: None
workers: 
------------------------------------------------
WARNING 2025-12-30 08:49:47,054 launch.py:423] Not found distinct arguments and compiled with cuda or xpu. Default use collective mode
launch train in GPU mode!
INFO 2025-12-30 08:49:47,057 launch_utils.py:528] Local start 1 processes. First process distributed environment info (Only For Debug): 
    +=======================================================================================+
    |                        Distributed Envs                      Value                    |
    +---------------------------------------------------------------------------------------+
    |                       PADDLE_TRAINER_ID                        0                      |
    |                 PADDLE_CURRENT_ENDPOINT                 127.0.0.1:44352               |
    |                     PADDLE_TRAINERS_NUM                        1                      |
    |                PADDLE_TRAINER_ENDPOINTS                 127.0.0.1:44352               |
    |                     PADDLE_RANK_IN_NODE                        0                      |
    |                 PADDLE_LOCAL_DEVICE_IDS                        0                      |
    |                 PADDLE_WORLD_DEVICE_IDS                        0                      |
    |                     FLAGS_selected_gpus                        0                      |
    |             FLAGS_selected_accelerators                        0                      |
    +=======================================================================================+

INFO 2025-12-30 08:49:47,057 launch_utils.py:532] details abouts PADDLE_TRAINER_ENDPOINTS can be found in log/endpoints.log, and detail running logs maybe found in log/workerlog.0
launch proc_id:57223 idx:0
[2025/12/30 08:49:48] root INFO: Architecture : 
[2025/12/30 08:49:48] root INFO:     Backbone : 
[2025/12/30 08:49:48] root INFO:         model_name : small
[2025/12/30 08:49:48] root INFO:         name : MobileNetV3
[2025/12/30 08:49:48] root INFO:         scale : 0.5
[2025/12/30 08:49:48] root INFO:         small_stride : [1, 2, 2, 2]
[2025/12/30 08:49:48] root INFO:     Head : 
[2025/12/30 08:49:48] root INFO:         fc_decay : 1e-05
[2025/12/30 08:49:48] root INFO:         name : CTCHead
[2025/12/30 08:49:48] root INFO:     Neck : 
[2025/12/30 08:49:48] root INFO:         encoder_type : rnn
[2025/12/30 08:49:48] root INFO:         hidden_size : 48
[2025/12/30 08:49:48] root INFO:         name : SequenceEncoder
[2025/12/30 08:49:48] root INFO:     Transform : None
[2025/12/30 08:49:48] root INFO:     algorithm : CRNN
[2025/12/30 08:49:48] root INFO:     model_type : rec
[2025/12/30 08:49:48] root INFO: Eval : 
[2025/12/30 08:49:48] root INFO:     dataset : 
[2025/12/30 08:49:48] root INFO:         data_dir : /home/aistudio/data/训练数据集/TrainImages
[2025/12/30 08:49:48] root INFO:         label_file_list : ['/home/aistudio/data/训练数据集/val.txt']
[2025/12/30 08:49:48] root INFO:         name : SimpleDataSet
[2025/12/30 08:49:48] root INFO:         transforms : 
[2025/12/30 08:49:48] root INFO:             DecodeImage : 
[2025/12/30 08:49:48] root INFO:                 channel_first : False
[2025/12/30 08:49:48] root INFO:                 img_mode : BGR
[2025/12/30 08:49:48] root INFO:             CTCLabelEncode : None
[2025/12/30 08:49:48] root INFO:             RecResizeImg : 
[2025/12/30 08:49:48] root INFO:                 image_shape : [3, 32, 320]
[2025/12/30 08:49:48] root INFO:             KeepKeys : 
[2025/12/30 08:49:48] root INFO:                 keep_keys : ['image', 'label', 'length']
[2025/12/30 08:49:48] root INFO:     loader : 
[2025/12/30 08:49:48] root INFO:         batch_size_per_card : 512
[2025/12/30 08:49:48] root INFO:         drop_last : False
[2025/12/30 08:49:48] root INFO:         num_workers : 4
[2025/12/30 08:49:48] root INFO:         shuffle : False
[2025/12/30 08:49:48] root INFO: Global : 
[2025/12/30 08:49:48] root INFO:     cal_metric_during_train : True
[2025/12/30 08:49:48] root INFO:     character_dict_path : ppocr/utils/ppocr_keys_v1.txt
[2025/12/30 08:49:48] root INFO:     checkpoints : ./output/rec_chinese_lite_v2.0/best_accuracy
[2025/12/30 08:49:48] root INFO:     debug : False
[2025/12/30 08:49:48] root INFO:     distributed : False
[2025/12/30 08:49:48] root INFO:     epoch_num : 500
[2025/12/30 08:49:48] root INFO:     eval_batch_step : [0, 200]
[2025/12/30 08:49:48] root INFO:     infer_img : doc/imgs_words/ch/word_1.jpg
[2025/12/30 08:49:48] root INFO:     infer_mode : False
[2025/12/30 08:49:48] root INFO:     log_smooth_window : 20
[2025/12/30 08:49:48] root INFO:     max_text_length : 25
[2025/12/30 08:49:48] root INFO:     pretrained_model : None
[2025/12/30 08:49:48] root INFO:     print_batch_step : 10
[2025/12/30 08:49:48] root INFO:     save_epoch_step : 3
[2025/12/30 08:49:48] root INFO:     save_inference_dir : None
[2025/12/30 08:49:48] root INFO:     save_model_dir : ./output/rec_chinese_lite_v2.0
[2025/12/30 08:49:48] root INFO:     save_res_path : ./output/rec/predicts_chinese_lite_v2.0.txt
[2025/12/30 08:49:48] root INFO:     use_gpu : True
[2025/12/30 08:49:48] root INFO:     use_space_char : True
[2025/12/30 08:49:48] root INFO:     use_visualdl : True
[2025/12/30 08:49:48] root INFO: Loss : 
[2025/12/30 08:49:48] root INFO:     name : CTCLoss
[2025/12/30 08:49:48] root INFO: Metric : 
[2025/12/30 08:49:48] root INFO:     main_indicator : acc
[2025/12/30 08:49:48] root INFO:     name : RecMetric
[2025/12/30 08:49:48] root INFO: Optimizer : 
[2025/12/30 08:49:48] root INFO:     beta1 : 0.9
[2025/12/30 08:49:48] root INFO:     beta2 : 0.999
[2025/12/30 08:49:48] root INFO:     lr : 
[2025/12/30 08:49:48] root INFO:         learning_rate : 0.001
[2025/12/30 08:49:48] root INFO:         name : Cosine
[2025/12/30 08:49:48] root INFO:         warmup_epoch : 5
[2025/12/30 08:49:48] root INFO:     name : Adam
[2025/12/30 08:49:48] root INFO:     regularizer : 
[2025/12/30 08:49:48] root INFO:         factor : 1e-05
[2025/12/30 08:49:48] root INFO:         name : L2
[2025/12/30 08:49:48] root INFO: PostProcess : 
[2025/12/30 08:49:48] root INFO:     name : CTCLabelDecode
[2025/12/30 08:49:48] root INFO: Train : 
[2025/12/30 08:49:48] root INFO:     dataset : 
[2025/12/30 08:49:48] root INFO:         data_dir : /home/aistudio/data/训练数据集/TrainImages
[2025/12/30 08:49:48] root INFO:         label_file_list : ['/home/aistudio/data/训练数据集/train.txt']
[2025/12/30 08:49:48] root INFO:         name : SimpleDataSet
[2025/12/30 08:49:48] root INFO:         transforms : 
[2025/12/30 08:49:48] root INFO:             DecodeImage : 
[2025/12/30 08:49:48] root INFO:                 channel_first : False
[2025/12/30 08:49:48] root INFO:                 img_mode : BGR
[2025/12/30 08:49:48] root INFO:             RecAug : None
[2025/12/30 08:49:48] root INFO:             CTCLabelEncode : None
[2025/12/30 08:49:48] root INFO:             RecResizeImg : 
[2025/12/30 08:49:48] root INFO:                 image_shape : [3, 32, 320]
[2025/12/30 08:49:48] root INFO:             KeepKeys : 
[2025/12/30 08:49:48] root INFO:                 keep_keys : ['image', 'label', 'length']
[2025/12/30 08:49:48] root INFO:     loader : 
[2025/12/30 08:49:48] root INFO:         batch_size_per_card : 800
[2025/12/30 08:49:48] root INFO:         drop_last : True
[2025/12/30 08:49:48] root INFO:         num_workers : 4
[2025/12/30 08:49:48] root INFO:         shuffle : True
[2025/12/30 08:49:48] root INFO: profiler_options : None
[2025/12/30 08:49:48] root INFO: train with paddle 2.2.1 and device CUDAPlace(0)
[2025/12/30 08:49:48] root INFO: Initialize indexs of datasets:['/home/aistudio/data/训练数据集/val.txt']
W1230 08:49:48.777415 57223 device_context.cc:447] Please NOTE: device: 0, GPU Compute Capability: 7.0, Driver API Version: 10.1, Runtime API Version: 10.1
W1230 08:49:48.781112 57223 device_context.cc:465] device: 0, cuDNN Version: 7.6.
[2025/12/30 08:49:52] root INFO: resume from ./output/rec_chinese_lite_v2.0/best_accuracy
[2025/12/30 08:49:52] root INFO: metric in ckpt ***************
[2025/12/30 08:49:52] root INFO: acc:0.7108999289100071
[2025/12/30 08:49:52] root INFO: norm_edit_dis:0.9080091791996405
[2025/12/30 08:49:52] root INFO: fps:4172.613918329738
[2025/12/30 08:49:52] root INFO: best_epoch:74
[2025/12/30 08:49:52] root INFO: start_epoch:75

eval model::   0%|          | 0/20 [00:00



七、结果预测

预测脚本使用预测训练好的模型,并将结果保存成txt格式,可以直接送到比赛提交入口测评,文件默认保存在output/rec/predicts_chinese_lite_v2.0.txt

In [ ]
!python tools/infer_rec.py -c configs/rec/ch_ppocr_v2.0/rec_chinese_lite_train_v2.0.yml \
    -o Global.infer_img="/home/aistudio/data/A榜测试数据集/TestAImages" \
    Global.pretrained_model="./output/rec_chinese_lite_v2.0/latest.pdparams"

预测日志

[2025/12/30 08:52:55] root INFO: 	 result: 门	0.5737782[2025/12/30 08:52:55] root INFO: infer_img: /home/aistudio/data/A榜测试数据集/TestAImages/TestA_000704.jpg
[2025/12/30 08:52:55] root INFO: 	 result: 红豆米营美码	0.5796438[2025/12/30 08:52:55] root INFO: infer_img: /home/aistudio/data/A榜测试数据集/TestAImages/TestA_000705.jpg
[2025/12/30 08:52:55] root INFO: 	 result: 少年成长加油站	0.95518243[2025/12/30 08:52:55] root INFO: infer_img: /home/aistudio/data/A榜测试数据集/TestAImages/TestA_000706.jpg
[2025/12/30 08:52:55] root INFO: 	 result: 展板奖牌铜牌活动策划	0.6614779[2025/12/30 08:52:55] root INFO: infer_img: /home/aistudio/data/A榜测试数据集/TestAImages/TestA_000707.jpg
[2025/12/30 08:52:55] root INFO: 	 result: USG铁工代室	0.61983764[2025/12/30 08:52:55] root INFO: infer_img: /home/aistudio/data/A榜测试数据集/TestAImages/TestA_000708.jpg
[2025/12/30 08:52:55] root INFO: 	 result: 家部	0.10427441[2025/12/30 08:52:55] root INFO: infer_img: /home/aistudio/data/A榜测试数据集/TestAImages/TestA_000709.jpg
...
...

八、基于预测引擎的预测

1.模型大小限制

约束性条件1:模型总大小不超过10MB(以.pdmodel和.pdiparams文件非压缩状态磁盘占用空间之和为准);

2.解决办法

训练过程中保存的模型是checkpoints模型,保存的只有模型的参数,多用于恢复训练等。实际上,此处的约束条件限制的是inference 模型的大小。inference 模型一般是模型训练,把模型结构和模型参数保存在文件中的固化模型,多用于预测部署场景。与checkpoints模型相比,inference 模型会额外保存模型的结构信息,在预测部署、加速推理上性能优越,灵活方便,适合于实际系统集成,模型大小也会小一些。

In [ ]
# 静态模型导出%cd ~/PaddleOCR/
!python tools/export_model.py -c configs/rec/ch_ppocr_v2.0/rec_chinese_lite_train_v2.0.yml -o Global.pretrained_model=./output/rec_chinese_lite_v2.0/latest.pdparams  Global.save_inference_dir=./inference/rec_inference/
/home/aistudio/PaddleOCR
W1230 13:19:16.513371   531 device_context.cc:447] Please NOTE: device: 0, GPU Compute Capability: 7.0, Driver API Version: 11.0, Runtime API Version: 10.1
W1230 13:19:16.517957   531 device_context.cc:465] device: 0, cuDNN Version: 7.6.
[2025/12/30 13:19:19] root INFO: load pretrain successful from ./output/rec_chinese_lite_v2.0/latest
[2025/12/30 13:19:21] root INFO: inference model is saved to ./inference/rec_inference/inference
In [13]
%cd ~/PaddleOCR/
!du -sh ./inference/rec_inference/
/home/aistudio/PaddleOCR
5.2M	./inference/rec_inference/
  • 可以看到,当前训练使用的CRNN算法导出inference后,仅有5.2M。
  • 导出的inference模型也可以用来预测,预测逻辑如下代码所示。
In [ ]
# 使用导出静态模型预测%cd ~/PaddleOCR/
!python3.7 tools/infer/predict_rec.py  --rec_model_dir=./inference/rec_inference/  --image_dir="/home/aistudio/data/A榜测试数据集/TestAImages"

预测日志

[2025/12/30 13:20:08] root INFO: Predicts of /home/aistudio/data/A榜测试数据集/TestAImages/TestA_000001.jpg:('MJ', 0.2357887)
[2025/12/30 13:20:08] root INFO: Predicts of /home/aistudio/data/A榜测试数据集/TestAImages/TestA_000002.jpg:('中门', 0.7167614)
[2025/12/30 13:20:08] root INFO: Predicts of /home/aistudio/data/A榜测试数据集/TestAImages/TestA_000003.jpg:('黄焖鸡米饭', 0.7325407)
[2025/12/30 13:20:08] root INFO: Predicts of /home/aistudio/data/A榜测试数据集/TestAImages/TestA_000004.jpg:('加行', 0.06699998)
[2025/12/30 13:20:08] root INFO: Predicts of /home/aistudio/data/A榜测试数据集/TestAImages/TestA_000005.jpg:('学商烤面航', 0.40579563)
[2025/12/30 13:20:08] root INFO: Predicts of /home/aistudio/data/A榜测试数据集/TestAImages/TestA_000006.jpg:('绿村装机 滋光彩机 CP口出国', 0.38243735)
[2025/12/30 13:20:08] root INFO: Predicts of /home/aistudio/data/A榜测试数据集/TestAImages/TestA_000007.jpg:('有酸锁 四好吃', 0.38957664)
[2025/12/30 13:20:08] root INFO: Predicts of /home/aistudio/data/A榜测试数据集/TestAImages/TestA_000008.jpg:('婚汽中海', 0.36037388)
[2025/12/30 13:20:08] root INFO: Predicts of /home/aistudio/data/A榜测试数据集/TestAImages/TestA_000009.jpg:('L', 0.25453746)
[2025/12/30 13:20:08] root INFO: Predicts of /home/aistudio/data/A榜测试数据集/TestAImages/TestA_000010.jpg:('清女装', 0.79736567)
[2025/12/30 13:20:08] root INFO: Predicts of /home/aistudio/data/A榜测试数据集/TestAImages/TestA_000011.jpg:('幼小数学视食', 0.50577885)
...
...


# paddlepaddle  # 被人  # 尤其是  # 也会  # 热干面  # 也有  # 是在  # 的是  # 解决办法  # 万张  # 测试数据  # https  # http  # ocr  # python  # 算法  # github  # 多线程  # 线程  # pip  # batch  # igs  # red  # cos  # ai  # 工具  # 浏览器  # git 


相关栏目: 【 Google疑问12 】 【 Facebook疑问10 】 【 网络优化91478 】 【 技术知识72672 】 【 云计算0 】 【 GEO优化84317 】 【 优选文章0 】 【 营销推广36048 】 【 网络运营41350 】 【 案例网站102563 】 【 AI智能45237


相关推荐: 钉钉ai划词工具怎样查看划词历史_钉钉ai划词工具历史记录查询【指南】  Depseek如何让提示词包含上下文_Depseek上下文补充提示词写法【步骤】  ChatGPT助力Instagram Reels脚本创作:提升内容质量  豆包Ai官方网页版入口地址_豆包Ai官网在线使用入口  探索古希腊之美:AI打造的绝|美女|神形象赏析  ChatGPT怎么生成短视频脚本_ChatGPT脚本生成方法【指南】  Universe:用 iPhone 在 5 分钟内打造网站的终极指南  找不到百度AI助手入口 最新官网登录入口  PixianAI抠图如何导出PSD_PixianAI分层导出与PSD保存设置【实操】  2025年QA工程师必备:五款AI自动化测试工具深度解析  AI赋能:五款颠覆性工具助你在线赚钱  银行对账单解读完全指南:掌握财务状况,优化资金管理  掌握解方程技巧:4.2家庭作业难题精讲与分数系数处理  美图秀秀AI抠图如何修复抠图误差_美图秀秀AI误差修复与手动涂抹【指南】  零基础玩转千问AI,轻松实现月入万元的最新方法!  百度输入法ai写作怎么关 百度输入法ai帮写禁用  tofai官网网页版入口 tofai最新网页版登录链接  亚马逊KDP电子书掘金:月入1万美元的秘密策略  AI CRM集成:提升客户关系管理效率的关键  百度输入法智能预测怎么关 百度输入法ai联想词关闭  批改网AI检测工具怎么生成评分报告_批改网AI检测工具报告生成与维度解读【指南】  如何利用 DeepSeek 进行多轮复杂对话的状态管理  AI赋能播客:十大AI播客工具助力内容创作  如何使用豆包 AI 练习托福雅思口语对练  AI动画制作教程:Adobe Express一键语音转动画  Gemini怎样写细节型提示词_Gemini细节提示词编写【步骤】  AI辅助儿童圣经课程创作:轻松制作教育视频  如何用AI帮你制定个人OKR?目标管理从未如此简单  AI Vibe Coding: 快速打造落地页,低代码平台实战教程  DeepSeek是免费使用的吗 DeepSeek收费模式与Pro版本功能详解  AI赋能副业:五大掘金机会,轻松开启智能创收时代  探索泰勒·斯威夫特《August》的深层含义:歌词解析与情感分析  AI时代生存指南:掌握软实力,成为不可替代的人  Codova AI:终极动态QR码生成器教程与功能详解  AI怎么修复模糊视频 视频画质增强AI软件Topaz Video使用【教程】  Claude怎么用新功能故事创作_Claude故事创作使用【方法】  AI照片编辑:为你的单人照添加逼真女友,告别孤单  播客数据深度分析:揭秘全球听众分布及增长策略  ChatGPT一键生成PPT怎么加动画_ChatGPTPPT动画添加【指南】  美食ASMR:感官盛宴与解压体验  优化《现代战争2》色彩:提升游戏视觉体验终极指南  AI海报设计终极指南:工具、技巧与避坑全攻略  如何在 Google Sheets 中利用 Gemini 自动填充数据  AI Buildr: 构建 AI 应用的终极指南  《高龄母亲》:从日本民间故事中汲取的人生智慧与家庭真谛  使用Autogen框架进行业务分析和执行报告生成  AI绘图工具测评:告别复杂流程,高效创作流程图  解读 Karan Aujla:如何用音乐连接全球与故土?  Roblox Studio AI 助手:创意构建与无限可能  即梦ai能否生成3D建模参考图_即梦ai3D参考图生成与视角设置【方法】 

 2025-08-01

了解您产品搜索量及市场趋势,制定营销计划

同行竞争及网站分析保障您的广告效果

点击免费数据支持

提交您的需求,1小时内享受我们的专业解答。

南京市珐之弘网络技术有限公司


南京市珐之弘网络技术有限公司

南京市珐之弘网络技术有限公司专注海外推广十年,是谷歌推广.Facebook广告全球合作伙伴,我们精英化的技术团队为企业提供谷歌海外推广+外贸网站建设+网站维护运营+Google SEO优化+社交营销为您提供一站式海外营销服务。

 87067657

 13565296790

 87067657@qq.com

Notice

We and selected third parties use cookies or similar technologies for technical purposes and, with your consent, for other purposes as specified in the cookie policy.
You can consent to the use of such technologies by closing this notice, by interacting with any link or button outside of this notice or by continuing to browse otherwise.