Пока такое поведение кажется изолированным для каждого процесса.
После исследования выяснилось, что PaddleOCR поддерживает некоторую форму глобального состояния или механизма кэширования.
Версии
Код: Выделить всё
paddlepaddle==3.0.0
paddleocr==2.10.0
Код: Выделить всё
import paddle
from paddleocr import PaddleOCR
import gc
paddleocr = PaddleOCR(use_angle_cls=True, lang='french', show_log=False)
content = paddleocr.ocr(file_path, cls=False, det=True, rec=True)
content = "\n".join(line[1][0]
for region in content if region is not None
for line in region)
# ... cleaning attempt ...
paddle.device.cuda.empty_cache()
del paddleocr
gc.collect()
Код: Выделить всё
[program:ocr]
directory=/app/
command=dramatiq start --queues ocr_process ocr_send --processes 3 --threads 1 --log-file /app/storage/logs/dramatiq.log
environment=dramatiq_prom_port="9196"
startsecs=0
autostart=true
autorestart=true
loglevel=debug
stopwaitsecs=60
stderr_logfile=/app/storage/logs/supervisor.log
stdout_logfile=/app/storage/logs/supervisor.log
Подробнее здесь: https://stackoverflow.com/questions/798 ... s-document
Мобильная версия