Docker中部署tensorflow框架

Docker中部署tensorflow框架

一、安装docker

windows下的傻瓜式安装,记得安装时候要勾选加入环境变量,不勾选需要自己将其加入环境变量!

官网飞机

二、拉取镜像

docker pull tensorflow/tensorflow

三、创建容器

docker run --name myTensorflow -it -p 8888:8888 -v D:\深度学习方向\tensorflow-test:/notebooks/data  tensorflow/tensorflow
### docker run运行镜像,
### --name为容器创建别名,
### -it保留命令行运行,
### -p 8888:8888将本地的8888端口http://localhost:8888/映射,
### -v D:\深度学习方向\tensorflow-test:/notebooks/data 将本地的D:\深度学习方向\tensorflow-test文件夹挂载到新建容器的/notebooks/data下(这样创建的文件可以保存到本地D:\深度学习方向\tensorflow-test)
###tensorflow/tensorflow为指定的镜像,默认标签为latest(即tensorflow/tensorflow:latest)

运行之后就变成了这样:

发现其实并没有jupyter自动启动,然后查找页没有jupyter这个东西,所以另寻他法。

以下是另寻他法

四、辛苦的另寻他法

我刚开始觉得是官网的镜像没有jupyter,其实自己pip安装一个也可以,反正都要自己安装,我就重新找了一个镜像,带python3的,镜像名字是: andreleoni/cnn-tensorflow

前面步骤都一样,只不过进入容器以后:

pip3 install jupyter -i https://pypi.tuna.tsinghua.edu.cn/simple ##临时源

然后就进入安装环节,安装完成后初始化jupyter的配置文件

jupyter notebook --generate-config

接着因为涉及到需要编辑文件,所以顺带安装一波nano或者vim,涉及到换源:

###这里在自己挂在的文件夹里面新建一个sources.list文件,从网上搜一个源赋值进去,覆盖雕/etc/apt/sources.list文件
###这里建议覆盖前先备份以下
###然后执行
apt-get update### 更新
apt-get install nano ###安装nano

安装完成后修改jupyter的配置文件,和anacoda里面提到的一样就好,然后这时候运行命令:

jupyter notebook

惊人的发现,继续出错:

这里怀疑可能是因为在docker里面的原因,所以提供一个网上的解决方案:运行以下命令

jupyter notebook --ip 0.0.0.0 --no-browser --allow-root

终于成功!至此jupyter安装成功,跑一下我们的demo:

pip3 install -U tensorflow##更新一下tensorflow的版本,这个镜像版本低了

也是成功跑起来了呢:

五、跑一下Fast Mask Rcnn

RCNN家族的检测算法是目前的目标检测算法中two-stage算法的标杆,所以我也是从github上扒了一个最近比较新的关于目标检测的改进算法:Fast Mask RCNN,这里给上github地址。

根据README.md文件,我们一步步来照着做:

1、make编译

发现找不到python命令,因为我们是python3,所以修改Makefile文件,把其中python改成python3即可

然后发现没有cython,还能怎么办,装呗

apt-get install cython ##
pip3 install Cython


然后漫长的安装完毕以后,进入build
结果,发现每次将anotations载入内存都会被kill掉,在此卡住,还未解决

2、搞定数据集

需要去coco数据集的官网下载,还是外网,而且数据量达到20G+,好不容易找到个百度网盘,开始漫长的下载之路:

链接:https://pan.baidu.com/s/1_aTd_26mhu9O2u1oFpSIrg 
提取码:4ntj 
复制这段内容后打开百度网盘手机App,操作更方便哦

然后我们来看一下它要求的coco数据集的格式:

Place and unzip your coco in this dir, like

./data
    ./coco
        ./annotations
        ./train2014
        ./val2014

看起来是一个训练集+一个测试集+标签三个文件夹

按照要求制作好:

接下来运行python download_and_convert_data.py这个文件,当然了,其中如果遇到Not found moudle named XXXX的 问题就是缺少相应的包,用pip去下载就好了

比如,我这里就出现了缺少skimage的包:

#安装一下这个图片处理包即可
pip3 install scikit-image -i https://pypi.douban.com/simple	

接下来我们再次运行,一切都ok,就是有点慢:

3、下载resnet50预训练模型

这里就不赘述resnet50的结构了,感兴趣的小伙伴可以自己搜它的论文来看看。

Download pretrained resnet50 model, wget http://download.tensorflow.org/models/resnet_v1_50_2016_08_28.tar.gz, unzip it, place it into ./data/pretrained_models/

按照人家说的,下好放到对应的文件夹下即可:

4、再次make

在./lib下再次make

你可能感兴趣的:(深度学习)