• docker_facenet_image在Docker容器中运行Facenet环境搭建


      对开发和运维人员来说,可能最梦寐以求的就是一次性地创建或配置,可以在任意环境、任意时间让应用正常运行。而Docker恰恰是可以实现这一终极目标的瑞士军刀。

      具体来说,Docker在开发和运维过程中,具有如下几个方面的优势。

      1.更快速的交付和部署。使用Docker,开发人员可以使用镜像来快速构建一套标准的开发环境;开发完成之后,测试和运维人员可以使用相同环境来部署代码。Docker可以创建和删除容器,实现快速迭代,大量节约开发、测试、部署的时间。并且,各个步骤都有明确的配置和操作,整个过程全程可见,使团队更容易理解应用创建和工作的过程。

      2.更高效的资源利用。Docker 容器的运行不需要额外的虚拟化管理程序支持,它是内核级的虚拟化,可以实现更高的性能,同时对资源的额外需求很低。

      3.更轻松的迁移和扩展。Docker 容器几乎可以在任意的平台运行,包括物理机、虚拟机、公有云、私有云、个人电脑、服务器等。这种兼容性让用户可以在不同平台之间轻松迁移应用。

      4.更简单的更新管理。使用Dockerfile,只需要小小的配置修改,就可以替代以往大量的更新工作。并且所有修改都可以以增量的方式进行分发和更新,从而实现自动化并且高效的容器管理。

      基于Docker以上优点,我们来搭建Docker的facenet环境

           Facenet简介

        Facenet是一个基于Tensorflow实现的人脸识别器,其核心思想来自于论文:“FaceNet: A Unified Embedding for Face Recognition and Clustering”。此篇博客主要介绍如何用在Docker容器中搭建Facenrt环境

      在Docker容器中运行Facenet

      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更新方式

        

           

  • 相关阅读:
    Delphi WinAPI GetWindowRect
    Delphi WMI[2] 响应网线断开
    打印两个升序链表中共同的数据
    判断一个链表是否是回文结构
    删除有序数组中的重复项
    三数之和、最接近目标值的三数之和
    删除链表倒数第N个节点
    判断回文数
    字符串转整数
    整数反转
  • 原文地址:https://www.cnblogs.com/liuwenhua/p/11512549.html
Copyright © 2020-2023  润新知