Docker-tensorflow跑VGG16

来源:互联网 发布:js 注解 编辑:程序博客网 时间:2024/05/18 03:31

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

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

1.下载好VGG16的权重文件

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

(补充一个VGG下载链接(墙外):https://mega.nz/#!YU1FWJrA!O1ywiCS2IiOlUCtCpI6HTJOMrneN-Qdv3ywQP5poecM)


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# lsdata   data1(1)  input_data.py     rtl8192eu-master.zip   tensorflow-vgg-master.zip  vgg16_weights.h5data1  data2     rtl8192eu-master  tensorflow-vgg-master  vgg16.py                   vgg16_weights.npz



3. 定义VGG网络结构

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


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


5.fine-tuning VGG

finetuning的流程可以参见 http://blog.csdn.net/andrewseu/article/details/70142950 caffe finetuning CaffeNet流程总结


补充:

不fine-tuning的情况下提取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文件)

0 0
原创粉丝点击