版权声明:可以任意转载,转载时请标明文章原始出处-xjtushilei和作者信息:石磊
背景
主要就是遇到的各种坑,大家不要再范了。
- 技嘉的主板Z370HD3 不支持ubuntu16.04,安装过程中会报错,有ACPI error,google各种无解,官方售后不支持linux服务,因为这是家用消费级别的主板。
- 安装centos7.3,顺利安装,但是无线网卡不能正常运作,其他的操作系统cuda支持太可怜。
- ubuntu17.10,NVIDIA官网没有相关驱动,只有17.04,安装好后无线网卡无法使用,同时Ubuntu17.10有各种bug,在简单使用的情况下就发现了好多小bug,使用影响心情
- 最新版的tensorflow不支持cuda9.1,目测3个月后才支持,但是我们又不想安装旧版本cuda
过程
省略掉一系列的坑,最终结论就是ubuntu17.10+cuda9.1+cudnn7+非官方tensorflow
Ubuntu17.10
正常安装就好啦。理论没什么大问题,由于安装了双系统,又不想在一个系统坏了的时候去折腾efi,所以采用了mbr方式的引导。
分区:200Gssd给了“/”,1T的机械给了“/home”
NVIDIA 显卡驱动
在安装cuda之前,需要安装NVIDIA的驱动。主要就是注意版本号的问题
建议通过apt install 安装,省去好多麻烦,比如关闭核显的问题
首先添加源:
sudo add-apt@H_404_38@-repository@H_404_38@ ppa:graphics-drivers@H_404_38@/ppa
sudo apt update
然后安装英伟达的驱动,注意版本号(和你下载的cuda版本对应上,见下方第一张图的版本号)
sudo@H_404_38@ apt install nvidia-387@H_404_38@ nvidia-387@H_404_38@-dev
测试安装成功没(部分机器可能需要重启)
nvidia-smi@H_404_38@
成功的话出现框,显示的东西可能不一样
+-----------------------------------------------------------------------------+@H_404_38@
| NVIDIA-SMI 387 Driver Version: 387 |
| |
|-------------------------------+----------------------+@H_404_38@----------------------+
| 0 1080ti Off | 00000000:06:00.0 Off | N/A |
| N/A 48C P0 N/A / N/A | 943MiB / 11002MiB | 26% Default | +-------------------------------+----------------------+----------------------+@H_404_38@
cuda9.1
下载网站: @L_301_2@
然后需要安装c++等依赖包,确保gcc -v的版本在v6以上,当然,ubuntu17默认很高。
sudo apt-get@H_404_38@ install g++@H_404_38@ freeglut3-dev@H_404_38@ build-essential@H_404_38@ libx11-dev@H_404_38@ libxmu-dev@H_404_38@ libxi-dev@H_404_38@ libglu1-mesa@H_404_38@ libglu1-mesa@H_404_38@-dev@H_404_38@
gcc -v@H_404_38@
版本不对的话,自行升级
下载好安装包后
chmod +x cuda_9.1@H_404_38@.85@H_404_38@_387.26@H_404_38@_linux.run@H_404_38@
sudo ./cuda_9.1@H_404_38@.85@H_404_38@_387.26@H_404_38@_linux.run@H_404_38@ --override@H_404_38@
这里有个坑,注意这几个选项,一定不要选错。y 和 n 要看准了哦。
You are attempting to@H_404_38@ install on@H_404_38@@H_404_38@ an unsupported configuration. Do you wish to@H_404_38@ continue@H_404_38@?
y
Install NVIDIA Accelerated Graphics Driver for@H_404_38@ Linux-x86_64 387@H_404_38@?
n
Install the@H_404_38@ CUDA 9.1@H_404_38@ Toolkit?
y
Enter Toolkit Location
[default location]
Do you want to@H_404_38@ install a symbolic link at@H_404_38@ /usr/local@H_404_38@/cuda?
y
Install the@H_404_38@ CUDA 9.0@H_404_38@ Samples?
y
Enter CUDA Samples Location
[default location]
然后设置环境变量,注意位置,如果安装在/etc/profile
中的话,会在好多情况下(比如python的virtualenv虚拟环境下),加载不到这个文件而报错,这里推荐配置到这里
在/etc/ld.so.conf
中添加
include /etc/ld@H_404_38@.so@H_404_38@.conf@H_404_38@.d@H_404_38@/*.conf @H_404_38@
随意一个文件名:nvidia.conf
在文件夹 /etc/ld.so.conf.d/
/usr/local@H_404_38@/cuda/lib64
/usr/local@H_404_38@/cuda/lib
然后执行 sudo ldconfig
当然了,如果你碰巧以上的方法不生效,没关系,你可以在你用户目录的’.bashrc’中或者/etc/profile
添加
export LD_LIBRARY_PATH@H_404_38@=$LD_LIBRARY_PATH@H_404_38@:/usr/local/cuda/lib64@H_404_38@
cudnn
sudo cp cuda/include@H_404_38@/cudnn.h /usr/local@H_404_38@/cuda/include@H_404_38@
sudo cp cuda/lib64/libcudnn* /usr/local@H_404_38@/cuda/lib64
sudo chmod a@H_404_38@+r /usr/local@H_404_38@/cuda/include@H_404_38@/cudnn.h /usr/local@H_404_38@/cuda/lib64/libcudnn*
tensorflow
下载这个人的,https://github.com/mind/wheels/releases,这个哥们长期解决cuda版本问题,值得信赖。
然后pip install *.whl就好啦。
测试安装成功没
使用tensorflow官方推荐的程序
import@H_404_38@ tensorflow as@H_404_38@ tf
hello = tf.constant('Hello,TensorFlow!'@H_404_38@)
sess = tf.Session()
print(sess.run(hello))