经过楼主的各种挣扎,终于成功地安装好了tensorflow,参考网上的各种教程遇到很多坑,导致进度缓慢,下面进行最后总结。
首先,在安装tensorflow之前需要先安装cuda和cudnn,这个楼主之前并不知道,结果饶了一大圈子。
1.cuda
VIDIA CUDA 解析工具的接口,libcupti-dev 库。该库提供了更高级的分析工具支持。要安装这个库,对 CUDA Toolkit 8.0 以上的版本运行如下命令:
sudo apt-get install cuda-command-line-tools
并且将其路径加在你的环境变量 LD_LIBRARY_PATH 中:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/extras/CUPTI/lib64
对于 CUDA Toolkit 7.5及以下版本,运行:
sudo apt-get install libcupti-dev
Ctrl+alt+F1进入字符界面,关闭图形界面(划重点!!!不然安装之后重启会无法登录图形界面,只能返回字符界面删除新安装的cuda然后再重新来一次!)
sudo service lightdm stop //必须有,不然会安装失败
安装nvidia driver
sudo chmod 755 NVIDIA-Linux-x86_64-390.25.run //获取权限
sudo ./NVIDIA-Linux-x86_64-390.25.run //安装驱动
sudo service lightdm start
sudo sh cuda_8.0.61_375.26_linux.run // 安装过程中的提示输入:accept,N,Y,Y,Y
接着安装所缺少的库:
sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev
sudo apt-get install vim
设置环境变量
export PATH=/usr/local/cuda-8.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:$LD_LIBRARY_PATH
然后修改文件中环境变量设置
sudo vi /etc/profile
输入上面export的两句,保存,退出。
sudo ldconfig //环境变量立即生效
最后,验证安装是否完成
nvidia-smi
2.cudnn 下载
https://developer.nvidia.com/rdp/cudnn-download (网上不少教程给的链接进入之后的找不到,这个链接登录之后直接跳转下载页面)
下载完毕后解压,然后将相关文件拷贝到cuda安装目录下即可:
tar -zxvf cudnn-8.0-linux-x64-v6.0.tgz
sudo cp cuda/include/cudnn.h /usr/local/cuda/include/
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/ -d
sudo chmod a+r /usr/local/cuda/include/cudnn.h
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*
3.tensorflow
一定要注意设置超时时间:(楼主直接在pycharm新建的工程里面terminal安装的,tensorflow包含tensorflow和dist-info两个文件夹)
sudo pip3 --default-timeout=100 install -U tensorflow-gpu==1.4.0
登录PYCHARM:
~/下载/pycharm-2017.3.3/bin$
sh ./pycharm.sh
import tensorflow as tf
如果不报措,那么就安装成功啦,开森!!!
写在文末:
1)如果安装之后显示: can not open XXXX file
一般是cuda cudnn tensorflow 相互之间不兼容。比如楼主最后确定的版本是 cuda 8.0 cudnn 6.0 tensorflow 1.4。其中遇到cuda 9.0不兼容的问题, cudnn5.0不能使用,tensorflow 1.6 需要cuda 9.0 ,一把心酸泪呀!
2)如果安装tensorflow:
sudo pip3 install tensorflow-gpu==1.4.0 (结果中途失败了,其实是安装超时)
改成:
sudo pip3 --default-timeout=100 install -U tensorflow-gpu==1.4.0