Ubuntu14.04安装 opencv+cuda+caffe+caffe Python借口配置+TensorFlow

来源:互联网 发布:淘宝优惠券短链接生成 编辑:程序博客网 时间:2024/04/28 17:26

我的电脑配置是 英伟达1050Ti的显卡,并且,根据个人经验,环境的配置可能与Ubuntu的安装包有关,不同显卡支持的驱动也是不一样的,仅供参考

最好给ubuntu系统预留50G以上空间,并按下面顺序安装


1.安装Code::Blocks和一些必要库,Code::Blocks以后写程序可能会用
参照http://blog.csdn.net/i_fuqiang/article/details/9399909安装Code::Blocks的必要环境,
Code::Blocks本体程序可以在前面的库都安装好之后,在ubuntu软件中心直接搜索安装。
wxWidgets 可以不安



2.安装视频解码库ffmpeg
使用我提供的ffmpeg-2.1.8,参照http://www.cnblogs.com/lidabo/p/3987378.html安装。
其中x264和libvpx可以不装,但是./configure 后面的相应选项--enable-libvpx --enable-libx264也应该删掉。
安装是否成功,后面在安装opencv中可以检验。



3.编译并安装opencv
首先去opencv官网下载opencv3.1,以及contrib库,或者使用我提供的
参照http://blog.csdn.net/hitwengqi/article/details/7292102安装GUI版本的cmake,以及后续的opencv编译。
在第一次点完configure之后,在输出窗口查找ffmpeg是否找到,同时在上面的配置窗口找到OPENCV_EXTRA_MODULE_PATH,将opencv_contrib库中mudules的路径加入进去,然后再configure,无问题后generate。
然后按照博客教程编译,make install后在/usr/local/lib中可以看到装好的opencv库文件,以及contrib库中的各种库文件



4.安装cuda。(电脑没有N卡GPU可以跳过此步)
从https://developer.nvidia.com/cuda-downloads右侧Legacy CUDA Toolkits链接中下载.run版的cuda7.5,
参照http://m.blog.csdn.net/article/details?id=51882183来安装,安装过程中当出现是否安装OpenGL时,一定要选择否(n)。
保证安装好之后重启一次电脑,并且添加了环境变量
(也可以按照官方http://developer.download.nvidia.com/compute/cuda/7.5/Prod/docs/sidebar/CUDA_Quick_Start_Guide.pdf中4.1.5.2来安装,其中第二步重启,然后吧lightdm关闭,第三步中不要加--silent。安装过程中当出现是否安装OpenGL时,一定要选择否。
安装完成后,参照http://developer.download.nvidia.com/compute/cuda/7.5/Prod/docs/sidebar/CUDA_Quick_Start_Guide.pdf配置cuda环境变量,并且保证安装好之后重启一次电脑。)
环境变量生效后,在命令行输入nvcc -V,查询cuda是否安装成功。)
最后cd 到 NVIDIA_CUDA-7.5_Samples/1_Utilities/deviceQuery/里,然后make,编译完成后,运行deviceQuery,能够成功查询到电脑GPU的信息,意味着安装成功。



5.配置caffe
从https://github.com/BVLC/caffe 下载caffe
参照官网的安装教程或者http://www.cnblogs.com/denny402/p/5067265.html中的三.4567节安装caffe
注意:http://www.cnblogs.com/denny402/p/5067265.html里面安装opencv的步骤不需要再执行
# sudo cp Makefile.config.example Makefile.config之后,要将Makefile.config里面的OPENCV_VERSION := 3前面注释符“#”去掉,因为我们用的opencv3
最后的cudnn是加速库,若装cudnn,则把Makefile.config中# USE_CUDNN := 1前面的注释符“#”删掉
若电脑没有GPU,则将Makefile.config中# CPU_ONLY := 1前面的注释符“#”删掉,并且不需要安装cudnn

6.安装过程中会出现各种各样的问题,请大家耐心解决,不用着急
请大家下载我提供的链接中的数据集myDataSet,后面训练会用到


每一步用到的命令如下
(1)
http://blog.csdn.net/i_fuqiang/article/details/9399909

sudo apt-get update
sudo apt-get install synaptic

在ubuntu软件中心直接搜索安装Code::Blocks
sudo apt-get install build-essential
sudo apt-get install gdb
sudo apt-get install valgrind
sudo apt-get install codeblocks-contrib  



(2)
http://www.cnblogs.com/lidabo/p/3987378.html

sudo apt-get remove ffmpeg x264
sudo apt-get autoremove

sudo apt-get install make automake g++ bzip2 python unzip patch subversion ruby build-essential git-core checkinstall yasm texi2html libfaac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libsdl1.2-dev libtheora-dev libvdpau-dev libvorbis-dev libvpx-dev libx11-dev libxfixes-dev libxvidcore-dev zlib1g-dev
解压ffmpeg-2.1.8到主文件夹下面
cd ffmpeg-2.1.8/
./configure --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-libfaac --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libxvid --enable-shared --prefix=/usr/local

sudo make -j4

sudo make install

cd ..



(3)
http://blog.csdn.net/hitwengqi/article/details/7292102

sudo apt-get install cmake

sudo apt-get install cmake-qt-gui
sudo apt-get install libgtk2.0-dev
sudo apt-get install pkg-config
sudo cmake-gui

cd opencv_source/mybuild/

sudo make -j4
sudo make install
配置库路径
sudo gedit /etc/ld.so.conf.d/opencv.conf
添加opencv库的安装路径:
/usr/local/lib

sudo ldconfig

sudo gedit /etc/bash.bashrc

添加PKG_CONFIG_PATH变量:
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH

(4)
http://blog.csdn.net/ubunfans/article/details/47724341/

sudo apt-get install build-essential  # basic requirement  

sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev libgflags-dev libgoogle-glog-dev liblmdb-dev protobuf-compiler #required by caffe

http://m.blog.csdn.net/article/details?id=51882183
a) 禁用 nouveau
终端中运行:lsmod | grep nouveau,如果有输出则代表nouveau正在加载
Ubuntu的nouveau禁用方法:
在/etc/modprobe.d中创建文件blacklist-nouveau.conf,在文件中输入一下内容
blacklist nouveau
options nouveau modeset=0
指令为
cd /etc/modprobe.d
sudo gedit blacklist-nouveau.conf
在文件中加入
blacklist nouveau
options nouveau modeset=0
运行
sudo update-initramfs –u
设置完毕可以再次运行lsmod | grep nouveau 检查是否禁用成功,如果运行后没有任何输出,则代表禁用成功。


(5)
下载NVIDIA网卡驱动http://www.geforce.cn/drivers
找到对应的驱动程序,比如对应神州1050Ti显卡,手动搜索驱动程序
选择显卡类型为GetForce GTX 1050Ti Linux 64-bit下载
ctrl+alt+F1进入图形界面

cd /tmp

sudo rm -rf .X*

cd /home/cheng

sudo service lightdm stop

sudo chmod a+x NVIDIA-Linux-x86_64-375.20.run

sudo ./NVIDIA-Linux-x86_64-375.20.run -no-x-check -no-nouveau-check -no-opengl-files

sudo service lightdm start

cd /tmp
sudo rm -rf .X*

cd /home/cheng
sudo service lightdm stop

sudo sh cuda_8.0.61_375.26_linux.run

sudo sh c*
sudo service lightdm start


cd /dev
ls
nvidia-smi     //生成nvidia开头的文件
ls

sudo gedit /etc/profile
添加一下两行
export PATH=/usr/local/cuda-8.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda8.0/lib64

env
cat /proc/driver/nvidia/version
nvcc -V
cd ~/NVIDIA_CUDA-8.0_Samples
sudo apt-get install freeglut3-dev
sudo make -j4
cd ~/NVIDIA_CUDA-8.0_Samples/bin/x86_64/linux/release
./deviceQuery
./bandwidthTest



(6)
sudo apt-get install libatlas-base-dev
sudo apt-get install libprotobuf-dev
sudo apt-get install libleveldb-dev
sudo apt-get install libsnappy-dev
sudo apt-get install libopencv-dev
sudo apt-get install libboost-all-dev
sudo apt-get install libhdf5-serial-dev
sudo apt-get install libgflags-dev
sudo apt-get install libgoogle-glog-dev
sudo apt-get install liblmdb-dev
sudo apt-get install protobuf-compiler

sudo tar xvf cudnn-8.0-linux-x64-v5.0-ga-tgz
sudo chmod 777 cuda -R
cd cuda/include
sudo cp *.h /usr/local/include/
cd ../lib64
sudo cp lib* /usr/local/lib/
cd /usr/local/lib
sudo chmod +r libcudnn.so.5.0.5
sudo ln -sf libcudnn.so.5.0.5 libcudnn.so.5
sudo ln -sf libcudnn.so.5 libcudnn.so
sudo ldconfig
cd /home/cheng
cd caffe-master/
sudo cp Makefile.config.example Makefile.config
sudo gedit Makefile.config (修改)
sudo make all -j4
sudo gedit /etc/ld.so.conf.d/caffe.conf(添加/usr/local/cuda/lib64)
sudo ldconfig
测试
cd caffe-master/
sudo sh data/mnist/get_mnist.sh
sudo sh examples/mnist/create_mnist.sh
sudo sh examples/mnist/train_lenet.sh
可以看到训练迭代完成!!!




安装之前要卸载掉老版本的gcc、g++
sudo apt-get remove gccgcc-xx   #可能有多个版本,都要删掉
sudo apt-get remove g++
sudo apt-get install gcc-4.
安装g++编译器,可以通过命令
sudo apt-get installbuild-essential
执行完后,就完成了gcc,g++,make的安装。
build-essential是一整套工具,gcc,libc等等
通过“g++ -v”可以查看g++是否安装成功。
#安装debug工具
sudo apt-get install gdb

数据可视化接口Python的配置
http://www.cnblogs.com/denny402/p/5088399.html
直接安装anaconda
下好之后安装
bash Anaconda2-2.4.1-Linux-x86_64.sh
打开配置文件
sudo gedit .bashrc
在最后加入export PYTHONPATH=/home/cheng/caffe-master/python:$PYTHONPATH
保存退出,更新配置文件 sudo ldconfig
cd caffe-master/
sudo gedit Makefile.config 修改
主要是改成
ANACONDA_HOME := $(HOME)/anaconda2
PYTHON_INCLUDE := $(ANACONDA_HOME)/include \
        $(ANACONDA_HOME)/include/python2.7 \
        $(ANACONDA_HOME)/lib/python2.7/site-packages/numpy/core/include \
sudo make pycaffe
这时如果报错No module named google.protobuf.internal
参见http://blog.csdn.net/wuzuyu365/article/details/52431062
cd anaconda2/
sudo chmod 777 -R anaconda2
conda install protobuf
防止其他错误
sudo make test -j8
sudo make runtest -j8
进入python环境
python
import caffe没问题的haunted说明装好了,另外,anaconda自带了jupyter


安装tensorflow
参照http://www.cnblogs.com/denny402/p/5849416.html
anaconda search -t conda tensorflow
anaconda show jjhelmus/tensorflow-gpu
conda install --channel https://conda.anaconda.org/jjhelmus tensorflow-gpu