https://repo.continuum.io/archive/
下载conda,然后安装
>./Anaconda2-5.0.0-Linux-x86_64.sh
在终端输入python发现依然是gnome自带的python版本,这是因为.bashrc的更新还没有生效,命令行输入:
>source ~/.bashrc
版本不够就:
>conda update conde
>conda update pip
>conda update python
>conda update spyder
1.安装相关依赖项
>sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler
>sudo apt-get install --no-install-recommends libboost-all-dev
>sudo apt-get install libopenblas-dev liblapack-dev libatlas-base-dev
>sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
2.安装nvidia驱动
查看适合自己显卡的驱动
登录 http://www.nvidia.com/Download/index.aspx?lang=en-us 查看对应打驱动版本
接下来就是自己安装显卡驱动了:卸载你电脑中此刻有的nvidia的驱动
>sudo apt-get remove –purge nvidia*
添加一个PPA到系统,等一下安装驱动要用的
>sudo add-apt-repository ppa:graphics-drivers/ppa
记得:
>sudo apt-get update
>sudo service lightdm stop(关闭图形界面,没照做好像也可以)
>sudo apt-get install nvidia-384(我前面说过我的驱动是384,就写384,你的是什么就写什么)
然后就等待驱动安装好。
安装好之后,运行
>sudo service lightdm start 来启动图形界面
运行:
>nvidia-smi
来看是不是能够输出你的GPU的一些信息
3.安装CUDA
下载CUDA ,运行
>./cuda_8.0.61_375.26_linux.run
下面安装时要注意:执行后会有一系列提示让你确认,但是注意,有个让你选择是否安装nvidia367驱动时,一定要选择否:
Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 367.48?
因为前面我们已经安装了更加新的nvidia384,所以这里不要选择安装。其余的都直接默认或者选择是即可。
环境变量配置
打开
>sudo gedit ~/.bashrc
将以下内容写入到部:
export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda8.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
保存退出
测试CUDA的samples
>cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery
>make
>sudo ./deviceQuery
如果显示一些关于GPU的信息,则说明安装成功。
配置cuDNN
首先去官网 https://developer.nvidia.com/rdp/cudnn-download 下载cuDNN,需要注册一个账号才能下载
>sudo tar -zxvf ./cudnn-8.0-linux-x64-v5.1.tgz
>cd cuda; sudo cp lib64/lib* /usr/local/cuda/lib64/;
>sudo cp include/cudnn.h /usr/local/cuda/include/
更新软连接:
>cd /usr/local/cuda/lib64/
>sudo chmod +r libcudnn.so.5.1.10
>sudo ln -sf libcudnn.so.5.1.10 libcudnn.so.5
>sudo ln -sf libcudnn.so.5 libcudnn.so
>sudo ldconfig
请注意,请到自己解压后的lib64文件夹看这个文件libcudnn.so.5.1.0 ,电脑配置不同后面的数字型号不同,进行相应的修改,否则会报错。
安装opencv3.3 ====
首先,我们需要先安装一些依赖库:
>sudo apt-get install libtiff5-dev
>sudo apt-get install build-essential cmake libgtk2.0-dev libjasper-dev libavformat-dev libswscale-dev libavcodec-dev libjpeg62-dev pkg-config ffmpeg
>sudo apt-get install git pkg-config
>sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
>sudo apt-get install --assume-yes libopencv-dev libdc1394-22 libdc1394-22-dev libjpeg-dev libpng12-dev libtiff5-dev libjasper-dev libavcodec-dev libavformat-dev libswscale-dev libxine2-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libv4l-dev libtbb-dev libqt4-dev libfaac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev x264 v4l-utils unzip
>sudo apt-get install ffmpeg libopencv-dev libgtk-3-dev python-numpy python3-numpy libdc1394-22 libdc1394-22-dev libjpeg-dev libpng12-dev libtiff5-dev libjasper-dev libavcodec-dev libavformat-dev libswscale-dev libxine2-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libv4l-dev libtbb-dev qtbase5-dev libfaac-dev libmp3lame-dev libopencore-amrnb-dev
第二步,在opencv官方下载页面下载对应系统版本的opencv,目前我下载的是3.3.0的版本:
在命令行中跳转到对应目录并解压,这里我解压到用户主目录下了:
>cd ~/
>unzip -o -d ~/ opencv-3.3.0.zip
进入opencv目录里,并新建一个文件夹,命名为“release”,并进入:
>cd opencv-3.3.0/
>mkdir release
>cd release
重点来了,编译安装opencv:
>cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_PYTHON_SUPPORT=ON ..
>sudo make install
>export LD_LIBRARY_PATH=~/opencv-3.3.0/release/lib:$LD_LIBRARY_PATH
>sudo ldconfig
>pkg-config opencv –libs
注意,make install这个步骤时间较长,且中间可能会有警告,不用管他,只要能编译到100%就行。
然后,一切都搞定了,小试牛刀:
>cd ../samples/cpp/
>g++ drawing.cpp -o drawing `pkg-config opencv --libs --cflags opencv`
其中,`pkg-config --libs --cflags opencv `是加载opencv库的一个命令,没有的话就会编译出错!!
注意:`是键盘上Ese键正下方的那个键,不是与“同一个键的‘ !!!
>./drawing
不出意外的话,会出现,额,炫酷的宣传画面。
查看版本:
pkg-config --modversion opencv
如果输出3.3.0 那么恭喜你,编译并安装成功了。
为了支持python
>cd ~/opencv-3.3.0/release/lib
>cp cv2.so ~/anaconda2/lib
>cp cv2.so ~/anaconda2/lib/python2.7/site-packages
>cd caffe-master/python
>for req in $(cat requirements.txt); do pip install $req; done
配置caffe
git clone https://github.com/BVLC/caffe.git
注意:若没有安装Git,需要先安装Git:
>sudo apt-get install git
>unzip -o caffe-master.zip
>cd caffe-master/
>sudo cp Makefile.config.example Makefile.config
>sudo gedit Makefile.config
//可以都修改
a.若使用cudnn,则
将#USE_CUDNN := 1
修改成:
USE_CUDNN := 1
b.若使用的opencv版本是3的,则
将#OPENCV_VERSION := 3
修改为:
OPENCV_VERSION := 3
c.若要使用python来编写layer,则
将 #WITH_PYTHON_LAYER := 1
修改为 WITH_PYTHON_LAYER := 1
重要的一项 :
将 # Whatever else you find you need goes here. 下面的
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib
修改为:(主要路径间的空格)
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu/hdf5/serial
这是因为ubuntu16.04的文件包含位置发生了变化,尤其是需要用到的hdf5的位置,所以需要更改这一路径.
要是你是用的anaconda的话,可能还需要改一些地方(我是没改也能用)http://blog.csdn.net/a_z666666/article/details/72853346
修改makefile文件
打开makefile文件,做如下修改:
a. 将(大概409行的样子):
NVCCFLAGS +=-ccbin=$(CXX) -Xcompiler-fPIC $(COMMON_FLAGS)
替换为:
NVCCFLAGS += -D_FORCE_INLINES -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)
b. 将(大概181行):
LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_hl hdf5
改为:
LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_serial_hl hdf5_serial
编辑/usr/local/cuda/include/host_config.h
将其中的第115行注释掉:
将#error– unsupported GNU version! gcc versions later than 4.9 are not supported!
改为
//#error– unsupported GNU version! gcc versions later than 4.9 are not supported!
#将一些文件复制到/usr/local/lib文件夹下:#注意自己CUDA的版本号!
>sudo cp /usr/local/cuda-8.0/lib64/libcudart.so.8.0 /usr/local/lib/libcudart.so.8.0 #&& sudo ldconfig
>sudo cp /usr/local/cuda-8.0/lib64/libcublas.so.8.0 /usr/local/lib/libcublas.so.8.0 #&& sudo ldconfig
>sudo cp /usr/local/cuda-8.0/lib64/libcurand.so.8.0 /usr/local/lib/libcurand.so.8.0 #&& sudo ldconfig
>sudo cp /usr/local/cuda-8.0/lib64/libcudnn.so.5 /usr/local/lib/libcudnn.so.5 && #sudo ldconfig
编译与测试
>make clean
>make all -j16
>make pycaffe -j16
>make test -j16
>make runtest -j16 #使用CPU多核同时进行编译
若出现错误:./caffe: /lib64/libz.so.1: version `ZLIB_1.2.8’ not found (required by /root/anaconda2/lib/./libpng16.so.16)
>tar zxf zlib-1.2.11.tar.gz
>cd zlib-1.2.11
>./configure
>make && make install
>cp /usr/local/lib/libz.so.1.2.11 /lib64/
>cd /lib64/
>rm libz.so.1
>ln -s libz.so.1.2.11 libz.so.1
在编译caffe runtest时候,可能出现以下问题:
/sbin/ldconfig.real: /usr/lib/nvidia-375/libEGL.so.1 不是符号连接
/sbin/ldconfig.real: /usr/lib32/nvidia-375/libEGL.so.1 不是符号连接。
解决方法:
>sudo mv /usr/lib/nvidia-375/libEGL.so.1 /usr/lib/nvidia-375/libEGL.so.1.org
>sudo mv /usr/lib32/nvidia-375/libEGL.so.1 /usr/lib32/nvidia-375/libEGL.so.1.org
>sudo ln -s /usr/lib/nvidia-375/libEGL.so.375.39 /usr/lib/nvidia-375/libEGL.so.1
>sudo ln -s /usr/lib32/nvidia-375/libEGL.so.375.39 /usr/lib32/nvidia-375/libEGL.so.1
为了能画出网络结构,需要安装:
>conda install -c https://conda.binstar.org/sstromberg pydot
>conda install GraphViz
>pip install pydot
编译成功测试:
>cd caffe-master
>./data/mnist/get_mnist.sh
>./examples/mnist/create_mnist.sh
>./examples/mnist/train_lenet.sh
正常跑了就行了
后面自己的工程开始玩了
#===============ubuntu下tensorflow+GPU 安装 ========================
安装依赖
>sudo apt-get install python-pip python-dev
然后
>export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-0.11.0-cp27-none-linux_x86_64.whl
>pip install --upgrade $TF_BINARY_URL
升级 TensorFlow
>pip install --upgrade tensorflow-gpu
输入命令:
>python
然后输入:
>>>import tensorflow as tf
>>>tf.__version__
如果报错: ImportError: libcusolver.so.8.0: cannot open shared object file: No such file or directory,那么
>sudo gedit ~/.bashrc
末尾加入:
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda/lib64"
export CUDA_HOME=/usr/local/cuda
保存退出
>source ~/.bashrc
再来看看
如果报错: tensorflow ImportError: libcudnn.so.6: cannot open shared object file: No such file or directory ,那么
>pip uninstall tensorflow-gpu
>pip install tensorflow-gpu==1.2
虽然tensorflow官网install教程里面说的是安装cudnn5.1,而tensorflow-gpu1.3已经开始去找cudnn6了(也就是说是用cudnn6编译的)。。。 理论上可以安装cudnn6试试看
跑个mnist测试一下:
>python /home/ljf/tensorflow-master/tensorflow/examples/tutorials/mnist/fully_connected_feed.py
没问题就可以了
如果 spyder不能import tensorflow输入:
>conda install spyder
如果报错 Loaded runtime CuDNN library: 5005 (compatibility version 5000) but source wascompiled with 5110 (compatibility version 5100)
下载CuDNN5.1 官网 用户名:976491174@qqcom 密码:Ljf09180011
1、删除原来的cudnn系统路径下的一些文件
>sudo rm -rf /usr/local/cuda/include/cudnn.h
>sudo rm -rf /usr/local/cuda/lib64/libcudnn* #这里*是通配符,libcudnn*指的是名字中带有libcudnn的所有文件
2、安装刚才解压的cudnn版本,在终端cd到刚解压的cuda文件夹,然后继续输入下面两个指令,这两个指令相当于把解压后的cuda文件夹下的一些文件拷到系统路径下面
>sudo cp include/cudnn.h /usr/local/cuda/include/
>sudo cp lib64/lib* /usr/local/cuda/lib64/ #这里*是通配符,lib*指的是名字中带有lib的所有文件
>cd /usr/local/cuda/lib64
>sudo chmod a+r libcudnn.so.5.1.10
>sudo ln -sf libcudnn.so.5.1.10 libcudnn.so.5
>sudo ln -sf libcudnn.so.5 libcudnn.so
>sudo ldconfig
就可以了