MC-CNN环境搭建Ubuntu14.04+cuda8.0+cudnn5+opencv2.4+torch7+png++

目录

 

1.NVIDIA显示卡驱动安装

2.cuda8.0安装

2.1. 安装build-essentials

2.2.下载CUDA 8.0.

2.3 添加环境变量

2.4 添加Lib库路径 

3.cudnn5

4.opencv2.4

5.png++

5.1 先安装libpng和zlib

5.2 安装png++

6.torch

7.MC-CNN


1.NVIDIA显示卡驱动安装

网上有很多NVIDIA驱动安装的方法,这里我推荐一种简单的方法。 
由于ubuntu14.04自带更新功能,我们只需打开<系统设置>-<软件和更新>-<附加驱动>,然后在对应的列表中选择你所需要的NVIDIA驱动,直接点击应用更改,等待安装完成。
MC-CNN环境搭建Ubuntu14.04+cuda8.0+cudnn5+opencv2.4+torch7+png++_第1张图片

验证是否安装成功,输入命令:nvidia-smi 
如果有出现显卡信息,说明安装成功,重启电脑。 
以下是我输入后得到的信息

MC-CNN环境搭建Ubuntu14.04+cuda8.0+cudnn5+opencv2.4+torch7+png++_第2张图片

2.cuda8.0安装

2.1. 安装build-essentials

安装开发所需要的一些基本包和依赖包

sudo apt-get install build-essential

sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libglu1-mesa-dev

2.2.下载CUDA 8.0.

去网址https://developer.nvidia.com/cuda-80-download-archive下载

MC-CNN环境搭建Ubuntu14.04+cuda8.0+cudnn5+opencv2.4+torch7+png++_第3张图片

通过下列命令安装CUDA8.0, 按照说明一步一步安装(记住不要选择安装显卡驱动):

 

下载完成之后,cd到该文件所在处,根据官网提示输入:

sudo sh cuda_8.0.44_linux.run

选择顺序 accept     n          y         y             y

 

2.3 添加环境变量

安装完成后需要在/etc/profile中添加环境变量, 

 在文件最后添加:

sudo gedit /etc/profile 

 在文件最后添加:

PATH=/usr/local/cuda-7.0/bin:$PATH

export PATH

2.4 添加Lib库路径 

在 /etc/ld.so.conf.d/加入文件 cuda.conf,

cd /etc/ld.so.conf.d/

sudo gedit cuda.conf

加入以下内容:

 /usr/local/cuda-7.0/lib64

 保存后,执行下列命令使之立刻生效

sudo ldconfig

 然后终端输入nvcc -V查看cuda是否安装成功。

3.cudnn5

为了加速Caffe,可以安装cuDNN。 
首先在CUDNN官网下载 https://developer.nvidia.com/cuDNN, 
解压并将头文件和lib文件复制到对应的cuda文件夹下

tar -xzvf cudnn-8.0-linux-x64-v5.0-prod.tgz
cd cudnn-8.0-linux-x64-v5.0-prod

cd lib64
sudo cp lib* /usr/local/cuda/lib64/

cd include
sudo cp cudnn.h /usr/local/cuda/include/

这时还是不能使用lib文件,因为没有加入.o文件之间的软链接 
我们先看一下cudnn/lib64下软链接的情况

cd lib64

ls -al

可以看到以下两个软链接

lrwxrwxrwx 1 sky sky       15 11月 12 21:28 libcudnn.so -> libcudnn.so.5
lrwxrwxrwx 1 sky sky       18 11月 12 21:28 libcudnn.so.5 -> libcudnn.so.5.0.5

 而lib文件夹是在系统路径里的,用ls -al发现是文件权限的问题,因此用下述命令先删除软连接

cd /usr/local/cuda/lib64/ 
sudo rm -rf libcudnn.so libcudnn.so.5

 因此我们需要在cuda/lib64/文件下,加入这三个文件之间的软链接关系

cd cuda/lib64/
sudo ln -s libcudnn.so.5.0.5 libcudnn.so.5
sudo ln -s libcudnn.so.5 libcudnn.so 

 然后,更新库路径

sudo ldconfig

4.opencv2.4

1. 先从sourceforge上下载OpenCV的源码

http://jaist.dl.sourceforge.net/project/opencvlibrary/opencv-unix/2.4.9/opencv-2.4.9.zip

2. 解压到任意目录

unzip opencv-2.4.9.zip

3. 进入源码目录,创建release目录

cd opencv-2.4.9

mkdir release 

 4. 可以看到在OpenCV目录下,有个CMakeLists.txt文件,需要事先安装一些软件

sudo apt-get install build-essential cmake libgtk2.0-dev pkg-config python-dev python-numpy libavcodec-dev libavformat-dev libswscale-dev  

5.  进入release目录,安装OpenCV是所有的文件都会被放到这个release目录下

cd release

 6. cmake编译OpenCV源码,安装所有的lib文件都会被安装到/usr/local目录下

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_CUDA=OFF -D WITH_OPENMP=ON -D WITH_QT=ON ..

 7. 安装

 sudo make install  

5.png++

5.1 先安装libpng和zlib

由于PNG++是基于libpng-1.2.x的版本,所以这里我们下载1.2.53版本,zlib下载的版本是1.2.8
下载地址:
http://sourceforge.net/projects/libpng/files/libpng12/1.2.53/libpng-1.2.53.tar.xz/download 
解压后进入文件夹,编译(两个文件分别执行以下命令)

./configure

make check

sudo make install

make check

sudo ldconfig

5.2 安装png++

首先,下载png++0.2.9版本 
http://download.savannah.gnu.org/releases/pngpp/ 
解压后进入文件夹

Issue make to test how it's doing:

$ make 

This will compile examples in the example directory. If everything goes well, try

$ make test 

(or make check which is the same as above) to run the test suite. If tests do not produce error messages then probably all is OK.
Now you can create documentation (optional). Use

$ make docs 

to run doxygen in the sources directory.
Now it is time to become root and install png++ into your system. It's OK to issue make install under ordinary user permissions if you want to install png++ into your home directory. Run the following command:

$ make install PREFIX=$HOME 

to copy png++ header files to ~/include/png++ and documentation files to ~/share/doc/png++-0.2.x. Without a PREFIX png++ installs to /usr/local.

(博主在 make docs 的出现了一个小问题,直接用sudo make install安装它就好了)

随后可以根据http://www.nongnu.org/pngpp/doc/0.2.5/ 

测试是否安装成功:

#include 
//...
int main()
{
png::image< png::rgb_pixel > image(128, 128);
for (png::uint_32 y = 0; y < image.get_height(); ++y)
{
for (png::uint_32 x = 0; x < image.get_width(); ++x)
{
image[y][x] = png::rgb_pixel(x, y, x + y);
// non-checking equivalent of image.set_pixel(x, y, ...);
}
}
image.write("rgb.png");
return 0;
}

Use the following command to compile your program:

$ g++ -c example.cpp `libpng-config --cflags` 

and the following to link it:

$ g++ -o example example.o `libpng-config --ldflags` 

运行 example文件

 ./example

6.torch

安装Torch7比较简单,按照http://torch.ch/docs/getting-started.html 上的步骤安装即可。

git clone https://github.com/torch/distro.git ~/torch --recursiv

cd ~/torch; bash install-deps;

./install.sh

source ~/.bashrc

输入th,如果出现下面字样,说明安装成功

 ______             __   |  Torch7                                   
 /_  __/__  ________/ /   |  Scientific computing for Lua.         
  / / / _ \/ __/ __/ _ \  |                                           
 /_/  \___/_/  \__/_//_/  |  https://github.com/torch   
                          |  http://torch.ch  

 如果出现‘true’说明cudnn等在torch7上安装成功。

7.MC-CNN

先执行(GitHub上REASDME写的很详细)

$ cp Makefile.proto Makefile

$ make

一般会出现/png++/image.hpp文件路径错误

更改adcensus.cu

改成“../include/png++/image.hpp”

$ wget -P net/ https://s3.amazonaws.com/mc-cnn/net_kitti_fast_-a_train_all.t7

$ ./main.lua kitti fast -a predict -net_fname net/net_kitti_fast_-a_train_all.t7 -left samples/input/kittiL.png -right samples/input/kittiR.png -disp_max 70

然后执行 

$ luajit samples/bin2png.lua 

文件夹就会出现是优化的视差图。

 

如果执行这行代码,出现的是cnn的视差图。

$ ./main.lua kitti fast -a predict -net_fname net/net_kitti_fast_-a_train_all.t7 -left samples/input/kittiL.png -right samples/input/kittiR.png -disp_max 70 -sm_terminate cnn

$ luajit samples/bin2png.lua 

 

 

 

 

 

你可能感兴趣的:(学习笔记)