安装tensorflow踩的那些坑
折腾了三四天,终于是把tensorflow安装上了,记录下安扎ungzhongyudao的各种问题
主要参考:
官网:https://www.tensorflow.org/
极客学院中文翻译:http://wiki.jikexueyuan.com/project/tensorflow-zh/
电脑配置ASUS FX50飞行堡垒
系统:win10
cpu:intel i5-4200H
内存:8G
显卡:nvidia GTX950m 4g显存
=================================================================================================================
一、安装centos7
tensorflow是基于linux/unix系统的,所以需要安装linux系统,开始选择了centos 7,使用u盘安装,制作工具为UltraISO,安装过程中出现
[OK] started show plymouth boot screen
[OK] reached target paths
[OK] reached target basic system
然后就是漫长的等待,最后报错:Warning: /dev/root does not exist, could not boot
图1 安装centos 7 报错图 来源:http://blog.csdn.net/hexuan1/article/details/46808991
这是因为u盘安装盘的名称和写入的配置文件不符,导致安装程序没有找到文件路径导致的,需要修改配置文件
将u盘中/EFI/boot/grub.cfg文件中的类似CENTOS\x207\x20x86_64字串(不止一个,全部)改为u盘的名称,保存后即可安装centos7
但是因为下载的疏忽,相关的一些文件下成了ubuntu系统的,所以之后安装了ubuntu14.04系统
因为华硕这一款笔记本是128g SSD+1t HDD,win10系统安装在SSD中,在HDD中划分了100g装ubuntu,导致开机启动无法找到ubuntu引导,需要使用EasyBCD创建引导。引导的是安装系统时挂载的/boot。
二、安装ubuntu系统并安装tensorflow
在官网下载的最新的ubuntu16版本,但是安装后发现tensorflow GPU版本所需的cuda7.5只有ubuntu14和15两个版本的,往上查阅,有人使用cuda8运行成功的例子,但是为了保险起见还是将重新安装了ubuntu14.04版本。
tensorflow的安装没有什么问题,按照教程中的步骤即可,需要注意的是有cpu和gpu两个版本,如果只是体验下那么cpu版本就足够了,gpu版本需要cuda toolkit的支持,下载地址https://developer.nvidia.com/cuda-downloads,选择平台-系统-版本-安装类型,我选择的是ubuntu14.04版本的runfile,下载至本机。
cuda安装的同时会安装nvidia的显卡驱动,这会引起一些列问题,如桌面不显示,循环登录等,正确的安装步骤如下(来源http://blog.5ibc.net/p/41547.html)
运行sudo apt-get install build-essential
- 开始时,用正常的GUI登录,没有log循环问题。不需要创建 xorg.conf,如果有的话,删掉
sudo rm /etc/X11/xorg.conf
(备份更好)。如果是刚重装好,是没有这个文件的。 - 禁用nouveau,创建/etc/modprobe.d/blacklist-nouveau.conf,写入:
blacklist nouveau
option nouveau modeset=0
然后sudo update-initramfs -u
- 重启电脑,在出现登录界面时,登录tty1,按Ctrl + Alt + F1,在文本模式中登录。
- 关闭桌面服务
sudo service lightdm stop
。这步对于安装Nvidia驱动至关重要 - 运行.run文件,不要覆盖opengl,
sudo ./your_cuda_file_name.run --no-opengl-libs
- 在安装过程中,
Accept EULA conditions
Say YES to installing the NVIDIA driver
SAY YES to installing CUDA Toolkit + Driver
Say YES to installing CUDA Samples - 安装完成, check device nodes : Check if
/dev/nvidia*
files exist。如果没有的话sudo modprobe nvidia
- 重启桌面服务
sudo service lightdm start
。此时能够登录,没有login-loop问题。 - 设置环境变量
- 在/etc/ld.so.conf.d/建立cuda.conf的文件,写入
/usr/local/your_cuda_file_name/lib64
然后sudo ldconfig
- 添加PATH,为了长久添加,在/etc/profile加入
export PATH=/usr/local/your_cuda_file_name/bin:$PATH
立即生效,source /etc/profile
注意:直接在终端export PATH=/usr/local/your_cuda_file_name/bin:$PATH
是暂时的
- 在/etc/ld.so.conf.d/建立cuda.conf的文件,写入
- 验证驱动版本和CUDA版本:
cat /proc/driver/nvidia/version
nvcc -V
- Create CUDA Samples. 运行
make
时间较长… - 进入NVIDIA_CUDA-7.5_Samples/bin/x86_64/linux/release/ 做一下两个标准检测:
./deviceQuery:查看显卡信息
./bandwidthTest:检查是否工作正常
都能够PASS - Reboot. Everything should be ok.