• <noscript id="e0iig"><kbd id="e0iig"></kbd></noscript>
  • <td id="e0iig"></td>
  • <option id="e0iig"></option>
  • <noscript id="e0iig"><source id="e0iig"></source></noscript>
  • 深度學習21天實戰caffe學習筆記《16:Caffe遷移和部署》

    Caffe的遷移和部署

    1、從開發測試到生產部署 : 離線訓練、在線識別

    開發:離線訓練階段

    數據專家選擇訓練數據,算法專家設計模型參數,開發專家優化和調試訓練過程,得到滿足發布的模型,在caffe中表現為*.caffemodel文件;

    部署:在線識別階段

    利用發布模型到線上或者某個嵌入式平臺生產機器,接入線上其他服務(存儲、數據庫),獲取在線數據并用上述模型處理,將結果返回客戶端。并且將異常結果反饋給開發階段,知道數據專家提出“臟”數據、算法專家改進型、開發專家排查代碼bug,得到更加準確的模型。

    2、使用Docker

    Docker是開源應用容器引擎,開發者可以吧一個linux應用和他所一男的一切(比如配置文件和庫)都翻轉到一個容器中,然后發布到任何Linux機器上。

    Docker作為一個全新的自動化運維工具,可以實現開發測試環境和生產部署的平滑遷移。

    Why:

    (開發和部署)離線訓練、在線識別

    Docker

    開源的應用容器引擎,沙箱機制,自動化運維工具,實現開發測試環境與生產部署環境的平滑遷移。

    Docker與傳統的虛擬機(如VMware,VirtualBox)很相似,但更具優勢:

    • 1、創建和銷毀秒級完成,啟動速度飛快;
    • 2、體積小,可遷移到任何流行的Linux機器上;
    • 3、占用系統資源極低;
    • 4、可自動化部署、集群管理

    Docker 兩個主要部件:

    • Docker: 開源的容器虛擬化平臺
    • Docker Hub: 用于分享、管理 Docker 容器的 Docker SaaS 平臺 -- Docker Hub

    基本概念:

    • Docker 守護進程

    Docker 守護進程運行在一臺主機上。用戶并不直接和守護進程進行交互,而是通過 Docker 客戶端間接和其通信。

    • Docker 客戶端

    Docker 客戶端,實際上是 docker 的二進制程序,是主要的用戶與 Docker 交互方式。它接收用戶指令并且與背后的 Docker 守護進程通信,如此來回往復。

    • Docker 內部

      主要三種部件:


    鏡像(Image):一個包含了應用程序和其運行時依賴環境的制度文件(類比系統盤、可執行程序文件),他是構建容器的民辦,通過一個極限可以構造出很多獨立當時運行環境一樣的容器。

    容器(Container):基于某個鏡像生成并動態運行運行的相互隔離的實例(類比運行起來的操作系統、運行可執行程序文件的進程)

    鏡像倉庫(Docker Hub):Docker廣泛提供的用于集中存儲、管理就像的服務,采用類似于Git Hub的方式保存共有或者私有的鏡像,同時允許第三方搭建。


    安裝:

    Ubuntu14.04環境下:

    $apt-get update
    $apt-get -y install docker.io
    檢查Docker服務的狀態:

    $service docker.io status
    自啟動服務:

    $update-rc.d docker.io defaults
    添加Docker用戶組:

    默認情況只有root可以使用權限,創建docker用戶組將使用docker的用戶添加進來,避免多人同時使用root用戶。

    $usermod -aG docker your_user_name
    測試安裝:

    #docker run hello-world
    

    入門:

    0、查看docker信息:

    $ docker

    1、顯示Docker信息

    $docker vision  #顯示版本信息
    $docker info  #使用狀態
    2、下載Docker鏡像

    $docker pull ubuntu  #從docker注冊服務器的軟件倉庫下載一個現成的docker鏡像
    $docker images    #查看系統中已經有的鏡像
    3、從鏡像創建Docker容器

    $docker run  -i  -t  ubuntu/bin/bash    #創建一個活動的容器
     -i : 交互模式,輸入輸出在控制臺進行;-d  容器啟動后進入后臺工作,非交互模式
     -t :為創建的容器分配一個偽終端tty

    ubuntu:創建容器的鏡像名稱,可以用鏡像ID代替

    /bin/bash :在新建的容器中運行的命令,任意linux命令

    :  Ctrl+P--->Ctrl+Q返回宿主機終端會話

      $docker ps 查看當前活動的容器

     $docker attach 610  #重新與之前的容器建立連接(610是CONTAIN ID的錢3個字符)

    4、從容器創建Docker鏡像

    (1)、從運行的容器創建; 

    $docker commit -m "Test a change" 610 ubuntu:test_change
    ubuntu:test_change為新鏡像的名字ID(679)

    (2)、編寫Docker文件創建鏡像;
    5、上傳Docker鏡像

    #注冊Docker Hub賬號,登錄
    $docker login
    #推送鏡像到Hub
    $docker tag 610 zxx/mastercaffe :test_ubuntu_change
    $docker push  zxx/mastercaffe :test_ubuntu_change  #push與pull作用相反

    進階:

    1、阿里云Docker Hub管理鏡像

    https://dev.aliyun.com/search.html

    具體步驟可以上網查。

    2、其他國內云平臺

    • DaoCloud https://www.daocloud.io/
    • 網易蜂巢 https://c.163.com/  提供鏡像倉庫、容器云服務
    • DaoCloud:提供鏡像倉庫、應用管理、應用編排、數據卷、集群管理,并且免費使用1~2個容器,或者加入自己的服務器進行管理。
    • 百度BAE:提供彈性、分布式的應用托管服務,幫助開發者一站式輕松開發并部署應用程序(Web應用及移動應用)。每月花幾元錢就可以使用容器服務部署應用程序。
    • 靈雀云:容器云平臺,提供企業級應用集成、交付、運維的一站式解決方案。

    不是專門研究這個的所以不花費太多時間,了解就好

    參考資料:

    http://blog.csdn.net/zmx729618/article/details/72930474
    http://blog.csdn.net/u012562943/article/category/6048991



    版權聲明:本文為Julialove102123原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。
    本文鏈接:https://blog.csdn.net/Julialove102123/article/details/78615932

    智能推薦

    深度學習Caffe實戰筆記(21)Windows平臺 Faster-RCNN 訓練好的模型測試數據

    前一篇博客介紹了如何利用Faster-RCNN訓練自己的數據集,訓練好會得到一個模型,這篇博客介紹如何利用訓練好的模型進行測試數據。 1、訓練好的模型存放位置 訓練好的模型存放在faster_rcnn-master\output\faster_rcnn_final\faster_rcnn_VOC2007_ZF,把script_faster_rcnn_demo.m文件拷貝到faster_rcnn-m...

    《21天實戰caffe》 讀書筆記(六)

    第六天 運行手寫體數字識別例程 1、MNIST數據集 MNIST數據集包括60000個訓練集和10000個測試集,每張圖都已經進行尺寸歸一化、數字居中處理,固定尺寸為28像素*28像素。 MNIST數據集可以在Caffe源碼框架的data/mnist下用get_mnist.sh腳本下載。 MNIST原始數據為4個文件,數據格式描述見下圖。 下載到的原始數據集為二進制文件,需要轉換為LEVELDB或...

    《深度學習——實戰caffe》——繪制網絡模型

    python/draw_net.py, 這個文件,就是用來繪制網絡模型的。也就是將網絡模型由prototxt變成一張圖片。 在繪制之前,需要先安裝兩個庫 1、安裝GraphViz 注意,這里用的是apt-get來安裝,而不是pip. 2 、安裝pydot 用的是pip來安裝,而不是apt-get 安裝好了,就可以調用腳本來繪制圖片了 draw_net.py執行的時候帶三個參數 第一個參數:網絡模型...

    深度學習Caffe實戰筆記(7)Caffe平臺下,如何調整卷積神經網絡結構

    授人以魚不如授人以漁,紅鯉魚家有頭小綠驢叫驢屢屢。至于修改網絡結構多虧了課題組大師姐老龐,在小米實習回校修整,我問她怎么修改網絡,她說改網絡就是改協議,哎呀,一語驚醒夢中人啊!老龐師姐,你真美!雖然博主之前也想過修改網絡協議試一試,鑒于一直不懂網絡結構中的各個參數是干啥的,所以一直沒去實施,這次終于開始嘗試了。  caffe平臺實現卷積神經網絡實在方便的很啊,只需要一個協議文件定義一下網...

    caffe學習筆記

    修改solver文件參數 首先打開模型優化文件,lenet_solver.prototxt。 關鍵參數如下: 然后我把學習率調整到了0.02,保存退出。進行訓練: 我們可以發現,把學習率調高之后,訓練時的loss(損失程度)也增大了。 Finetune 所謂fine tune就是用別人訓練好的模型,加上我們自己的數據,來訓練新的模型。fine tune相當于使用別人的模型的前幾層,來提取淺層特征,...

    猜你喜歡

    caffe學習——caffe安裝

    一,引言 安裝環境:VMware里裝的ubuntu14.04,(由于是虛擬機,好像只能裝cpu版的caffe,反正是學習嗎,暫時不追求速度了) 二,安裝步驟 1.安裝一些依賴庫 2.安裝Python 的一些依賴庫 ATLAS是python下的一個線性代數庫,是基于線性代數庫lapack的;  安裝gfortran,后面編譯過程中會用到 BLAS,全稱Basic Linear Algebr...

    深度學習Caffe實戰筆記(2)用LeNet跑車牌識別數據

    caffe實戰之“車牌識別” 上一篇博客寫了如何在cpu的情況下配置環境,配置好環境后編譯成功,就可以用caffe框架訓練卷積神經網絡了。今天介紹如何在caffe環境下,跑車牌識別的數據,利用的網絡是LeNet,這里只介紹具體caffe實戰步驟,網絡結構不做具體介紹。 1、準備數據 在caffe根目錄下的data文件夾下新建一個mine文件夾,在mine文件夾新建一個tra...

    深度學習Caffe實戰筆記(3)用AlexNet跑自己的數據

    上一篇博客介紹了如何在caffe框架平臺下,用LeNet網絡訓練車牌識別數據,今天介紹用AlexNet跑自己的數據,同樣基于windows平臺下,會比基于Ubuntu平臺下麻煩一些,特別是后面的Siamese網絡,說起Siamese網絡真是一把辛酸一把淚啊,先讓我哭一會,,,,,哭了5分鐘,算了,Siamese網絡的苦水等以后再倒吧,言歸正傳,開始train。 在caffe平臺下,實現用Alexn...

    深度學習Caffe實戰筆記(19)Windows平臺 Faster-RCNN 制作自己的數據集

    萬里長征第一步,就是要制作自己的數據集,過程還是比較繁瑣的,特別是標注的過程,這篇博客先介紹如果制作voc2007自己的數據集用于faster-rcnn訓練,下一篇博客介紹如何用faster-rcnn訓練自己的數據。 1、準備圖像 圖像要用.jpg或者jpeg格式的,如果是png或者其它格式,自己轉換一下就好,圖像名稱要用000001.jpg,只有和VOC2007數據集圖像名稱一致,才能最大限度的...

    深度學習Caffe實戰筆記(18)Windows平臺 Faster-RCNN 環境配置

    好久不寫博客了,因為前一段時間博主身體抱恙,感觸頗多。。。。。。都說windows平臺做caffe和tensorflow坑多,博主沒有太多優點,唯獨的一個優點就是不服輸,Windows平臺雖然坑多,但是填坑也是蠻有意思的一件事情。另外,在Siamese網絡訓練自己的數據那個博客,經過高人點評,有些不太完善的地方,具體的信息請看那篇博客的一個長評論。 勞動節的時候幫一個師妹配置caffe,她說要做R...

    精品国产乱码久久久久久蜜桃不卡