基于window10系统的docker+auto-sklearn环境搭建记录

整理了一下以前打比赛时在自己笔记本上尝试搭建auto-sklearn的过程,给大家一个参考~

笔者在公司实习训练模型时简单地使用了一下docker,当时就觉得十分方便,简单来说有4点:

1.模块化,有一个配置好了程序运行环境docker意味着当你换一台服务器时就不用再重新配置环境,挂载好资源目录,然后直接把docker扔上去就可以训练模型了。而且实习那会儿同事将不同docker绑定到不同GPU上面进行相关测试,觉得确实挺方便的。

2.隔离功能,当一台服务器上面很多用户时你可以体会到有一个隔离的系统的好处,自己的代码不会无缘无故被删掉,各种path路径链接不会被其他人误改掉(别问我怎么知道的)

3.相对于vmware这类虚拟机运行效率高了很多,笔者测试过相关代码,直接在docker和本机环境中训练模型和预测差别确实不大

4.和虚拟机一样,容器内环境是可以还原的,也就是可以很方便尝试各种实验。

关于docker使用注意事项:

1.在实际部署时一定要注意好docker权限这类问题,因为如果权限没设置好docker权限过大对local环境是有风险的。当时还发现了利用docker绕过root权限限制直接在local环境进行风险操作的bug,所以一定需要咨询专业的运维人员把控好安全问题。

2.docker也不意味着完全不用管配置环境这些了,也要注意和local环境的兼容性,比如部署模型时local环境系统调用这些较为底层相关库版本一定要和docker环境兼容,不然部署到实际生产环境时会很麻烦。

过程

1.准备:win10专业版 +docker for windows(下载需要,也可以直接用笔者在官网下载好的最新的安装包[1])

2.安装过程参考[2]:(tips:万一卡在安装页面很久,可以考虑关掉安全防护软件再安装)

3.安装完后,笔者直接用的cmd命令行开始操作

4.首先拉取tensorflow镜像,没有就用国内的,笔者选cuda-8.0+tensorflow1.4(1.5以下tensorflow支持cuda-8.0),拉取命令docker pull daocloud.io/daocloud/tensorflow:1.4.0-rc1-gpu,然后就可以进入docker操作了,docker操作方式参考[3]

5.安装anaconda3,我是选择直接用本地的sh文件(下载链接[4])进行安装,首先把本地目录系统挂载到docker目录,然后进入docker进行安装,参考https://blog.csdn.net/woainishifu/article/details/74978647(笔者开始以为这个docker是能直接运行gpu,进入以后尝试安装nvidia驱动失败,查找资料后发现目前nvidia-docker只支持linux,需要gpu版本docker的童鞋可以自行去网上查找一下,和cpu版本docker区别不大,就是加了个马甲而已(nvidia驱动安装参考[5]),另外anaconda有一个很实用的功能,创新虚拟python环境,参考[6])

6.auto-sklearn安装参考[7],过程比较顺利(笔者直接运行 sudo apt-get install build-essential swig默认安装了swig3,不像作者说的默认swig2,关于命令curl https:/raw.githubusercontent.com/automl/auto-sklearn/master/requirements.txt | xargs -n 1 -L 1 pip install命令需要,安装过程中可能会遇见缺包情况,pip install补上就好)

7.进行python脚本编辑,docker里面没有vim,所以需要安装vim,先执行apt-get update更新软件源,然后apt-get vim

8.测试代码参考官方文档。

提示: 退出docker前一定要记得保存。

[1]https://pan.baidu.com/s/13wpNN2oQ_D5oQEDlywv2Nw

[2]http://www.runoob.com/docker/windows-docker-install.html

[3]http://www.runoob.com/docker/docker-container-usage.html

[4]https://pan.baidu.com/s/1alKcVFi9Mai9nWfk7uByvA

[5]https://blog.csdn.net/w5688414/article/details/78287199

[6]https://blog.csdn.net/liangyihuai/article/details/77842628?locationNum=9&fps=1

[7]https://blog.csdn.net/xummgg/article/details/80274009

 

最后贴一下docker常用的命令,包括docker导入,镜像,容器相关操作:
sudo docker import docker_name.tar docker_name:1.0
sudo docker images
sudo docker run -idt -v /data:/data dce2d4ae5307 /bin/bash
sudo docker run -it docker_name:1.0 /bin/bash
sudo docker ps
sudo docker attach p_id
docker commit -m="has update" -a="runoob" 47090a533b51 user_name/docker_name:3.0
sudo docker stop
exit
sudo docker rm
sudo docker rmi
ctrl+p, ctrl+q

 

你可能感兴趣的:(AI/数据挖掘)