Docker-tensorflow跑VGG16

在我们的实际项目中,一般不会直接从第一层直接开始训练,而是通过在大的数据集上(如ImageNet)训练好的模型,把前面那些层的参数固定,在运用到我们新的问题上,修改最后一到两层,用自己的数据去微调(fineturn),一般效果也很好。

如果要在docker上的tensorfow上跑,我们需要做以下几件事情:

1.下载好VGG16的权重文件

一般是 VGG16_Weights.npy ,或者VGG_Weights.npz, 可以自行百度上搜,文件比较大,我下的是537M,外网比较慢的话,可以从百度网盘上下;


2. 把主机上包含VGG16_Weights.npy权重的文件夹挂载到tensorflow上

由于文件很大,不可能直接上传,docker给镜像提供了挂载机制,具体操作是通过docker -v 主机地址:挂载目录的方式,以我的为例:

docker run -it - p 8888:8888 -v /home/zhu/Downloads:/aa/data tensorflow/tensorflow

通过这种方式,我就把我Downloads文件夹挂载到了tensorflow上,就可以直接引用了;

可以检查以下是否挂载成功:

# cd  /aa/data
# ls
data   data1(1)  input_data.py     rtl8192eu-master.zip   tensorflow-vgg-master.zip  vgg16_weights.h5
data1  data2     rtl8192eu-master  tensorflow-vgg-master  vgg16.py                   vgg16_weights.npz


3. 定义VGG网络结构

github上有很多开源代码,这里给出一个https://github.com/leihe001/tensorflow-vgg


4. 根据需要修改网络结构


5.fineturn VGG


由于自己还没有完全整理好,后面有时间再继续细化:)

未完待续…


参考资料:

1.https://my.oschina.net/piorcn/blog/324202(docker挂载文件目录)

2.http://scikit-image.org/docs/dev/install.html(scikit-image)

3.https://github.com/leihe001/tensorflow-vgg(VGG16 & VGG19)

4.http://www.cnblogs.com/dmir/p/5009075.html(.npy&.npz文件)

猜您喜欢

要发表评论,您必须先登录