本人作为从今年1月份才刚开始在虚拟机上接触ubuntu系统的菜鸟,终于也成功总结出了ubuntu下怎么配置深度学习tensorflow环境的一套方法。看了不下几十篇前人的博客,希望这一份经验能有所帮助。其中nvidia驱动部分可以说是最烦的,本人在三台电脑(一台13年买的已经被淘汰的GT650M的神舟笔记本(旧电脑),一台联想R720 GTX1050,一台GTX1080主机)上试过,不过记录的不太全。
1 安装NVIDIA驱动:
第一种方法:系统自带 软件和更新 安装
(在联想R720 1050版和13年旧电脑上都试过,可行)
1、系统设置—>软件和更新—>附加驱动—>选择最新的nvidia驱动进行安装,安装完重启(系统会提示)
图1
2、重启后终端输入nvidia-smi ,输出nvidia显卡信息(图2)
输入 nvidia-settings,显示驱动界面(图3)。
则表示驱动安装成功
图2
注:这种方法安装完后,把系统自动更新关闭,不然系统自动更新后会使nvidia驱动失效
第二种方法:添加官方ppa源
联想R720 1050 成功,1080未试
参考:https://blog.csdn.net/jasonzhangoo/article/details/54866049
1、终端输入 sudo add-apt-repositoryppa:graphics-drivers/ppa
需要输入密码并按enter键确认
2、终端输入 sudo apt-get update
3、终端输入 sudo apt-get install nvidia-384nvidia-settings nvidia-prime 进行安装
4、安装完成后终端输入 nvidia-smi ,会输出如图2所示的界面
终端输入nvidia-settings ,查看驱动界面,我这里显示不全
5、重启电脑,再次输入 nvidia-settings 查看驱动界面,显示完全(如图3),表示安装驱动成功
第三种方法:nvidia官网下载最新驱动,自己安装
(GTX1080上成功,
GTX1050的联想R720 failed : login all the time without -no-opengl-files and nvidia-settings error occurs with -no-opengl-files when bash NVIDIA***.run )
先卸载之前安装的驱动 sudo apt-get remove –purgenvidia* 未安装过忽视
1,NVIDIA官网根据显卡型号下载对应驱动
https://www.geforce.cn/drivers
2,禁用nouveau,可看⑤2
3,apt install linux-source
apt install linux-headers-x.x.x-x-generic
4,ctrl+alt+F1进入命令行模式
5,sudo service lightdm stop
6, cd 到驱动文件目录,sudo sh./NVIDIA-Linux-x86_64-xxx.xx.run (注意:此时gcc版本需要5.0)
~~~~~~~~~~~~~~~~~~~以下转载自下一行的网页~~~~~~~~~~~~~~~~~~~~~~
https://blog.csdn.net/stories_untold/article/details/78521925
安装过程中一些选项(有一些问题记不清楚了,只给出需要选择的选项:):
The distribution-provided pre-install script failed! Are you sure you want tocontinue? 选择 yes 继续。
Would you like to register the kernel module souces with DKMS? This will allowDKMS to automatically build a new module, if you install a different kernellater? 选择 No 继续。
问题没记住,选项是:install without signing
问题大概是:Nvidia's 32-bit compatibility libraries? 选择 No 继续。
Would you like to run the nvidia-xconfigutility to automatically update your xconfiguration so that the NVIDIA x driver will be used when you restart x? Anypre-existing x confile will be backed up. 选择 Yes 继续
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
7,sudo service lightdm start 回到图形界面
②gcc降级(从系统自带的5降到4,因为cuda8.0不支持5以上的gcc版本):
参考 https://www.cnblogs.com/in4ight/p/6626708.html
1、终端输入 sudo apt-get install gcc-4.8
2、终端输入 gcc --version 查看当前默认版本(还是5)
3、终端输入 sudo update-alternatives --install /usr/bin/gcc gcc/usr/bin/gcc-4.8 100
或者 cd 到/usr/bin/ ,终端输入 sudo rm gcc (删除当前链接到gcc-5的软链接)
再输入 sudo ln -s gcc-4.8 gcc (创建链接到gcc-4.8的软链接)
4、终端输入 gcc --version 查看当前默认版本(已变成4.8)
③g++降级(原理同gcc完全一致,将③中的全部gcc换成g++即可)
④为当前核安装kernel headers和developmentpackages:
(若显卡驱动选择第三种方式安装,则可跳过这一步)
1、 终端输入 sudo apt-get install linux-headers-$(uname -r)
(可能无效果,结果显示升级0个软件包,新安装0个软件包,要卸载0个软件包,有0个软件包未被升级)
⑤安装cuda(runfile installation)(网上有的说要装run,有的要说deb,但是用我们用run成功了,就装run吧):
参考 https://blog.csdn.net/ZWX2445205419/article/details/69429518
1、 进入https://developer.nvidia.com/cuda-toolkit-archive ,选择cuda8.0 GA1或GA2(不清楚GA1和GA2的关系),根据系统信息下载(GA1和GA2都可以,亲测)
2、 输入 lsmod | grep nouveau 查看 nouveau驱动是否被加载,如果有信息输入,则安装参考网址进行禁用nouveau
sudo touch /etc/modprobe.d/blacklist-nouveau.conf
sudo gedit /etc/modprobe.d/blacklist-nouveau.conf
写入blacklist nouveau
optionsnouveau modeset=0
保存退出
sudo update-initramfs -u
3、 将cuda安装文件放在没有中文的目录中,
4、 按住ctrl+alt+F1 进入命令行模式(屏幕上只有黑底白字的模式)
5、 输入用户名+密码后,输入sudo service lightdm stop 以停止X服务(貌似很重要)
6、cd 到cuda安装文件的目录,输入sudo sh cuda_8.0.61_375.26_linux.run(GA2)
7、除了graphics driver (驱动已经安装好了)和cuda8.0 sample 选择n之外,其他都选y图
8、输入sudo service lightdm start 返回图形界面(即平常的桌面)
9、在系统环境里设置CUDA路径:输入 gedit ~/.bashrc 在文本的最后加入这三行:
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:/usr/local/cuda-8.0/extras/CUPTI/lib64:$LD_LIBRARY_PATH
export CUDA_HOME=/usr/local/cuda-8.0
export PATH=/usr/local/cuda-8.0/bin:$PATH
10、 终端输入 source ~/.bashrc
⑥安装cudnn
1、解压cudnn5.1(对应cuda8.0的版本)压缩包,
2、cd 到解压的cuda/include中,终端输入sudo cp cudnn.h /usr/local/cuda/include/
3、cd 到解压的cuda/lib64中,终端输入sudo cp libcudnn* /usr/local/cuda/lib64/
4、终端输入 sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
⑦ 安装 anaconda3
1、cd到 anaconda3的目录 ,输入 bash Anaconda3-5.1.0-Linux-x86_64.sh
(安装过程中允许installer在系统环境内写入PATH )
2、 安装完成后,gedit ~/.bashrc 看一下最后有没有anaconda的路径,没有的话 自己加入 export PATH=/home/<此处为用户名>/anaconda3/bin:$PATH
3、 终端输入 source ~/.bashrc
⑧ 建立Anaconda虚拟环境
(faster rcnn tensorflow 是在python2.7下写的,这里建立python2.7的环境)
1、新打开个终端, 输入conda create -n py27(这是虚拟环境的名字) python=2.7
2、输入source activate py27 以激活虚拟环境
⑨安装tensorflow-gpu
1、 先下载好tensorflow-gpu-1.2版本(从清华镜像下载)
2、 激活虚拟环境后,输入 pip install tensorflow_gpu-1.2.0-cp27-none-linux_x86_64.whl
3、 进入python,import tensorflow,未报错即安装成功
参考: https://blog.csdn.net/stories_untold/article/details/78521925
https://blog.csdn.net/cosmoshua/article/details/76644029
https://blog.csdn.net/tina_ttl/article/details/51762471#6%E5%88%A9%E7%94%A8docker%E5%AE%89%E8%A3%85tensorflow
https://blog.csdn.net/ZWX2445205419/article/details/69429518
https://blog.csdn.net/jasonzhangoo/article/details/54866049
https://www.tensorflow.org/get_started/(科学上网)