Replies: 13 comments 9 replies
-
您好,请问在paddle3.0b1上也会内存上涨吗?您那边可以试试,paddle2.6我这边也同步看一下 |
Beta Was this translation helpful? Give feedback.
-
未测试paddle3.0b1,不过我刚把paddle版本降级到2.4.2,就不上涨了,正常执行,不知道是不是paddle版本问题,或者是和tensorrt版本不匹配??工作需要把paddle版本升级到2.6.1,ocr版本升级为2.8.1,所以还是要定位原因。麻烦了 |
Beta Was this translation helpful? Give feedback.
-
到底哪些版本会存在内存泄漏问题,官方能不能具体给个说明? |
Beta Was this translation helpful? Give feedback.
-
您好,您那边可以提供一下导出的配置的文件和官方权重的位置吗? |
Beta Was this translation helpful? Give feedback.
-
model : https://github.com/PaddlePaddle/PaddleOCR/blob/v2.8.1/doc/doc_ch/models_list.md
v3 config:
`Global:
debug: false
epoch_num: 100
log_smooth_window: 20
print_batch_step: 10
save_model_dir: ./output/v3_en_mobile
save_epoch_step: 3
eval_batch_step:
- 0
- 100
cal_metric_during_train: true
pretrained_model: xxxxxxxxxxxxx/pretrain_model/en_PP-OCRv3_rec_train/best_accuracy.pdparams
checkpoints: null
save_inference_dir: null
use_visualdl: false
infer_img: doc/imgs_words/ch/word_1.jpg
character_dict_path: ppocr/utils/en_dict.txt
max_text_length: 25
infer_mode: false
use_space_char: true
distributed: true
save_res_path: ./output/rec/predicts_ppocrv3_en.txt
Optimizer:
name: Adam
beta1: 0.9
beta2: 0.999
lr:
name: Cosine
learning_rate: 0.001
warmup_epoch: 5
regularizer:
name: L2
factor: 3.0e-05
Architecture:
model_type: rec
algorithm: SVTR_LCNet
Transform: null
Backbone:
name: MobileNetV1Enhance
scale: 0.5
last_conv_stride:
- 1
- 2
last_pool_type: avg
last_pool_kernel_size:
- 2
- 2
Head:
name: MultiHead
head_list:
- CTCHead:
Neck:
name: svtr
dims: 64
depth: 2
hidden_dims: 120
use_guide: true
Head:
fc_decay: 1.0e-05
- SARHead:
enc_dim: 512
max_text_length: 25
Loss:
name: MultiLoss
loss_config_list:
- CTCLoss: null
- SARLoss: null
PostProcess:
name: CTCLabelDecode
Metric:
name: RecMetric
main_indicator: acc
ignore_space: false
Train:
dataset:
name: SimpleDataSet
data_dir: xxxxxxxxxxxxxxxxxxxxxxxxxx
ext_op_transform_idx: 1
label_file_list:
- xxxxxxxxxxxxxxxxxxxxxxx/train_list.txt
transforms:
- DecodeImage:
img_mode: BGR
channel_first: false
- RecConAug:
prob: 0.5
ext_data_num: 2
image_shape:
- 48
- 320
- 3
max_text_length: 25
- RecAug: null
- MultiLabelEncode: null
- RecResizeImg:
image_shape:
- 3
- 48
- 320
- KeepKeys:
keep_keys:
- image
- label_ctc
- label_sar
- length
- valid_ratio
loader:
shuffle: true
batch_size_per_card: 128
drop_last: true
num_workers: 4
Eval:
dataset:
name: SimpleDataSet
data_dir: xxxxxxxxxxxxxxxxxxxxxxxxxxxx
label_file_list:
- xxxxxxxxxxxxxxxxxxxxxxx/val_list.txt
transforms:
- DecodeImage:
img_mode: BGR
channel_first: false
- MultiLabelEncode: null
- RecResizeImg:
image_shape:
- 3
- 48
- 320
- KeepKeys:
keep_keys:
- image
- label_ctc
- label_sar
- length
- valid_ratio
loader:
shuffle: false
drop_last: false
batch_size_per_card: 128
num_workers: 4
profiler_options: null
`
v4 config:
`Global:
debug: false
use_gpu: true
epoch_num: 2
amp_level: O1
log_smooth_window: 20
print_batch_step: 10
save_model_dir: xxxxxxxxxxxxxxxxxxxxxxxx
save_epoch_step: 10
eval_batch_step:
- 0
- 80
cal_metric_during_train: true
pretrained_model: xxxxxxxxxxxxxxxxxxx/pretrain_model/en_PP-OCRv4_rec_train/best_accuracy.pdparams
checkpoints: null
save_inference_dir: null
use_visualdl: true
use_wandb: true
infer_img: doc/imgs_words/ch/word_1.jpg
character_dict_path: PaddleOCR/ppocr/utils/en_dict.txt
max_text_length: 25
infer_mode: false
use_space_char: true
distributed: true
save_res_path: PaddleOCR/output/rec/predicts_ppocrv3.txt
Optimizer:
name: Adam
beta1: 0.9
beta2: 0.999
lr:
name: Cosine
learning_rate: 0.0005
warmup_epoch: 5
regularizer:
name: L2
factor: 3.0e-05
Architecture:
model_type: rec
algorithm: SVTR_LCNet
Transform: null
Backbone:
name: PPLCNetV3
scale: 0.95
Head:
name: MultiHead
head_list:
- CTCHead:
Neck:
name: svtr
dims: 120
depth: 2
hidden_dims: 120
kernel_size:
- 1
- 3
use_guide: true
Head:
fc_decay: 1.0e-05
- NRTRHead:
nrtr_dim: 384
max_text_length: 25
Loss:
name: MultiLoss
loss_config_list:
- CTCLoss: null
- NRTRLoss: null
PostProcess:
name: CTCLabelDecode
Metric:
name: RecMetric
main_indicator: acc
ignore_space: false
Train:
dataset:
name: MultiScaleDataSet
ds_width: false
data_dir: xxxxxxxxxxxxxxxxxxxxxxxxxxxx
ext_op_transform_idx: 1
label_file_list:
- xxxxxxxxxxxxxxxxxxxxxxxxxxxx/train_list.txt
transforms:
- DecodeImage:
img_mode: BGR
channel_first: false
- RecConAug:
prob: 0.5
ext_data_num: 2
image_shape:
- 48
- 320
- 3
max_text_length: 25
- RecAug: null
- MultiLabelEncode:
gtc_encode: NRTRLabelEncode
- KeepKeys:
keep_keys:
- image
- label_ctc
- label_gtc
- length
- valid_ratio
sampler:
name: MultiScaleSampler
scales:
- - 320
- 32
- - 320
- 48
- - 320
- 64
first_bs: 96
fix_bs: false
divided_factor:
- 8
- 16
is_training: true
loader:
shuffle: true
batch_size_per_card: 96
drop_last: true
num_workers: 8
Eval:
dataset:
name: SimpleDataSet
data_dir: xxxxxxxxxxxxxxxxxxxxxx
label_file_list:
- xxxxxxxxxxxxxxxxxxxxx/val_list.txt
transforms:
- DecodeImage:
img_mode: BGR
channel_first: false
- MultiLabelEncode:
gtc_encode: NRTRLabelEncode
- RecResizeImg:
image_shape:
- 3
- 48
- 320
- KeepKeys:
keep_keys:
- image
- label_ctc
- label_gtc
- length
- valid_ratio
loader:
shuffle: false
drop_last: false
batch_size_per_card: 128
num_workers: 4
profiler_options: null |
Beta Was this translation helpful? Give feedback.
-
您好,请问您那边测试的图片数量是多少?有测试过官方模型是否会内存泄漏吗?我用官方模型开tensorrt测了一下,并用memory_profiler 可视化了一下内存,发现它确实会涨一下,但是也没有持续的上涨。 |
Beta Was this translation helpful? Give feedback.
-
我这边一张图重复了10万次 |
Beta Was this translation helpful? Give feedback.
-
可视化内存的代码如下predict_rec.py.zip |
Beta Was this translation helpful? Give feedback.
-
每次将图做点修改后,执行,重复10万次呢 |
Beta Was this translation helpful? Give feedback.
-
|
Beta Was this translation helpful? Give feedback.
-
什么原因,能说一下吗 |
Beta Was this translation helpful? Give feedback.
-
根据您描述的问题,这是一个使用TensorRT推理时内存持续上涨的问题。以下是一些建议和解决方案:
a) 调整批处理参数: --rec_batch_num=1 # 将批处理大小设为1
--max_batch_size=1 # 限制最大批处理大小 b) 增加内存限制: --gpu_mem=2000 # 根据显卡实际情况设置GPU显存限制 c) 关闭一些不必要的选项: --warmup=False # 关闭预热
--benchmark=False # 关闭基准测试模式
python tools/infer/predict_rec.py \
--rec_model_dir=./inference/rec_ppocr_v4/ \
--image_dir="xx" \
--rec_algorithm="SVTR_LCNet" \
--rec_image_shape="3, 48, 320" \
--rec_batch_num=1 \
--rec_char_dict_path="./ppocr/utils/en_dict.txt" \
--use_gpu=True \
--gpu_mem=2000 \
--use_tensorrt=True \
--precision=fp32 \
--warmup=False \
--benchmark=False 这些优化措施应该能够帮助控制内存使用。如果问题仍然存在,建议提交详细的日志信息到PaddleOCR的GitHub issues以获取更多支持。 相关issue: #14203 希望以上建议对您有帮助。 Response generated by 🤖 feifei-bot | claude-3-5-sonnet-latest |
Beta Was this translation helpful? Give feedback.
-
大家现在有解决办法了吗,怎么处理呢,试了好多方法,只要使用不同图片,仍然会有内存泄露的问题,但是实际使用不可能只识别同样的图片 |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
🔎 Search before asking
🐛 Bug (问题描述)
运行命令如上,服务器运行 内存一直涨,直到挂掉,
paddlecor: v2.8.1
tensorrt: 8.6.1.6
python: 3.10
paddle: v2.6.1
这个问题只出现在使用tensorrt推理时。请问到底是什么原因
🏃♂️ Environment (运行环境)
linux
🌰 Minimal Reproducible Example (最小可复现问题的Demo)
使用paddleocr v2.8.1代码训练-导出-推理,使用tensorrt推理出现上述问题,推理参数设置:
Beta Was this translation helpful? Give feedback.
All reactions