在服务器上搭建基于yolo3 与crnn 实现中文自然场景文字检测及识别,GPU版本

Github地址

  • 参考地址
  • 作者大人,十分热心,对于我的问题,提供了大量的帮助,使我少走了很多的弯路,在此表示由衷的感谢

注意事项

  • 使用nvidia-smi命令查看cuda的版本,必须是10.1或者10.0,10.2是万万不可以的

  • 所需要的版本之间的版本协调关系,仅供参考

 

GPU部署

1,安装conda

  • 安装conda参考文档
  • 执行权限/运行
chmod 777 Miniconda3-latest-Linux-x86_64.sh #给执行权限
bash Miniconda3-latest-Linux-x86_64.sh #运行
  • 找到你刚才安装的conda位置,如果一路选择yes,没有更改过安装位置的话,安装位置应该位于/home下面,默认文件夹的名字是conda3,cd到conda3的bin目录下面,能看到有一个activate
  • 给activate赋予权限 
chmod 777 activate 
  • 激活activate,使用命令如下
. ./activate #或者使用source activate,效果是一样的
  • 当命令行前面出现(base)的时候说明现在已经在conda的环境中了。这时候输入conda list 命令,查看已经安装的包文件
  • 添加频道,也就是国内镜像,加快下载包文件的速度,命令如下

//官方channel:conda config --add channels bioconda
conda config --add channels conda-forge
//清华镜像源
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/
  • 使用如下命令,是的镜像源生效
conda config --set show_channel_urls yes
  • 关于conda的更多知识请参考  参考链接 

2,下载Chinesocr-app压缩包

  • 从github下载chineseocr-app,下载的地址在文章开头已经给出
  • 使用xftp软件,将chineseocr-app上传到服务器的指定位置
  • 使用命令对其进行解压,命令如下
unzip chineseocr-app.zip

 3,下载/导入模型文件

  • 百度网盘地址,下载模型文件
  • 将模型文件上传到服务器的chineseocr-app的moduls文件夹里面
  • 需要注意,有些模型已经存在,无需上传

4,修改作者提供的setup.md文件

  • 修改的地方是tensorflow-gpu的版本,以及删除了tensorflow,因为使用的是GPU服务
  • 修改后的文件如下图所示,建议是在本机改完上传替换原先的版本,使用vi的方式修改不易
## 环境配置,支持linux\macOs      
conda create -n chineseocr python=3.6 pip scipy numpy jupyter ipython ##运用conda 创建python环境      
source activate chineseocr      
git submodule init && git submodule update      
pip install easydict opencv-contrib-python==4.0.0.21 Cython h5py lmdb mahotas pandas requests bs4 matplotlib lxml -i https://pypi.tuna.tsinghua.edu.cn/simple/        
pip install -U pillow -i https://pypi.tuna.tsinghua.edu.cn/simple/      
pip install keras==2.1.5 tensorflow-gpu==1.13.1      
pip install web.py==0.40.dev0      redis
conda install pytorch torchvision -c pytorch          
## pip install torch torchvision   
  •  修改完,执行命令 sh setup.md进行环境配置,执行这条命令,需要将当前目录切换到chineseocr-app路径下

5,执行核心代码 python app.py

  • 这一步并不简单,因为python文件缺失很多的包文件,参考我的文章 缺失包文件处理方式
  • 每次安完一个包文件,需要执行python app.py进行验证一下
  • 注意的是,如果涉及到opencv这个包文件,需要指定版本,参考命令如下
pip install  opencv-contrib-python==4.0.0.21 -i https://pypi.tuna.tsinghua.edu.cn/simple/
  • 直到这条命令不在报错

6,开启服务器的8080端口

  • 命令如下
iptables -I INPUT -p tcp --dport 8090 -j ACCEPT

7,进行OCR服务

  • 在本地电脑浏览器输入http://IP:8080/ocr进行ocr服务,IP为服务器的地址

8,验证

  • 速度提升很快,祝大家好运

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/447234.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python TypeError can only concatenate tuple not str to tuple

原因分析 这个错误出现是因为执行元组之间的合并例子 tuple1 ("str",1,["a","b","c"],4) tuple2 ("hello",) print(tuple1[0]) print (tuple1[1:3]) print (tuple1[1:]) print (tuple2 * 2) print (tuple1tuple2) 注意事…

23种设计模式 -比喻

1、FACTORY—追MM少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西,虽然口味有所不同,但不管你带MM去麦当劳或肯德基,只管向服务员说“来四个鸡翅”就行了。麦当劳和肯德基就是生产鸡翅的Factory (下载源码就到源码网:…

python 版本2和3 在/取模方面的的差异

注意事项 python2 使用 /python3 使用 // 例子 二分法取数值 def binary_search(search_list,target):left 0right len(search_list) - 1while left < right:mid (left right) // 2if search_list[mid] < target:left mid 1continueif search_list[mid] target:r…

vc中调用其他应用程序的方法(函数) winexec,shellexecute ,createprocess

三个SDK函数: WinExec&#xff0c;ShellExecute &#xff0c;CreateProcess可以实现调用其他程序的要求&#xff0c;其中以WinExec最为简单&#xff0c;ShellExecute比WinExec灵活一些&#xff0c;CreateProcess最为复杂。WinExec 两个参数&#xff0c;前一个指定路径&#xf…

算法入门篇 一 时间复杂度

时间复杂度 要求&#xff1a;只要高阶项&#xff0c;不要低阶项常数操作&#xff1a;操作花费的时间和数据量无关&#xff0c;比如数组寻址&#xff0c;直接利用偏移量找到对应元素的位置&#xff1b;非常数操作&#xff1a;比如list(链表)&#xff1b;查找元素需要遍历链表&a…

遍历文件夹下所有文件和文件夹

1 void find(char * lpPath){char szFind[MAX_PATH];WIN32_FIND_DATA FindFileData;strcpy(szFind,lpPath);strcat(szFind,"*.*");HANDLEhFind::FindFirstFile(szFind,&FindFileData);if(INVALID_HANDLE_VALUE hFind)  return;while(TRUE){if(FindFileData.dw…

算法入门篇二 认识O(NlogN)的排序

递归 例子引出 使用递归的方法求出数组中的最大值&#xff08;利用的是栈&#xff09;求中点的方法改进 mid (left right) / 2 //但是如果left和right的数很大&#xff0c;相加会造成内容溢出 改进为 mid left (right - left) / 2 //(right - left)得到整个的长度&…

算法入门篇三 详解桶排序和整理排序知识 堆的相关操作 补充 不完整

归并排序不使用递归 使用一个变量&#xff0c;使其按照1、2、4、8递增&#xff0c;控制左右两边1个元素、2个元素、4个元素等元素的合并 完全二叉树 完全二叉树 要不全是满的&#xff0c;要不叶子节点出现在最后一层&#xff0c;只要出现了叶子节点&#xff0c;后面的都是叶子…

C++著名程序库

1、C各大有名库的介绍——C标准库标准库中提供了C程序的基本设施。虽然C标准库随着C标准折腾了许多年&#xff0c;直到标准的出台才正式定型&#xff0c;但是在标准库的实现上却很令人欣慰得看到多种实现&#xff0c;并且已被实践证明为有工业级别强度的佳作。 1.1、Dinkumware…

2023年12月24日学习总结

今日to do list&#xff1a; 做kaggle上面的流量预测项目☠️ 学习时不刷手机&#x1f921; okkkkkkkkkkkkkk 开始&#x1f44d;&#x1f34e; 0、我在干什么&#xff1f; 我在预测一个名字叫做elborn基站的下行链路流量&#xff0c;用过去29天的数据预测未来10天的数据 1、…

Mac/Linux系统连接远端服务器以及相同IP地址的服务器账号密码重置,ssh失败问题

连接远端服务器 ssh 账号IP地址 输入完成之后会提示输入密码&#xff0c;密码输入正确后&#xff0c;就可以连接成功了 重置ssh密钥 如果连接的服务器除了IP地址没有改变&#xff0c;其余的账号、密码、系统等都变了的话&#xff0c;因为曾经连接过的历史数据会保存到本地&a…

内存泄漏快速定位方法

主要方法&#xff1a;利用系统带的函数&#xff1a;EnableMemLeakCheck() 和函数重载&#xff0c;能快速准备的定位到内存泄漏的地方&#xff0c;方法简单且实用&#xff0c;值得借用。 #include <crtdbg.h> #ifdef_DEBUG //重载一下new函数&#xff0c;这样能得到使…

Linux操作系统监视NVIDIA的GPU使用情况

对于GPU相关参数介绍 使用命令周期性查看GPU运行情况最常用的参数是 -n&#xff0c; 后面指定是每多少秒来执行一次命令。监视显存&#xff1a;设置为每 1s 显示一次显存的情况&#xff1a;使用命令ctrlz退出 watch -n 1 nvidia-smi 参数介绍 Fan&#xff1a;显示风扇转速&am…

一个软件工程师的职业规划

[1]好好规划自己的路&#xff0c;不要跟着感觉走&#xff01;根据个人的理想决策安排&#xff0c;绝大部分人并不指望成为什么院士或教授&#xff0c;而是希望活得滋润一些&#xff0c;爽一些。那么&#xff0c;就需要慎重安排自己的轨迹。从哪个行业入手&#xff0c;逐渐对该行…

算法入门篇四 桶排序

桶排序 计数排序&#xff08;基于统计&#xff09; 要求数据是有限的&#xff0c;和数据状况有关&#xff0c;比如对于200个人统计他们的年龄分布&#xff0c;这个时候需要申请200个桶&#xff0c;因此对于输入数据的规模有限制&#xff0c;如果输入规模是不定的&#xff0c;…

RTP概述

1.1. RTP是什么 RTP全名是Real-time Transport Protocol&#xff08;实时传输协议&#xff09;。它是IETF提出的一个标准&#xff0c;对应的RFC文档为RFC3550&#xff08;RFC1889为其过期版本&#xff09;。RFC3550不仅定义了RTP&#xff0c;而且定义了配套的相关协议RTCP&…

Java需要注意的一些小细节

更加精确的锁定时间 判定纳秒维度的时间 //使用System.nanoTime(); //例子 long start System.nanoTime(); long end System.nanoTime(); System.out.println(start); System.out.println(end);

live555的安装 RTSP点播消息流程实例(客户端:VLC, RTSP服务器:LIVE555 Media Server)

live555是一个开源的软件&#xff0c;主要用来生成rtsp,rtp和sip服务器和客户端的软件。前几天需要看一下vlc中的rtsp的功能&#xff0c;在vlc中rtp和rtsp的功能都是使用live555中的函数来生成的。该开源软件的编译&#xff0c;可以使用vc,mingw和cygwin等软件。我安装的时候使…

算法入门篇五 链表

牛客网 算法入门篇 判断一个链表是否为回文结构 给定一个单链表的头节点head&#xff0c;请判断这个链表是否为回文结构1->2->1&#xff0c;返回为True;1->2->3为False 思路&#xff1a; 1&#xff0c;遍历链表&#xff0c;将所有元素压入栈中&#xff0c;然后再…

实时流媒体编程基于Linux环境开发

一、流媒体简介 随着Internet的日益普及&#xff0c;在网络上传输的数据已经不再局限于文字和图形&#xff0c;而是逐渐向声音和视频等多媒体格式过渡。目前在网络上传输音频/视频&#xff08;Audio/Video&#xff0c;简称A/V&#xff09;等多媒体文件时&#xff0c;基本上只有…