“Tensorflow+OpenCV“容器进行CNN数字识别训练

本文介绍了如何在Docker容器中配置Tensorflow和OpenCV的组合镜像,通过数据卷volume实现容器与本地数据共享,并详细阐述了在容器内进行数字识别训练的过程,包括解决遇到的依赖问题和性能比较。
摘要由CSDN通过智能技术生成

“Tensorflow+OpenCV“容器进行CNN数字识别训练

1. 在Docker中配置“Tensorflow+OpenCV“组合镜像

参考:http://blog.csdn.net/chenming_hnu/article/details/70184543

2. 容器与本地的数据卷volume共享

只要涉及到样本的训练的相关内容,就要考虑数据的存储、共享等。
(1) docker引入了数据卷(volume)机制,volume是存在于一个或多个容器中的特定文件或文件夹,这个目录以独立于联合文件系统的形式在宿主机中存在,并为数据的共享与持久化提供了如下便利:

  • volume在容器创建的时候就会初始化,在容器运行时可以使用其中的文件;
  • volume能在不同的容器间共享和重用;
  • 对volume中的数据操作会立马生效;
  • 对volume中的数据操作不会影响到镜像本身;
  • volume的生存周期独立于容器的生存周期,即使删除容器,volume仍然会存在,没有任何容器使用的volume也不会被docker删除。

(2)创建数据卷共享容器

sudo docker run -it -v vol_tfcv5:/data --name=tfcv5 tensorflow:tensorflowCV /bin/bash

对以上命令的解释:

  • docker run表示新建容器时 加上-v 命令为创建数据卷,也可以先用 $ docker create --name vol_simple 创建数据卷,再用run命令。
  • -it 也可以写成 -i -t, 表示申请一个伪终端tty控制台与容器进行数据交互;
  • vol_tfcv5:/data 创建一个指定名字的volume数据卷为vol_tfcv5,并挂载到容器的/data目录下;
  • --name=tfcv5 容器的名称;
  • tensorflow:tensorflowCV 构建容器的源镜像名称;
  • /bin/bash 使用/bin/bash来执行解释脚本

实际上:Docker 在创建volume的时候会在宿主机/var/lib/docker/volumes 中创建一个以volume ID为名的目录,并将volume中的内容存储在名为_data的目录下。
使用docker volume inspect命令可以获得该volume包括其在宿主机中该文件夹的位置等信息。

$ sudo docker volume inspect vol_tfcv5
[sudo] password for mingchen: 
[
    {
        "Name": "vol_tfcv5",
        "Driver": "local",
        "Mountpoint": "/var/lib/docker/volumes/vol_tfcv5/_data",
        "Labels": null,
        "Scope": "local"
    }
]

在容器内查看/data目录下的数据:

root@1451fcc1ad4f:/# ls
bin   data  etc   lib    media  notebooks  proc  run             sbin  sys  usr
boot  dev   home  lib64  mnt    opt        root  run_jupyter.sh  srv   tmp 
root@1451fcc1ad4f:/# ls data
root@1451fcc1ad4f:/# 

发现为空,下面我们就向主机上的共享目录中拷入数据。
(3)向共享目录/var/lib/docker/volumes/vol_tfcv5/_data中拷入数据

我的图片及代码数据都在/home/mingchen/Desktop/tf_pic_auto/, “*“表示此目录下的所有文件。

$ sudo cp -r /home/mingchen/Deskt
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值