深度学习环境配置
主要记录一下在 Ubuntu16.04 中配置 tensorflow-gpu+opencv的过程。
安装Cuda
Attention 安装驱动前需要先确定所需要的cuda版本,根据cuda版本选择驱动版本,根据驱动版本选择系统的内核版本。
查看Tensorflow 对应的cuda版本: https://tensorflow.google.cn/install/source#linux
查看cuda对应的驱动版本:https://developer.nvidia.com/cuda-toolkit-archive 查看指定cuda版本的online documentation 的 installation guide 一栏,确定要求的系统内核版本。
一般对于Ubuntu16.04,cuda-10 及其以下版本都只支持4.4.0版本的内核,而目前Ubuntu官网提供的最新的16.04的iso文件内核版本为4.15.0 (查看系统内核版本命令 uname -r
)。可以使用降低内核来达到内核版本要求(但是我没成功)。另外一种方式就是使用Ubuntu16.04.1 重新安装系统,该系统自带内核版本为 4.4.0 。
另外,推荐安装完系统后安装Anaconda用来管理Python开发环境。
安装步骤
- 禁用nouveau
sudo gedit /etc/modprobe.d/blacklist-nouveau.conf
# 文件内容为
# blacklist nouveau
# options nouveau modeset=0
sudo update-initramfs -u
sudo sync
sudo reboot
- 查看是否禁用成功
lsmod | grep nouveau # 没有任何输出表示禁用成功
- 下载cuda: http://developer.nvidia.com/cuda-downloads 选择需要的cuda文件(选择 runfile),根据cuda文件名确定驱动版本好。例如 cuda_10.1.105_418.39_linux.run 所需要的版本号为 418 系列,只要主版本号符合就行
- 下载驱动:https://www.nvidia.cn/Download/index.aspx?lang=cn (有些比较老的驱动,可以尝试直接百度搜索 ‘nvidia + 版本号’ 的方式下载)
- 安装驱动
# ctrl+alt+f1 进入文本模式
sudo service lightdm stop # 关闭图形界面
sudo apt purge nvidia* # 卸载之前安装的驱动
sudo chmod a+x NVIDIA-Linux-x86_64-xxx.xxx.run # 修改权限,其中 xxx.xx 为具体的驱动版本号
sudo ./NVIDIA-Linux-x86_64-xxx.xxx.run --no-opengl-files # 安装驱动, --no-opengl-files 参数很重要
# 安装完成后可以通过 nvidia-smi 命令查看安装是否成功:如果正确输出显卡信息,则表示安装成功
- 安装Cuda
# 依旧是在文本模式下安装
sudo chmod +x cuda_xxx.run
sudo ./cuda_xxx.run # 注意:安装过程中会有基础选择提示,除了不要安装驱动外其余选项自己选择
- 添加环境变量
sudo gedit /etc/profile
# 在文件末尾添加:
export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64$LD_LIBRARY_PATH
sudo ldconfig # 使添加的环境变量生效
- 测试
cd /usr/local/cuda/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery # Result = PASS 表示测试通过,安装成功
配置cuDnn
引用博客 https://www.cnblogs.com/alexanderkun/p/6908191.html
安装Tensorflow + OpenCV
Attention 建议使用Anaconda 来管理虚拟环境,用pip来管理虚拟环境内的第三方包的安装和卸载
- 安装Anaconda:https://www.anaconda.com/distribution/
- Anaconda切换中科大源:http://mirrors.ustc.edu.cn/help/anaconda.html
- Anaconda常用命令:1. Anaconda完全入门指南 2. Anaconda常用命令
- 切换pip到国内源:使用中科大源
- 激活虚拟环境,使用pip安装tensorflow-gpu和opencv
- 验证安装是否成功
conda activate env_name
python
import tensorflow
import cv2
tensorflow.__version__
cv2.__version__
后语
关于Ubuntu 下的python开发环境,可以使用PyCharm 社区版,永久免费,功能比较多,但是比较大。或者使用vscode+各种插件。轻量级,但是可能环境配起来比较麻烦。最后,Ubuntu 安装 Nvidia 驱动真的坑…
最后附一些比较有用的博客链接: