在服务器上搭建基于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,一经查实,立即删除!

相关文章

算法入门篇 一 时间复杂度

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

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

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

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

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

2023年12月24日学习总结

今日to do list: 做kaggle上面的流量预测项目☠️ 学习时不刷手机🤡 okkkkkkkkkkkkkk 开始👍🍎 0、我在干什么? 我在预测一个名字叫做elborn基站的下行链路流量,用过去29天的数据预测未来10天的数据 1、…

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

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

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

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

算法入门篇四 桶排序

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

RTP概述

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

算法入门篇五 链表

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

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

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

算法入门篇六 二叉树

牛客网 算法入门篇 左程云老师 个人复习,如果侵全,设为私密 二叉树遍历(递归) 先序遍历(中,左,右) 中序遍历(左,中,右) 后序遍历&a…

算法入门篇七 前缀树

牛客网 左程云老师的算法入门课 找二叉树的节点的后继节点 原则 如果节点有右子树,那么后继节点就是右子树的最左边的第一个节点如果节点没有右子树,如果节点是父节点的右孩子,就继续往上找,直到找到一个父节点是沿途节点的父节…

算法入门篇八 贪心算法

牛客网 左程云老师的算法入门课 贪心算法 贪心算法的解题步骤 例子 题目要求 解题策略 按照结束时间早的会议先安排,比如先安排【2,4】,当4结束了,所有开始时间小于4的全部淘汰,【1,7】、【3&#xff…

算法入门篇九 暴力递归

牛客网 左程云老师的算法入门课 暴力递归 原则 汉诺塔问题 问题 打印n层汉诺塔从左边移动到最右边的过程 思想 一共六个过程,左到右、左到中,中到左,中到右,右到左,右到中,互相嵌套使用 左到右 将1…

rtsp和sdp

RTSP 是由Realnetwork 和Netscape共同提出的如何有效地在IP网络上传输流媒体数据的应用层协议 。 实时流协议(RTSP)建立并控制一个或几个时间同步的连续流媒体,如音频和视频。尽管连续媒体流与控制流交叉是可能的,RTSP本身并不发…

使用javascript实现对于chineseocr的API调用

ChineseOCR在线API 网页地址 界面 提供多种接口调用方式,比如在线调用、Javascript api调用、curl api调用和python api调用四种方式,本次使用javascript api调用的方式进行OCR识别在线Javascript工具 在线工具网页链接在线Base64 转化工具 在线工具…

移动流媒体业务的技术与标准

1 引言   流媒体业务是从Internet上发展起来的一种多媒体应用,指使用流(Streaming)方式在网络上传输的多媒体文件,包括音频、视频和动画等。   流媒体传输技术的主要特点是以流(streaming)的形式进行多…

使用python实现对于chineseocr的API调用

ChineseOCR在线API 网页链接 界面 提供多种接口调用方式,比如在线调用、Javascript api调用、curl api调用和python api调用四种方式,本次使用javascript api调用的方式进行OCR识别在线Base64 转化工具 Base64在线小工具代码修改 新增一个变量fill_w…

算法入门篇十 图

图的存储方式 临接表临接矩阵 表达 点集/边集有向图/无向图 Graph&#xff08;大结构就是图&#xff09;&#xff08;包含点集合和边集合&#xff09; import java.util.HashMap; import java.util.HashSet;public class Graph {public HashMap<Integer, Node> nodes;…

超文本传输协议

超文本传输协议 超文本传输协议超文件传输协定(HTTP&#xff0c;HyperTextTransfer Protocol)是因特网上应用最为广泛的一种网络传输协定。所有的WWW文件都必须遵守这个标准。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。 目录 介绍请求信息请求方法安全方法超…