从这一篇开始, 将开始记录、介绍Keras + TensorFlow组合进行图像以及文本分类。
在实战之前, 首先就是搭建我们的运行环境。
笔者在这里最推荐的还是使用docker进行部署。 在宿主机里面只需要安装cuDNN、NVIDIA-Driver安装好之后,需要TensorFlow就pull一个TensorFlow的镜像。 想要一个Caffe就去pull一个Caffe的镜像。 python2、python3 随便切换。
如果你还没有使用过docker, Google搜索“docker 入门”第一条就是最好的入门文档。
传送门: https://www.gitbook.com/book/yeasy/docker_practice
支持原创, 原文链接:
http://www.flyml.net/2017/11/24/deepnlp-install-ubuntu-deeplearning-suite-from-begging
搜索Universal-USB-Installer-1-9-5-9.exe并下载
虽然这个软件蛮久不更新了,但是目前(2017-05-15)依然非常好用
安装Desktop相比直接安装Server,应该来说是要简单很多了。
Step 1: 在安装界面选择最下面的其他
Step 2: 设置分区表
特别是如果你有多块硬盘, 在这里可以直接设置好挂载点
我的设置:
(1) 在SSD硬盘之中设置一个swap分区 : 10G
(2) 在SSD剩下的空间设置为主盘, primary / from disk start
(3) 将比较大的HDD 1T 挂载到 /data 之中
Ubuntu之中, 是逻辑分区还是主分区,据说区分不大
剩下的基本上就是一路continue
Tip: 这个过程最好能一直连着网线。 这样安装完的系统有几点好处:
(1) apt 源自动改成cn 而不是ISO默认自带的us, cn的源速度还不错
(2) 时区自动选择上海, 不需要手动去选择了
主要参考教程: https://github.com/yeasy/docker_practice/blob/master/SUMMARY.md
主要执行的步骤:
- 使用阿里云的自动安装脚本
curl -sSL http://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/docker-engine/internet | sh -
Optional:
如果你是在网络条件相对较好的VPS, 可以使用官方脚本:
curl -fsSL get.docker.com -o get-docker.sh && sudo sh get-docker.sh - 设置可以不带sudo的运行docker命令
sudo usermod -aG docker user - 配置镜像加速器
参考教程:
首先还是要确定你的显卡被正确识别了。
运行命令: lspci |grep nvidia -i,
- 因为之前我们安装的是ubuntu desktop, 因此需要先关闭X Server
参考: https://askubuntu.com/questions/149206/how-to-install-nvidia-run
在我的环境上面执行的命令:
(1) sudo service lightdm stop
(2) sudo init 3
有一个未经验证的方法:
NOTE:
安装好之后, 请不要尝试再次启动lightdm, 否则会出现各种奇奇怪怪的问题, 比如nvidia-docker 无法正常启动。
如果接到显示器上面,可以按快捷键 alt+ctrl+F3 直接进入命令行。
一个正常的副作用: 在Desktop模式登陆, 会发现登录没有提示错误, 但是总是进不去的问题。
- 下载驱动
官网: http://www.nvidia.com/Download/index.aspx
根据具体的显卡选择相应的驱动
- 开始安装驱动
通过chmod +x 使文件可执行即可。
安装完成,运行命令检查是否安装成功:cat/proc/driver/nvida/version
(如果你想一直看:watch -n 1 nvidia-smi
贼好用的每隔一秒刷新看一次的命令)
关于nvdia-smi 更详细的使用, 可以看网上更多的教程
- 首先需要安装nvidia-dockergithub主页: https://github.com/NVIDIA/nvidia-docker
直接使用官网主页上面的ubuntu安装命令即可~
wget -P /tmp https://github.com/NVIDIA/nvidia-docker/releases/download/v1.0.1/nvidia-docker_1.0.1-1_amd64.debsudo dpkg -i /tmp/nvidia-docker*.deb && rm /tmp/nvidia-docker*.deb
- 我们选择python3的环境
docker pull tensorflow/tensorflow:latest-gpu-py3
启动的时候, 参考如下的命令:
123456sudo nvidia-docker run \--name wenjun-tf-gpu-py3 \-it -p 8888:8888 -p 6006:6006 \-v /home/user/wenjun/notebooks:/notebooks \-v /data/jupyter-notebook-dataset:/dataset \tensorflow/tensorflow:latest-gpu-py3
注意: 一个副作用就是会把默认自带的几个notebook给覆盖掉这样我们就可以直接在jupyter notebook上面直接编写相应的python脚本了。 并且脚本也不会虽然docker的重启而丢失, 因为会直接写到外部的数据目录上
- 验证TF确实是使用GPU进行工作参考: http://wiki.jikexueyuan.com/project/tensorflow-zh/how_tos/using_gpu.html
123456789101112131415# 新建一个 graph.a = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[2, 3], name='a')b = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[3, 2], name='b')c = tf.matmul(a, b)# 新建session with log_device_placement并设置为True.sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))# 运行这个 op.print sess.run(c)
上面这几行代码在jupyer notebook 是看不到完整输出的, 只能以ipython的方式运行docker image 并在里面输入
注意: 在Jupyter Notebook 上面跑完模型之后, 默认GPU的内存是不会释放的。
需要重启一下当前的Jupyter Notebook的kernel
支持原创, 原文链接:
http://www.flyml.net/2017/11/24/deepnlp-install-ubuntu-deeplearning-suite-from-begging

文章评论