前言
先前一直在捣鼓如何配置Linux下深度学习环境,中间遇到各种坑,光是装Linux系统就试了3个版本,装了十几次,搭建环境时遇到的错误也千奇百怪。本文为多次搭建后总结经验而成,较系统地完成了Ubuntu安装及深度学习开发环境配置的教程。
11月18日更新:
- 之前Pycharm无法导入tensorflow,报错结果是:ImportError: libcublas.so.9.0: cannot open shared object file: No such file or director,原因是没有把cuda的目录加入到环境变量中,新增该内容并调整了原文顺序。
- 修改了安装tensorflow的pip代码,之前的代码有些问题。
目录
五、安装 GPU 版本的 tensorflow 和 keras
Ubuntu 安装
一、准备:
二、分区:
我的分区方案是是固态硬盘分出33.5GB,机械硬盘分出500G;
系统根目录装在固态硬盘(快),机械硬盘的500G用来存储大型数据,具体的分配方式请自定.
三、U盘启动盘制作:
四、BIOS设置:
- 开机按键进入BIOS选项(Dell是F12,其他有F2、F8等);
- 在BIOS选项中,将Secure Boot 设置为Disable;
- 推荐使用UEFI引导安装,若用此方式安装失败,请选用Legacy引导.
五、安装Ubuntu:
- 插上U盘启动盘,开机按键进入系统启动选项,选择你的U盘启动盘,回车;
- 进入Ubuntu安装选项,我们选择Install Ubuntu;
- 进入图形化安装界面,语言默认选择中文,WiFi可以连也可以不连,建议网速好的情况下连接WiFi,下载更新;
- 关键的一步是选择“安装类型”,我们选择“其它选项”,即自己为Ubuntu选择分区.这个时候,双击之前分出的空闲空间,即可分配各分区的大小与文件格式;为了简便起见,我们只设立swap、/、/boot、/home这四个分区:
- 安装启动器引导器的设备,选择/boot所在的设备.
- 接下来我们继续后续安装,设置地区、键盘布局、用户名、密码等;
- 这样,我们就完成了Ubuntu18.04 LTS的安装.
深度学习开发环境配置
Anaconda + Pycharm + Nvidia driver + CUDA + cuDNN + Tensorflow-gpu + Keras安装
一、Anaconda安装
此处我们安装Python3.6版本的Anaconda,下载地址:
https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-5.2.0-Linux-x86_64.sh
- 在终端中输入以下指令,打开下载目录并安装Pycharm:
在安装的过程中,可以选择安装路径.cd ~/Downloads sudo bash Anaconda3-5.2.0-Linux-x86_64.sh
通常情况下会问你是否将anaconda安装路径加入到环境变量(.bashrc)中,输入yes,默认的是no,请输入yes.
- 若没有添加,则在终端中输入:
打开profile文件,输入:sudo vi /etc/profile
其中/home/qk/programme/anaconda3为我的安装路径,保存并退出;然后输入source /etc/profile 更新环境变量.export PATH=”/home/qk/anaconda3/bin:$PATH”
- 安装完成后,可输入conda --version检查安装是否正确,输入conda list可查询安装了哪些库,如numpy,pandas等.
二、安装Nvidia dirver
- 在Ubuntu中,可在 系统设置->软件更新->附加驱动 中直接找到可使用的显卡驱动,应用更改并重启;
三、CUDA安装
在下载前,先根据此图片查看可安装的版本,注意驱动版本要大于其要求的最低版本.
注意,由于一些未知原因,Tensorflow安装后表示无法找到libcublas.so.9.0文件,因此我选择安装CUDA9.0版本来解决此问题.
下载地址:https://developer.nvidia.com/cuda-downloads
下载相应系统版本的CUDA安装文件,Ubuntu18.04请选择17.04版本的CUDA,注意选择runfile格式的安装包.
- 在终端中打开该文件的下载地址,输入如下指令后后开始安装
sudo chmod +x cuda_9.0.176_384.81_linux.run sudo sh ./cuda_9.0.176_384.81_linux.run --override
请注意安装过程中,无需再安装显卡驱动.
-
若安装结果出现:
Missing recommended library: libGLU.so
Missing recommended library: libXmu.so
Missing recommended library: libGL.so
等,原因是缺少相关的依赖库,安装相应库就解决了.
sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev
- 安装完成后,配置环境变量,在终端中输入:
在结尾加上:sudo vi /etc/profile
其中/usr/local/cuda-9.0是我的cuda安装路径,若有不同请改为自己的安装路径. 最后,在终端中输入source /etc/profile更新环境变量.export PATH=/usr/local/cuda-9.0/bin:$PATH export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
- (保险措施)部分同学表示导入tensorflow时出现错误:ImportError:libcublas.so.9.0: cannot open shared object file: No such file or directory,可通过另一个方式配置环境变量,在终端中输入:
在结尾加上:sudo vi ~/.bashrc
最后,在终端中输入source ~/.bashrc更新环境变量.export PATH=/usr/local/cuda-9.0/bin:$PATH export LD_LIBRARY_PATH=LD_LIBRARY_PATH:/usr/local/cuda-9.0/lib64/
- 验证安装,在终端中输入:
若显示如下结果则表明安装成功:nvcc -V
四、安装cuDNN
下载前需要先注册Nvidia开发者,然后勾选同意,根据你的CUDA版本选择你要安装的cuDNN安装包.
- 以下为官方文档的安装方式,将解压后的文件复制到CUDA的安装目录的文件夹中:
tar -xzvf cudnn-9.0-linux-x64-v7.1.tgz sudo cp cuda/include/cudnn.h /usr/local/cuda-9.0/include sudo cp cuda/lib64/libcudnn* /usr/local/cuda-9.0/lib64
五、安装 GPU 版本的 tensorflow 和 keras
- Anaconda自带pip,可直接在终端中输入:
pip install --user tensorflow-gpu keras -i http://pypi.mirrors.ustc.edu.cn/simple --trusted-host pypi.mirrors.ustc.edu.cn
- 安装后显示:
- 验证安装:
终端中进入Python,导入Keras包;
显示Using TensorFlow backend ,表明TensorFlow和Keras安装成功.
六、Pycharm安装及配置:
此处我们安装带Python3.6版本Pycharm,下载地址:
https://download.jetbrains.8686c.com/python/pycharm-community-2018.1.4.tar.gz
- 在终端中输入以下指令,打开下载目录并解压:
这里-C后面的~即为文件解压路径,可以自己选择,此处为解压到/home/qk/programme下.cd ~/Downloads tar -xvzf pycharm-community-2018.1.4.tar.gz -C ~ # ~即为文件解压路径
- 进入文件解压目录,输入以下命令,进入 PyCharm 目录:
cd /home/qk/programme/pycharm-community-2018.1.4/bin
- 最后,运行下面命令来运行Pycharm:
sh pycharm.sh &
新建一个项目,假设名为temp,以此为例,选择:
File—Setting—Project:temp—Project Interpreter—Add
点击Existing environment,选择路径为:
/home/qk/anaconda3/bin/python3.6
- 在Pycharm环境变量中添加cuda路径:
点击Run—Edit Configurations
点击Defaults—Environment variables—…
将cuda的目录添加到环境变量中: