diff --git a/document/Linux下搭建和部署Paddle相关项目.docx b/document/Linux下搭建和部署Paddle相关项目.docx new file mode 100644 index 0000000..73d37c1 Binary files /dev/null and b/document/Linux下搭建和部署Paddle相关项目.docx differ diff --git a/document/OCR工作效率统计.xlsx b/document/OCR工作效率统计.xlsx new file mode 100644 index 0000000..45c2b27 Binary files /dev/null and b/document/OCR工作效率统计.xlsx differ diff --git a/document/PaddleOCR命令.md b/document/PaddleOCR命令.md new file mode 100644 index 0000000..9d1b66d --- /dev/null +++ b/document/PaddleOCR命令.md @@ -0,0 +1,153 @@ +# PaddleOCR + +------ + +## 数据集 + +该部分内容均在PPOCRLabel目录下进行 + +```bash +# 进入PPOCRLabel目录 +cd .\PPOCRLabel\ +``` + +### 打标 + +可以对PPOCRLabel.py直接使用PyCharm中的Run,但是默认是英文的 + +```bash +# 以中文运行打标应用 +python PPOCRLabel.py --lang ch +# 含有关键词提取的打标 +python PPOCRLabel.py --lang ch --kie True +``` + +### 划分数据集 + +```bash +python gen_ocr_train_val_test.py --trainValTestRatio 6:2:2 --datasetRootPath ../train_data/drivingData +``` + +------ + +## 检测模型 + +先回到项目根目录 + +### 训练 + +```bash +python tools/train.py -c configs/det/ch_PP-OCRv4/ch_PP-OCRv4_det_student.yml +``` + +### 测试 + +```bash +python tools/infer_det.py -c configs/det/ch_PP-OCRv4/ch_PP-OCRv4_det_student.yml -o Global.pretrained_model=output/det_v4_bankcard/best_accuracy.pdparams Global.infer_img=train_data/drivingData/1.jpg +``` + +### 恢复训练 + +```bash +python tools/train.py -c configs/det/ch_PP-OCRv4/ch_PP-OCRv4_det_student.yml -o Global.checkpoints=./output/det_v4_bankcard/latest +``` + +------ + +## 识别模型 + +### 训练 + +```bash +python tools/train.py -c configs/rec/PP-OCRv4/ch_PP-OCRv4_rec_ampO2_ultra.yml +``` + +### 测试 + +```bash +python tools/infer_rec.py -c configs/rec/PP-OCRv4/ch_PP-OCRv4_rec_ampO2_ultra.yml -o Global.pretrained_model=output/rec_v4_bankcard/best_accuracy.pdparams Global.infer_img=train_data/drivingData/crop_img/1_crop_0.jpg +``` + +------ + +## 推理模型 + +### 检测模型转换 + +```bash +python tools/export_model.py -c configs/det/ch_PP-OCRv4/ch_PP-OCRv4_det_student.yml -o Global.pretrained_model=output/det_v4_bankcard/best_accuracy.pdparams +``` + +### 识别模型转换 + +```bash +python tools/export_model.py -c configs/rec/PP-OCRv4/ch_PP-OCRv4_rec_ampO2_ultra.yml -o Global.pretrained_model=output/rec_v4_bankcard/best_accuracy.pdparams +``` + +### 检测识别测试 + +```bash +python tools/infer/predict_system.py --det_model_dir=inference_model/det_v4_bankcard --rec_model_dir=inference_model/rec_v4_bankcard --rec_char_dict_path=ppocr/utils/num_dict.txt --image_dir=train_data/drivingData/1.jpg +``` + +------ + +## 移动端模型 + +### 检测模型转换 + +```bash +paddle_lite_opt --model_file=inference_model/det_v4_bankcard/inference.pdmodel --param_file=inference_model/det_v4_bankcard/inference.pdiparams --optimize_out=inference_model/det_v4_nb_bankcard --valid_targets=arm --optimize_out_type=naive_buffer +``` + +### 识别模型转换 + +```bash +paddle_lite_opt --model_file=inference_model/rec_v4_bankcard/inference.pdmodel --param_file=inference_model/rec_v4_bankcard/inference.pdiparams --optimize_out=inference_model/rec_v4_nb_bankcard --valid_targets=arm --optimize_out_type=naive_buffer +``` + +------ + +------ + +# PaddleNLP + +## 数据集 + +使用Label Studio进行数据标注,安装过程省略 + +```bash +# 打开Anaconda Prompt +# 激活安装Label Studio的环境 +conda activate label-studio +# 启动Label Studio +label-studio start +``` + +[打标流程](https://github.com/PaddlePaddle/PaddleNLP/blob/develop/applications/information_extraction/label_studio_doc.md) + +### 数据转换 + +```bash +# 进入PaddleNLP\applications\information_extraction后执行 +python label_studio.py --label_studio_file ./document/data/label_studio.json --save_dir ./document/data --splits 0.8 0.1 0.1 --task_type ext +``` + + + +------ + +## 训练模型 + +```bash +# 进入PaddleNLP\applications\information_extraction\document后执行(双卡训练) +python -u -m paddle.distributed.launch --gpus "0,1" finetune.py --device gpu --logging_steps 5 --save_steps 25 --eval_steps 25 --seed 42 --model_name_or_path uie-x-base --output_dir ./checkpoint/model_best --train_path data/train.txt --dev_path data/dev.txt --max_seq_len 512 --per_device_train_batch_size 8 --per_device_eval_batch_size 8 --num_train_epochs 10 --learning_rate 1e-5 --do_train --do_eval --do_export --export_model_dir ./checkpoint/model_best --overwrite_output_dir --disable_tqdm False --metric_for_best_model eval_f1 --load_best_model_at_end True --save_total_limit 1 +``` + +------ + +参考: + +[PaddleOCR训练属于自己的模型详细教程](https://blog.csdn.net/qq_52852432/article/details/131817619?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-0-131817619-blog-124628731.235^v40^pc_relevant_3m_sort_dl_base1&spm=1001.2101.3001.4242.1&utm_relevant_index=3) +[端侧部署](https://github.com/PaddlePaddle/PaddleOCR/blob/release/2.7/deploy/lite/readme_ch.md) +[PaddleNLP关键信息抽取](https://blog.csdn.net/z5z5z5z56/article/details/130346646) \ No newline at end of file diff --git a/document/paddle镜像自带依赖.md b/document/paddle镜像自带依赖.md new file mode 100644 index 0000000..0fc10ff --- /dev/null +++ b/document/paddle镜像自带依赖.md @@ -0,0 +1,329 @@ +anyio 4.0.0 +astor 0.8.1 +certifi 2019.11.28 +chardet 3.0.4 +dbus-python 1.2.16 +decorator 5.1.1 +distro-info 0.23+ubuntu1.1 +exceptiongroup 1.1.3 +h11 0.14.0 +httpcore 1.0.2 +httpx 0.25.1 +idna 2.8 +numpy 1.26.2 +opt-einsum 3.3.0 +paddlepaddle-gpu 2.6.1.post120 +Pillow 10.1.0 +pip 24.0 +protobuf 4.25.0 +PyGObject 3.36.0 +python-apt 2.0.1+ubuntu0.20.4.1 +requests 2.22.0 +requests-unixsocket 0.2.0 +setuptools 68.2.2 +six 1.14.0 +sniffio 1.3.0 +unattended-upgrades 0.1 +urllib3 1.25.8 + + + + + + + +ccr-2vdh3abv-pub.cnc.bj.baidubce.com/paddlepaddle/paddle:3.1.0-gpu-cuda12.9-cudnn9.9: + +python:3.10.12 + +Package Version +------------------------ ---------- +anyio 4.9.0 +certifi 2025.6.15 +decorator 5.2.1 +exceptiongroup 1.3.0 +h11 0.16.0 +httpcore 1.0.9 +httpx 0.28.1 +idna 3.10 +networkx 3.4.2 +numpy 2.2.6 +nvidia-cublas-cu12 12.9.0.13 +nvidia-cuda-cccl-cu12 12.9.27 +nvidia-cuda-cupti-cu12 12.9.19 +nvidia-cuda-nvrtc-cu12 12.9.41 +nvidia-cuda-runtime-cu12 12.9.37 +nvidia-cudnn-cu12 9.9.0.52 +nvidia-cufft-cu12 11.4.0.6 +nvidia-cufile-cu12 1.14.0.30 +nvidia-curand-cu12 10.3.10.19 +nvidia-cusolver-cu12 11.7.4.40 +nvidia-cusparse-cu12 12.5.9.5 +nvidia-cusparselt-cu12 0.7.1 +nvidia-nccl-cu12 2.26.5 +nvidia-nvjitlink-cu12 12.9.41 +nvidia-nvtx-cu12 12.9.19 +opt-einsum 3.3.0 +paddlepaddle-gpu 3.1.0 +pillow 11.2.1 +pip 25.1.1 +protobuf 6.31.1 +setuptools 59.6.0 +sniffio 1.3.1 +typing_extensions 4.14.0 +wheel 0.37.1 + + + + + +ccr-2vdh3abv-pub.cnc.bj.baidubce.com/paddlex/paddlex:paddlex3.1.2-paddlepaddle3.0.0-gpu-cuda12.6-cudnn9.5-trt10.5 + +python:3.10.18 + +Package Version Editable project location +------------------------- -------------------- ------------------------- +aiohappyeyeballs 2.6.1 +aiohttp 3.12.13 +aiosignal 1.4.0 +aistudio_sdk 0.3.5 +albucore 0.0.13+pdx +albumentations 1.4.10+pdx +alembic 1.16.2 +annotated-types 0.7.0 +anyio 4.9.0 +astor 0.8.1 +asttokens 3.0.0 +async-timeout 4.0.3 +attrdict3 2.0.2 +attrs 25.3.0 +babel 2.17.0 +bce-python-sdk 0.9.35 +beautifulsoup4 4.13.4 +blinker 1.9.0 +cachetools 6.1.0 +certifi 2019.11.28 +cffi 1.17.1 +chardet 3.0.4 +charset-normalizer 3.4.2 +chinese-calendar 1.8.0 +click 8.2.1 +cloudpickle 3.1.1 +colorama 0.4.6 +colorlog 6.9.0 +ConfigSpace 1.2.1 +contourpy 1.3.2 +cssselect 1.3.0 +cssutils 2.11.1 +cycler 0.12.1 +Cython 3.1.2 +dataclasses-json 0.6.7 +datasets 3.6.0 +dbus-python 1.2.16 +decorator 5.2.1 +decord 0.6.0 +descartes 1.1.0 +dill 0.3.4 +distro 1.9.0 +distro-info 0.23+ubuntu1.1 +easydict 1.13 +einops 0.8.1 +et_xmlfile 2.0.0 +exceptiongroup 1.2.2 +executing 2.2.0 +faiss-cpu 1.8.0.post1 +fastapi 0.116.0 +filelock 3.18.0 +fire 0.7.0 +FLAML 2.3.5 +Flask 3.1.1 +flask-babel 4.0.0 +fonttools 4.58.5 +frozenlist 1.7.0 +fsspec 2025.3.0 +ftfy 6.3.1 +future 1.0.0 +gast 0.3.3 +GPUtil 1.4.0 +greenlet 3.2.3 +h11 0.14.0 +h5py 3.14.0 +hf-xet 1.1.5 +hpbandster 0.7.4 +httpcore 1.0.7 +httpx 0.28.1 +httpx-sse 0.4.1 +huggingface-hub 0.33.2 +idna 2.8 +imageio 2.37.0 +imagesize 1.4.1 +imgaug 0.4.0+pdx +ipython 8.37.0 +itsdangerous 2.2.0 +jedi 0.19.2 +jieba 0.42.1 +Jinja2 3.1.6 +jiter 0.10.0 +joblib 1.5.1 +jsonpatch 1.33 +jsonpointer 3.0.0 +jsonschema 4.24.0 +jsonschema-specifications 2025.4.1 +kiwisolver 1.4.8 +langchain 0.3.26 +langchain-community 0.3.27 +langchain-core 0.3.68 +langchain-openai 0.3.27 +langchain-text-splitters 0.3.8 +langsmith 0.4.4 +lapx 0.5.11.post1 +lazy_loader 0.4 +llvmlite 0.44.0 +lmdb 1.6.2 +lxml 6.0.0 +Mako 1.3.10 +markdown-it-py 3.0.0 +MarkupSafe 3.0.2 +marshmallow 3.26.1 +matplotlib 3.5.3 +matplotlib-inline 0.1.7 +mdurl 0.1.2 +more-itertools 10.7.0 +motmetrics 1.4.0 +msgpack 1.1.1 +multidict 6.6.3 +multiprocess 0.70.12.2 +mypy_extensions 1.1.0 +netifaces 0.11.0 +networkx 3.4.2 +numba 0.61.2 +numpy 1.24.4 +nuscenes-devkit 1.1.11+pdx +onnx 1.17.0 +onnxoptimizer 0.3.13 +openai 1.93.1 +opencv-contrib-python 4.10.0.84 +openpyxl 3.1.5 +opt-einsum 3.3.0 +optuna 4.4.0 +orjson 3.10.18 +packaging 24.2 +paddle2onnx 2.0.2rc3 +paddle3d 0.0.0 +paddleclas 2.6.0 +paddledet 0.0.0 +paddlefsl 1.1.0 +paddlenlp 2.8.0.post0 +paddlepaddle-gpu 3.0.0 +paddleseg 0.0.0.dev0 +paddlets 1.1.0 +paddlex 3.1.2 /root/PaddleX +pandas 1.3.5 +parso 0.8.4 +patsy 1.0.1 +pexpect 4.9.0 +pillow 11.1.0 +pip 25.1.1 +polygraphy 0.49.24 +ppvideo 2.3.0 +premailer 3.10.0 +prettytable 3.16.0 +prompt_toolkit 3.0.51 +propcache 0.3.2 +protobuf 6.30.1 +psutil 7.0.0 +ptyprocess 0.7.0 +pure_eval 0.2.3 +py-cpuinfo 9.0.0 +pyarrow 20.0.0 +pybind11 2.13.6 +pybind11-stubgen 2.5.1 +pyclipper 1.3.0.post6 +pycocotools 2.0.8 +pycparser 2.22 +pycryptodome 3.23.0 +pydantic 2.11.7 +pydantic_core 2.33.2 +pydantic-settings 2.10.1 +Pygments 2.19.2 +PyGObject 3.36.0 +PyMatting 1.1.14 +pyod 2.0.5 +pypandoc 1.15 +pyparsing 3.2.3 +pypdfium2 4.30.1 +pyquaternion 0.9.9 +Pyro4 4.82 +python-apt 2.0.1+ubuntu0.20.4.1 +python-dateutil 2.9.0.post0 +python-docx 1.2.0 +python-dotenv 1.1.1 +pytz 2025.2 +PyWavelets 1.3.0 +PyYAML 6.0.2 +RapidFuzz 3.13.0 +rarfile 4.2 +ray 2.47.1 +referencing 0.36.2 +regex 2024.11.6 +requests 2.32.4 +requests-toolbelt 1.0.0 +requests-unixsocket 0.2.0 +rich 14.0.0 +rpds-py 0.26.0 +ruamel.yaml 0.18.14 +ruamel.yaml.clib 0.2.12 +safetensors 0.5.3 +scikit-image 0.25.2 +scikit-learn 1.3.2 +scipy 1.15.3 +seaborn 0.13.2 +sentencepiece 0.2.0 +seqeval 1.2.2 +serpent 1.41 +setuptools 68.2.2 +shap 0.48.0 +Shapely 1.8.5.post1 +shellingham 1.5.4 +six 1.14.0 +sklearn 0.0 +slicer 0.0.8 +sniffio 1.3.1 +soundfile 0.13.1 +soupsieve 2.7 +SQLAlchemy 2.0.41 +stack-data 0.6.3 +starlette 0.46.2 +statsmodels 0.14.1 +tenacity 9.1.2 +tensorboardX 2.6.4 +tensorrt 10.5.0 +termcolor 3.1.0 +terminaltables 3.1.10 +threadpoolctl 3.6.0 +tifffile 2025.5.10 +tiktoken 0.9.0 +tokenizers 0.19.1 +tomli 2.2.1 +tool_helpers 0.1.2 +tqdm 4.67.1 +traitlets 5.14.3 +typeguard 4.4.4 +typer 0.16.0 +typing_extensions 4.14.1 +typing-inspect 0.9.0 +typing-inspection 0.4.1 +tzdata 2025.2 +ujson 5.10.0 +unattended-upgrades 0.1 +urllib3 1.25.8 +uvicorn 0.35.0 +visualdl 2.5.3 +Wand 0.6.13 +wcwidth 0.2.13 +Werkzeug 3.1.3 +xmltodict 0.14.2 +xxhash 3.5.0 +yacs 0.1.8 +yarl 1.20.1 +zstandard 0.23.0 \ No newline at end of file diff --git a/document/关于使用PaddleOCR训练模型的进展情况说明.docx b/document/关于使用PaddleOCR训练模型的进展情况说明.docx new file mode 100644 index 0000000..4d0bff6 Binary files /dev/null and b/document/关于使用PaddleOCR训练模型的进展情况说明.docx differ diff --git a/document/医保类型识别结果.xlsx b/document/医保类型识别结果.xlsx new file mode 100644 index 0000000..778bac3 Binary files /dev/null and b/document/医保类型识别结果.xlsx differ