一、安装anaconda
对于python版本过多会导致系统有时会出现混乱,安装anaconda能让我们更好地管理python版本。anaconda是python的一个集成环境,能够根据自己的要求选择不同的python版本,并且可以创建多个相互独立的运行环境而互不影响,此外完全可独立于Ubuntu自带的python,而不用担心版本的冲突。
1、按照官网的指示进行下载安装,下载地址为anaconda官网。建议选择python3.6,高版本可以在anaconda中建立低版本python的环境。
2、进入到安装路径下,如cd ~/Downloads,并在终端运行:
bash Anaconda3-4.3.0-linux-x86_64.sh
注意上述必须在linux 64位系统,查看系统的命令为:
uname -a
3、安装过程很简单,当询问是否允许许可条款时,选择yes
4、在询问是否将anaconda路径加入系统环境变量步骤时,选择yes,系统会自动在.bashrc文件中加入anaconda3的路径,使得当前环境变量下python为anaconda版本。
5、验证是否安装成功,在终端输入python,如果出现:
则说明安装成功!
二、安装pycharm
pycharm是一个python的IDE,是当前广泛使用的IDE。下载地址为pycharm官网。选择社区版就可,对于专业版,需要花钱或者需找破解。
1、下载好了后,进入到下载界面,如
cd ~/Downloads
2、进行解压
tar -xzvf pycharm-professional-4.5.3.tar.gz
对应的版本要与自己的版本一致
3、安装
cd pycharm-4.5.3/bin
./pycharm.sh
4、如果安装中报错
ERROR:Cannot start PyCharm
NoJDK found. Please validate either PYCHARM_JDK, JDK_HOME or JAVA_HOMEenvironment variable points to valid JDK installation.
说明环境中没有JDK,需要安装并配置JDK,安装方式按照安装JDK及Eclipse
5、安装好后,需要将当前项目的环境设置到之前下载的anaconda中,首先,你需要知道你当前终端的python的路径在哪,在终端输入:
which python
显示的路径就是当前环境下的python路径。
之后进入pycharm,选择左上角的File->Settings
左侧Project:scriptes->Project interpreter:
在上部的Project interperter中,选择右边的选项按钮,点击Add
在左侧选择Virtualenv Environment,在右侧菜单栏中选择Existing environment,路径找到之前在终端输入which python后得到的路径,选择应用并确定:
三、安装CUDA8.0
对于安装Tensorflow,如果我们选择GPU版本,需要安装CUDA,CUDA(Compute Unified Device Architecture),是显卡厂商Nvidia推出的运算平台。 CUDA™是一种由NVIDIA推出的通用并行运算架构,该架构使GPU能够解决复杂的计算问题。下载CUDA最新版本的地址cuda最新版本下载
这里注意,对于Ubuntu14.04,我们最好选择的搭配是Tensorflow<=1.4,cuda8.0,官网上cuda9.0需要Ubuntu至少为16.04,而cuda8.0需要Tensorflow<=1.4,所以在选择版本上需要尤其的注意,CUDA8.0下载地址CUDA8.0下载
下载的文件格式推荐选择.run文件,因为deb文件会自动安装显卡驱动,会有一定的问题。
1、安装NVIDIA显卡驱动
安装显卡驱动在特别是14.04中,会有很多兼容性的问题,选择的版本不对的话,会出现卡LOGO或者是循环登录的问题,CUDA8.0虽然会安装显卡驱动,但是因为版本原因非常容易出现BUG,解决方法NVIDIA显卡驱动安装
2、安装CUDA8.0
下载好了.run文件后,下载界面会有一个cuda_8.0.44_linux.run文件,在安装之前,因为cuda会与显卡驱动打交道,所以我们首先需要停止limux 的x server,具体的方法是Crtl+Alt+F1,然后输入你的Ubuntu名字与密码,之后输入:
sudo service lightdm stop
进入下载的.run文件路径,在终端执行:
sudo sh cuda_8.0.44_linux.run
进行安装,安装过程中要特别注意会提醒你是否安装显卡驱动,选择no,因为你之前最好自己安装好显卡驱动。之后默认的安装地址在/usr/local/下。
安装完成后,需要打开x server:
sudo service lightdm start
3、设置环境变量
在安装好了cuda后,需要声名环境变量,打开bashrc:
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
这样终端就能知道你的cuda信息。
4、测试cuda
cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery
如果出现了一堆关于GPU的信息并且没有报错,则说明安装成功。
四、安装cudnn
1。cudnn下载
在cudnn官网下载,下载地址cudnn下载
下载之前需要注册NVIDIA账户,之后到达下载界面:
在选择版本时,我们需要选择>6.0版本,因为tensorflow在1.0版本之后就需要cuDNN>6.0,并且选择正确的CUDA版本,进行下载。
2、cudnn安装
下载后,在下载界面会有个cudnn-8.0-linux-x64-v6.0.tgz,进行解压:
tar zxvf cudnn-8.0-linux-x64-v6.0.tgz
cd 到解压后的界面,里面有一个文件夹cuda,进入后有两个文件夹分别是Include与lib64,将其复制到cuda8.0的对应文件夹下。
首先进入include文件夹
sudo cp cudnn.h /usr/local/cuda-8.0/include/
进入lib64文件夹
sudo cp lib* /usr/local/cuda-8.0/lib64/
之后对刚才放入的文件权限
sudo chmod a+r /usr/local/cuda-8.0/include/cudnn.h /usr/local/cuda-8.0/lib64/libcudnn*
安装完成。
3、修改cudnn版本
如果安装版本错误,可以进行修改。选择你需要下载的版本之后,进行解压。首先删除原来的cudnn
sudo rm -rf /usr/local/cuda-8.0/include/cudnn.h
sudo rm -rf /usr/local/cuda-8.0/lib64/libcudnn*
找到刚刚下载的全新的cudnn,找到include与lib64文件夹,复制之前的文件
sudo cp include/cudnn.h /usr/local/cuda-8.0/include/
sudo cp lib64/lib* /usr/local/cuda-8.0/lib64/
cd到/usr/local/cuda-8.0/lib64下,建立软链接,注意版本需要换到你当前下载的版本
sudo chmod +r libcudnn.so.6.0.21
sudo ln -sf libcudnn.so.6.0.21 libcudnn.so.6
sudo ln -sf libcudnn.so.6 libcudnn.so
sudo ldconfig
五、Tensorflow的安装
1、Tensorflow安装
网上Tensorflow的按照方法很多,官网上有具体不同的安装方法。tensorflow安装
这里推荐最简单的方法,在完成上述安装后,你的环境里应该是anaconda3的python3.6版本,直接在终端输入
pip install tensorflow-gpu==1.4.0
直接就能安装完成。测试方法,打开pycharm,配置好后输入
import tensorflow as tf
print(tf.__version__)
print(tf.__path__)
如果正确显示了tensorflow的版本和路径,就说明安装成功。
2、错误总结
(1)RuntimeWarning:compiletime version 3.5 of module 'tensonflow.python.framework.fast_tensor_util' does not match runtime version 3.6
看起来是版本的问题,但是安装tensorflow本身就是3.6版本,所以实际没有问题,具体的问题在网上很多,最终的解决方法是将tensorflow降到1.3版本。降版本的方法和安装相同
pip install tensorflow-gpu==1.3.0
完美解决!
(2)在pycharm界面,会出现红色的提醒,里面有很多关于GPU信息,以及CPU的模式警告。
这本身是没有影响的,甚至能够让你知道当前的显卡使用情况以及内存情况,很多时候选择留下,当然如果你想要去掉,可以在程序里面加上
import os
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'
至此,安装结束,后续如果出现问题会继续记录。