Ubuntu 16.04下安装CUDA8.0+Caffe+TensorFlow(2)

主要分为 个步骤:
1、安装Python
可以选择使用系统自带的Python2.7
2、安装Opencv
从官网()下载Opencv
解压到要安装的位置,假设解压的地址是/home/opencv
执行命令: `
cd ~/opencv
mkdir build
cd build
配置编译文件:cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..

在编译中可能会出现 ippicv 下载不成功的问题,可以通过手动配置来解决这类问题,当然也可以直接配置之后再编译。在进行配置之前,首先前往GitHub下载相应的库https://github.com/opencv/opencv_3rdparty/branches/all 下载后,拷贝到

opencv-x.x.x/3rdparty/ippicv/downloads/linux-808b791a6eac9ed78d32a7666804320e

目录下,然后再运行编译。

编译成功后,运行sudo make install进行安装

安装时候会出现错误:‘NppiGraphcutState’ has not been declared

这是因为opecv3.0与cuda8.0不兼容。 修改~/opencv/modules/cudalegacy/src/graphcuts.cpp文件
在文件开头位置:

把#if !defined (HAVE_CUDA) || defined (CUDA_DISABLER) 修改为 #if !defined (HAVE_CUDA) || defined (CUDA_DISABLER) || (CUDART_VERSION>=8000)

3、测试Opencv
a. 创建工作目录

mkdir ~/opencv-lena cd ~/opencv-lena gedit DisplayImage.cpp

b.编辑代码

#include <stdio.h> #include <opencv2/opencv.hpp> using namespace cv; int main(int argc, char** argv ) { if ( argc != 2 ) { printf("usage: DisplayImage.out <Image_Path>\n"); return -1; } Mat image; image = imread( argv[1], 1 ); if ( !image.data ) { printf("No image data \n"); return -1; } namedWindow("Display Image", WINDOW_AUTOSIZE ); imshow("Display Image", image); waitKey(0); return 0; }

c.创建CMake编译文件

gedit CMakeLists.txt

写入内容

cmake_minimum_required(VERSION 2.8) project( DisplayImage ) find_package( OpenCV REQUIRED ) add_executable( DisplayImage DisplayImage.cpp ) target_link_libraries( DisplayImage ${OpenCV_LIBS} )

d.编译

cd ~/opencv-lena cmake . make

e.执行
此时opencv-lena文件夹中已经产生了可执行文件DisplayImage,下载lena.jpg放在opencv-lena下,运行

./DisplayImage lena.jpg

4、安装Matlab
如果在Matlab中使用的话,需要安装Matlab,需要在后续中进行Matlab接口的编译。需要记住自己的安装路径,在后面配置接口的时候要用到。如果不用Matlab 的话就不用安装了。

5、Caffe安装
其实配置没什么技术含量,只是依赖库比较多。需要配置的地方比较多,配置一定要耐心。
1、从https://github.com/BVLC/caffe.git下载caffe到本地
2、解压后,在caffe-master中复制配置文件sudo cp Makefile.config.example Makefile.config
3、修改配置文件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 d.重要的一项 : 将# 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的位置,所以需要更改这一路径. e.还要更改 USE_OPENCV: = 1 USE_LEVELDB: = 1 USE_LMDB: = 1

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/13203.html