Win10基于docker安装TensorFlow(/PaddlePaddle)

Win10基于docker安装TensorFlow/PaddlePaddle

第一次写这种博客,自己安装的时候挺折腾,主要是自己各种不清楚,再加上网速超级差……

开始正题。

1.启用Hyper-V(虚拟化):

控制面板->程序->启用或关闭Windows功能->开启Hyper-VWin10家庭版没有该功能)。

注:如果电脑是Win10家庭版,请升级至专业版。家庭版时安装docker成功,但运行时会提示没有Hyper-V。)

  

2.下载docker

https://www.docker.com/ 下载docker for Windows

  

3.安装docker

双击已经下载的docker,即完成安装 

双击桌面快捷键,运行。 

右键如图,点击document,即启动教程https://docs.docker.com/docker-for-windows/

 

  

hello-world这一步docker基本已经安装成功了。

 

拉取镜像或者容器container的时候,类似于下面这样。

docker run...网速不好会比较崩溃,一直出错,超时timeout,连接不上request canceled while waiting for connection,都属于正常,多试几次。

 

4.TensorFlow & PaddlePaddle

这两个前面的步骤基本一样,后续TensorFlow参考4.1PaddlePaddle参考4.2

4.1利用docker启动容器TensorFlow

如果你用的方法都不太对,可以试试下面这个,同样的需要网速好,耐心等。

docker run -it -p 8888:8888 tensorflow/tensorflow

最后可能会出现端口被占用的情况:Bind for 0.0.0.0:8888 failed: port is already allocated.

(网页localhost:8888进不去,或者出现的是别的容器的,不过这时候貌似已经可以用命令行运行了,如何用命令行打开在后面会说到。)

 

 

查看该端口使用情况:netstat -aon|findstr "8888"

Kill该端口占用:tasklist|findstr "6512"

 

然而对于这个并没有什么用,再次查看依旧占用。不是太清楚,可能那个进程不能被kill

那么,换一个没被占用的端口号就好啦。

 

随后打开你的浏览器,打开该网址即可

  

在这个页面里,你就可以进行简单的学习了,Shift+Enter运行程序。

同时有TensorFlowpaddlepaddle时,端口号不同,但网页只会显示8888端口的结果,运行另一个还是会出错,这个目前我还没解决。

想在命令行里运行的话:docker run -it tensorflow/tensorflow bash,下图是一个范例。

 

4.2利用docker启动PaddlePaddle

docker run -d -p 8888:8888 docker.paddlepaddle.org/ 这个确实下载的更快一点

docker run -it docker.paddlepaddle.org/book bash 同样是在命令行中运行

 

好像中间还有过别的问题,比如与自己电脑上本身装了虚拟机冲突,访问网页404,等等,不记得怎么解决的了...还有例如端口的问题,自己还不是很清楚...

 

自己安装的时候并没有想写这个,装完才想说写一下,万一别人也遇到跟我一样的情况呢,所以中间有的参考资料没保留下来,已经找不到了,还请原谅,真的超级感谢。自己专业术语不是很清楚,其中可能也有不少问题,见谅...如果有人发现中间的错误,希望能提出来,谢谢了~

参考资料:

http://wiki.jikexueyuan.com/project/deep-learning/

http://blog.csdn.net/chenming_hnu/article/details/54600270

http://blog.csdn.net/seymour163/article/details/53236947