linux + cuda7.5 + opencv2.4.8编译caffe

来源:互联网 发布:矩阵lu分解问题 编辑:程序博客网 时间:2024/06/06 04:22

花了两周左右的时间,才把caffe编译完成,现在总结一下

1. Ubuntu14.0.4的界面其实和nvidia的界面并不冲突,根据很多网上的信息都可以完成GPU的驱动。但是,Ubuntu14.0.4的界面似乎无法在安装了cuda7.5的情况下正常启动,因而尽管很多网站的说法都正确,但对编译caffe没有什么帮助。为了使它能显示界面,使用了Linux mint Cinnamon17.3

2. 安装cuda:cuda7.5包含了nvidia的驱动,因此安装的时候需要关闭界面,在tty1下安装,service mdm stop (mdm是linux mint 默认的界面服务), 按照提示安装,完成之后 service mdm restart 重启界面

3. 安装opencv:linux 下有安装opencv的命令:sudo apt-get install libopencv-dev

4. 安装caffe:上直接按照caffe主页上安装即可,这里包括BLAS,python,matlab的安装。

5. 编译caffe:cd caffe-root, 调整Makefile.config, 最后make all -j8即可。

错误1: ../lib/libcaffe.so: 对' cv::imread(cv:: string const&, int)' 未定义的引用

这是因为opencv版本有问题,主要是和Makefile.config的设置不一样。最后通过pkg-config终于发现我电脑上opencv默认版本是3.1.0(/usr/local/lib/pkgconfig/opencv.cp),原来是我装了多个版本,使得默认路径混乱,源码link到的是3.1.0的,根据opencv.cp的路径确认默认的源码路径(/usr/local/include),然后找到相符版本(2.4.8)的源码替换掉/usr/local/include的代码。当然,如果你是编译opencv3, 那这个错误就应该是因为相应的库文件没有link上,应该修改Makefile,将相关的库连接上或者装上


错误2:对‘TIFFReadRGBATile@LIBTIFF_4.0’未定义的引用

这里是因为opencv编译有问题,但是我是使用libopencv-dev安装的,也不知道去哪里重新编译,最后发现如果我的python不用anaconda就没问题了,可能是因为anaconda和libopencv-dev这种安装组合会少装一些东西

0 0