OCR训练部署文档

这篇具有很好参考价值的文章主要介绍了OCR训练部署文档。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

 Cuda安装

wget https://developer.download.nvidia.com/compute/cuda/11.6.0/local_installers/cuda_11.6.0_510.39.01_linux.run 

sh cuda_11.6.0_510.39.01_linux.run

#可能会报错,查看/var/log/nvidia-installer.log ,kill -9 [ID]可以解决

vim ~/.bashrc

OCR训练部署文档,ocr

source ~/.bashrc
nvcc -V
cp cudnn-linux-x86_64-8.4.1.50_cuda11.6-archive/include/* /usr/local/cuda-11.6/include/
cp cudnn-linux-x86_64-8.4.1.50_cuda11.6-archive/lib/* /usr/local/cuda-11.6/lib64/
chmod +x /usr/local/cuda-11.6/include/cudnn.h
chmod +x /usr/local/cuda-11.6/lib64/libcudnn*
检测
cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2

OCR训练部署文档,ocr

 以文本识别训练为例

环境使用anconda创建了”paddle”的虚拟环境,该环境适合paddleOCR。

conda activate paddle

数据准备

如图1-1,数据集需要提供train_list.txt,和val_list.txt,具体内容如图1-2,修改配置文件位置图1-3

OCR训练部署文档,ocr

 图1-1

OCR训练部署文档,ocr

图1-2 train_list.txt,和val_list.txt具体内容

训练模型

git clone https://github.com/PaddlePaddle/PaddleOCR.git
cd PaddleOCR
#下载预训练模型,按需求下载
wget -P ./pretrain_models/ https://paddleocr.bj.bcebos.com/PP-OCRv3/english/en_PP-OCRv3_rec_train.tar
# 解压模型参数
cd pretrain_models
tar -xf en_PP-OCRv3_rec_train.tar && rm -rf en_PP-OCRv3_rec_train.tar

#cd /configs/rec/PP-OCRv3/ ,创建my_en_PP-OCRv3_rec.yml
#注意配置数据集地址
启动训练:
#cd到PaddleOCR目录下
python3 tools/train.py -c configs/rec/PP-OCRv3/my_en_PP-OCRv3_rec.yml -o Global.pretrained_model=./pretrained_model/en_PPOCRv3_rec_train/best_accuracy

如果出现中断,重启训练:
python3 tools/train.py -c configs/rec/PP-OCRv3/en_PP-OCRv3_rec.yml -o Global.checkpoints=./your/trained/model

指标评估
python3 tools/train.py -c configs/rec/PP-OCRv3/en_PP-OCRv3_rec.yml -o Global.checkpoints=./output/v3_en_mobile/best_accuracy

导出模型
# -c 后面设置训练算法的yml配置文件
# -o 配置可选参数
# Global.pretrained_model 参数设置待转换的训练模型地址,不用添加文件后缀 .pdmodel,.pdopt或.pdparams。
# Global.save_inference_dir参数设置转换的模型将保存的地址。

python3 tools/export_model.py -c configs/rec/PP-OCRv3/en_PP-OCRv3_rec.yml -o Global.pretrained_model=./pretrain_models/en_PP-OCRv3_rec_train/best_accuracy  Global.save_inference_dir=./inference/en_PP-OCRv3_rec/

#清除内存
fuser -v /dev/nvidia*
kill -9 [nvidia的PID]

第二章 部署

安装Cmake,OpenCV,OpenCV-contribute

yum install mesa-libGL-devel mesa-libGLU-devel
wget https://cmake.org/files/v3.26/cmake-3.26.0-rc4.tar.gz
tar -zxvf cmake-3.26.0-rc.tar.gz
cd cmake-3.26.0-rc
./bootstrap && make -j4 && make install
cmake --version

#安装opencv
yum localinstall –nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm

yum localinstall –nogpgcheck https://download1.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-7.noarch.rpm 
rpm –import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro 
rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-1.el7.nux.noarch.rpm

yum -y install ffmpeg ffmpeg-devel 
yum install build-essential libgtk2.0-dev libgtk-3-dev libavcodec-dev libavformat-dev libjpeg-dev libswscale-dev libtiff5-dev

git clone https://github.com/opencv/opencv.git
cd opencv
git clone https://github.com/opencv/opencv_contrib.git

#上传缺少文件
cd  opencv_contrib/modules/xfeatures2d/src
cd opencv
mkdir build
cd build
#anconda中的lib可能会干扰安装
cmake .. \
    -DCMAKE_INSTALL_PREFIX=/opencv4/ \
    -DCMAKE_BUILD_TYPE=Release \
    -DBUILD_SHARED_LIBS=OFF \
    -DWITH_IPP=OFF \
	-D WITH_OPENEXR=0 \
    -DBUILD_IPP_IW=OFF \
    -DWITH_LAPACK=OFF \
    -DWITH_EIGEN=OFF \
    -DCMAKE_INSTALL_LIBDIR=lib64 \
    -DWITH_ZLIB=ON \
    -DBUILD_ZLIB=ON \
    -DWITH_JPEG=ON \
    -DBUILD_JPEG=ON \
    -DWITH_PNG=ON \
    -DBUILD_PNG=ON \
    -DWITH_TIFF=ON \
    -DBUILD_TIFF=ON

make -j8 #多次
make install 

预测

git clone https://github.com/PaddlePaddle/Paddle.git
cd Paddle
mkdir build
cd build

cmake  .. \
	-DPYTHON_INCLUDE_DIR=/usr/bin/python3 \
    -DWITH_CONTRIB=OFF \
    -DWITH_MKL=ON \
    -DWITH_MKLDNN=ON  \
    -DWITH_TESTING=OFF \
    -DCMAKE_BUILD_TYPE=Release \
    -DWITH_INFERENCE_API_TEST=OFF \
    -DON_INFER=ON \
-DWITH_PYTHON=ON 

make -j    #时间很长,多次尝试
make inference_lib_dist
sh tools/build.sh


#修改
OPENCV_DIR=/software/opencv4
LIB_DIR=/paddle_inference_install_dir
CUDA_LIB_DIR=/usr/local/cuda/lib64
CUDNN_LIB_DIR=/usr/local/cuda/lib64

#编译前,需要注意替换args.cpp中的rec_char_dict_path,不然会检测乱码

OCR训练部署文档,ocr

#编译
sh tools/build.sh
#可能会出现问题1
cc1plus: error: too many filenames given.  Type cc1plus --help for usage
cc1plus: error: too many filenames given.  Type cc1plus --help for usage
cc1plus: error: too many filenames given.  Type cc1plus --help for usage
cc1plus: error: too many filenames given.  Type cc1plus --help for usage
cc1plus: fatal error: CMakeFiles/ppocr.dir/src/postprocess_op.cpp.d: 没有那个文件或目录
cc1plus: fatal error: CMakeFiles/ppocr.dir/src/ocr_rec.cpp.d: 没有那个文件或目录
compilation terminated.
compilation terminated.
cc1plus: error: too many filenames given.  Type cc1plus --help for usage
cc1plus: fatal error: CMakeFiles/ppocr.dir/src/main.cpp.d: 没有那个文件或目录
cc1plus: fatal error: CMakeFiles/ppocr.dir/src/ocr_det.cpp.d: 没有那个文件或目录
compilation terminated.
compilation terminated.
cc1plus: error: too many filenames given.  Type cc1plus --help for usage
cc1plus: fatal error: CMakeFiles/ppocr.dir/src/ocr_cls.cpp.d: 没有那个文件或目录
compilation terminated.
cc1plus: fatal error: CMakeFiles/ppocr.dir/src/utility.cpp.d: 没有那个文件或目录
compilation terminated.
解决办法:
#解决办法/PaddleOCR/deploy/cpp_infer/CMakeLists.txt将 "-o3" 改成 "-O3" 就可以了,修改后的结果如下,

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -O3 ${FLAG_OPENMP} -std=c++11")

网速会影响下载third-party导致报错。

测试

OCR训练部署文档,ocr

./build/ppocr --rec_model_dir=../../inference/en_PP-OCRv3_rec     --image_dir=../../doc/imgs_words/en/word_2.png     --use_angle_cls=false     --det=false     --rec=true

OCR训练部署文档,ocr文章来源地址https://www.toymoban.com/news/detail-699797.html

到了这里,关于OCR训练部署文档的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • RAGFlow:基于OCR和文档解析的下一代 RAG 引擎

    在人工智能的浪潮中,检索增强生成(Retrieval-Augmented Generation,简称RAG)技术以其独特的优势成为了研究和应用的热点。 RAG技术通过结合大型语言模型(LLMs)的强大生成能力和高效的信息检索系统,为用户提供了一种全新的交互体验 。然而,随着技术的深入应用,一系列挑

    2024年04月17日
    浏览(47)
  • 【Python】好用的办公能手:利用OCR进行PDF文档解析(附教程)

    OCR (Optical Character Recognition,光学字符识别)是通过计算机视觉对图像中的文本进行检测和提取的过程。它是在第一次世界大战期间发明的,当时以色列科学家伊曼纽尔·戈德堡(Emanuel Goldberg)发明了一台能读取字符并将其转换为电报代码的机器。到了现在该领域已经达到了一个非

    2024年02月15日
    浏览(31)
  • python实现图片式PDF转可搜索word文档[OCR](已打包exe文件)

    目录  1、介绍 1.1、痛点 1.2、程序介绍 2、安装方式 2.1、🔺必要环节 2.2、脚本安装 2.2.1、不太推荐的方式 2.2.2、节约内存的方式 2.3、⭐完整版安装 3、使用 3.1、最终文件目录 3.2、主程序 3.2.1、绝对路径 3.2.2、是否为书籍 3.2.3、⭐截取区域 3.2.4、⭐进程数 3.3、运行完成 3.4、

    2024年01月19日
    浏览(63)
  • python实现OCR的多种方法(安装部署以及应用实例)

    基于python实现OCR的五种方法 1.pytesseract 1.1简介 1.2安装部署 1.3应用举例 2.PaddleOCR 2.1简介 2.2安装部署

    2024年02月11日
    浏览(71)
  • Python实现OCR大批量识别图片文字,并将文字保存到txt文档中,文末源码直接拿!

    在当今数字化时代,图像文字识别(Optical Character Recognition, OCR)技术的应用越来越广泛。 OCR技术可以将印刷体文字转化为可编辑的文本格式,从而方便进行文本分析、数据挖掘等操作。Python作为一种简洁、易用的编程语言,提供了丰富的图像处理和机器学习库,使得实现图

    2024年02月15日
    浏览(39)
  • fastdeploy部署多线程/进程paddle ocr(python flask框架 )

    部署参考:https://github.com/PaddlePaddle/FastDeploy/blob/develop/tutorials/multi_thread/python/pipeline/README_CN.md 安装 cpu: pip install fastdeploy-python gpu : pip install fastdeploy-gpu-python 命令: 多线程 多进程 文件:multi_thread_process_ocr.py 原始代码:270行 修改为如下,去掉1 因为安装包不对,fastdeploy与

    2024年02月11日
    浏览(30)
  • 在OK3588板卡上部署模型实现人工智能OCR应用(十一)

    我们依旧采用FastDeploy来部署应用深度学习模型到OK3588板卡上 进入主机Ubuntu的虚拟环境 conda activate ok3588 安装rknn-toolkit2(该工具不能在OK3588板卡上完成模型转换) git clone https://github.com/rockchip-linux/rknn-toolkit2 cd rknn-toolkit2 注意这里需要1.4的版本 git checkout v1.4.0 -f cd packages pip in

    2024年02月05日
    浏览(29)
  • 通用文字识别 本地OCR接口 json数据 任意语言 不限次调用 exe服务工具免搭建部署启动即用

    在这里插入图片描述 样本识别效果: 使用方法: 启动本地OCR接口服务 图片文件=base64编码=转json格式=传到对应接口 本地OCR程序: 文件太大没法传,要会员,我刚删掉了一个复杂模型,能用上得再问我要把。微:huang582716403

    2024年02月11日
    浏览(45)
  • 免费开源OCR 软件Umi-OCR

    Umi-OCR 是一款免费、开源、可批量的离线 OCR 软件,基于 PaddleOCR,适用于 Windows10/11 平台 免费 :本项目所有代码开源,完全免费。 方便 :解压即用,离线运行,无需网络。 高效 :自带高效率离线OCR引擎。只要电脑性能足够,可以比在线OCR服务更快。 灵活 :支持命令行、

    2024年01月17日
    浏览(34)
  • OCR - 微软windows 11系统自带的Windows OCR功能初体验

    一、Power Automate简述         最近再了解一些ocr的相关信息,从一些网站上上看到微软的免费系统实用工具套件中包含ocr识别/pdf文本提取等。         什么是Power Automate?        Windows 11 允许用户通过预装的 Power Automate 应用创建自动化。 Power Automate 是一个低代码平台,

    2024年02月05日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包