在服務器上搭建基于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.pswp.cn/news/447234.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/447234.shtml
英文地址,請注明出處:http://en.pswp.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;基本上只有…