docker_facenet_image在Docker容器中運行Facenet環境搭建

  對開發和運維人員來講,可能最求之不得的就是一次性地建立或配置,能夠在任意環境、任意時間讓應用正常運行。而Docker偏偏是能夠實現這一終極目標的瑞士軍刀。python

  具體來講,Docker在開發和運維過程當中,具備以下幾個方面的優點。linux

  1.更快速的交付和部署。使用Docker,開發人員可使用鏡像來快速構建一套標準的開發環境;開發完成以後,測試和運維人員可使用相同環境來部署代碼。Docker能夠建立和刪除容器,實現快速迭代,大量節約開發、測試、部署的時間。而且,各個步驟都有明確的配置和操做,整個過程全程可見,使團隊更容易理解應用建立和工做的過程。docker

  2.更高效的資源利用。Docker 容器的運行不須要額外的虛擬化管理程序支持,它是內核級的虛擬化,能夠實現更高的性能,同時對資源的額外需求很低。ubuntu

  3.更輕鬆的遷移和擴展。Docker 容器幾乎能夠在任意的平臺運行,包括物理機、虛擬機、公有云、私有云、我的電腦、服務器等。這種兼容性讓用戶能夠在不一樣平臺之間輕鬆遷移應用。bash

  4.更簡單的更新管理。使用Dockerfile,只須要小小的配置修改,就能夠替代以往大量的更新工做。而且全部修改均可以以增量的方式進行分發和更新,從而實現自動化而且高效的容器管理。服務器

  基於Docker以上優勢,咱們來搭建Docker的facenet環境運維

       Facenet簡介性能

    Facenet是一個基於Tensorflow實現的人臉識別器,其核心思想來自於論文:「FaceNet: A Unified Embedding for Face Recognition and Clustering」。此篇博客主要介紹如何用在Docker容器中搭建Facenrt環境測試

  在Docker容器中運行Facenetspa

  Ubuntu 系列安裝 Docker

  要安裝最新的Docker版本,首先須要安裝apt-transport-https支持,以後通添加源來安裝。

  $sudo apt-get install apt-transport-https

  $sudo apt -key adv--key server hkp://keyserver.ubuntu.com:80 --recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9

  $sudo bash -c "echo deb https://get.docker.io/ubuntu docker main > /etc/apt/sources.list.d/docker.list"

 

  $sudo apt-get update
      $sudo apt-get installl xc-docker
  
   若是是低版本的Ubuntu,須要先更新內核。
  
       $sudo apt-get update
  $sudoapt-get install linux-image-generic-lts-raring linux-headers-generic-lts-raring
       $sudo reboot
   而後重複上面的步便可。安裝以後啓動Docker
  
  $sudo service docke rstart
  在Docker容器中搭建Facenet運行環境
  1.在docker內拉取一個Python3.5或者Python3.6的鏡像。參考代碼以下:
  
docker pull python:3.5

  2.經過命令sudo docker images 查看安裝結果,以下圖:

  

  3. 經過鏡像python:3.5建立一個facenet容器,參考代碼以下:

  

sudo docker run --name='docker_facenet' -dit python:3.5 /bin/bash

  4.經過命令sudo docker ps -a 查看容器,以下圖:

  

  5.經過sudo docker attach docker_facenet進入容器,以下圖:

  

  6.在Docker容器內安裝各類運行Facenet須要的包。(同在本機上安裝的那些包),參考代碼以下:

  

pip install --upgrade tensorflow_gpu==1.7
pip install --upgrade numpy==1.16.2 pip install scipy==1.2.1 pip install scikit
-learn pip install opencv-python pip install h5py pip install matplotlib pip install Pillow pip install requests pip install psutil

 

      7.複製本地數據和代碼到容器,參考指令以下:

  

docker cp /home/ubuntu/Lwh/data/3D-Face-BMP_blur_datagen.zip  docker_facenet:/lwh/facenet-master/src/align/datasets

  

  8.複製容器文件到本地宿主機,參考指令以下:

 

docker cp docker_facenet:/lwh/facenet-master  /home/ubuntu/Lwh/nvidia-docker-facenet

 

 

 

  9.運行各類Facenet程序,此時與在本機運行相似。需注意此時各個文件的路徑是在docker的文件系統中的路徑

  10.以上安裝方法比較繁瑣,後續更新Dockerfile更新方式

相關文章
相關標籤/搜索