caffe安装吐血总结 opencv的问题,ubuntu版本问题

2024-08-27 20:18

本文主要是介绍caffe安装吐血总结 opencv的问题,ubuntu版本问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

转自:http://blog.csdn.net/caozhantao/article/details/51479172


这周安装了caffe的windows版本和Linux版本,依赖关系太多,如果系统选对了,安装起来很easy,选错了,就会遇见各种坑。

1.操作系统最好使用ubuntu desktop 14.04 64位。

我试用的操作系统版本比较多,以下介绍一下操作系统的坑:

ubuntu server 14.04  64位,部分u盘启动工具不支持,安装一半会报错找不到cdrom。

ubuntu server 15.10  64位,gcc版本太高,编译OpenCV时调用cudnn时有问题,替换低版本无效,未查到原因。

ubuntu server 16.04   64位,cudnn没有相应版本,编译cudnn是报错。

opensuse,下载依赖库很麻烦,很多依赖库都没有,建议不要使用。


2.本人一直是做服务器开发,习惯了命令行(这也是一开始选择server版本遇到各种坑的原因),而且桌面占用资源太多,所以要关闭ubuntu desktop。

其中有一点说的是ctrl+alt+f2,桌面可以和命令行转换,在我安装的版本无效,没查到原因。

要想彻底关闭,可以采用了如下方法:

sudo vim /etc/default/grub
找到这一行:GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
改为:GRUB_CMDLINE_LINUX_DEFAULT="text "或者"quiet splash text"
保存后sudo update-grub 重启即可。


3.显卡驱动,cuda安装

个人使用的是显卡GTX1080,显卡驱动及cuda需要在文本模式下操作,否则会安装失败。

使用cuda7.5在make runtest时报错

3.1.对应显卡驱动安装

http://www.nvidia.cn/Download/index.aspx?lang=cn下载

3.2.cuda安装

如果有老的先卸载

在路径:
/usr/local/cuda-6.5/bin
有CUDA自带的卸载工具uninstall_cuda_toolkit_6.5.pl,使用命令:
 sudo ./uninstall_cuda_toolkit_6.5.pl
然后别忘了卸载cuda samples.也是在/usr/local文件夹下。
安装很简单,执行cuda_8.0.27_linux-run,驱动不安装,因为已经安装过了。

in/x86_64/linux/release/deviceQuery,检测是否安装成功

3.3cudnn安装

tar xvf cudnn*.tgzcd cuda

sudo cp */*.h /usr/local/cuda/include/

sudo cp */libcudnn* /usr/local/cuda/lib64/sudo

 chmod a+r /usr/local/cuda/lib64/libcudnn*

3.剩下的就按caffe官网安装caffe的方法安装就行了,一路顺畅。

顺便提醒一下,caffe没有说要安装opencv,这个是需要安装的,可以在所以安装完毕后,安装opencv。

4.opencv安装,

4.1ffmpeg:

sudo add-apt-repository ppa:kirillshkrogalev/ffmpeg-next
sudo apt-get update
sudo apt-get install ffmpeg

4.2 No rule to make target `/usr/lib/x86_64-linux-gnu/libGL.so', needed by `lib/libopencv_core.so.2.4.11'.  Stop.

解决方法,删除旧的,然后,重新定向

ln -s /usr/lib/x86_64-linux-gnu/libGL.so /usr/lib/libGL.so.1

4.3make j导致电脑死机

改用make,而不适用make j

4.4以上就是OpenCV安装全过程,安装过程中可能碰到一些问题,例举一些。

在编译的过程中可能会碰到找不到Qt5文件的情况,只是一个警告可以不理,如果有强迫症的同学可以安装一下Qt5

CMake Warning at cmake/OpenCVFindLibsGUI.cmake:18 (find_package):By not providing "FindQt5Core.cmake" in CMAKE_MODULE_PATH this project hasasked CMake to find a package configuration file provided by "Qt5Core", butCMake did not find one.

另一个是ICV hash校验值不符的问题

CMake Warning at 3rdparty/ippicv/downloader.cmake:54 (message):
  ICV: Local copy of ICV package has invalid MD5 hash:0103b909e19ca9c6497a7ae696c16480 (expected:8b449a536a2157bcad08a2b9f266828b)
Call Stack (most recent call first):3rdparty/ippicv/downloader.cmake:108 (_icv_downloader)cmake/OpenCVFindIPP.cmake:235 (include)cmake/OpenCVFindLibsPerf.cmake:12 (include)CMakeLists.txt:526 (include)-- ICV: Downloading ippicv_linux_20141027.tgz...
CMake Error at 3rdparty/ippicv/downloader.cmake:71 (file):file DOWNLOAD HASH mismatchfor file: [/home/jason/program/opencv-3.0.0/3rdparty/ippicv/downloads/linux-8b449a536a2157bcad08a2b9f266828b/ippicv_linux_20141027.tgz]expected hash: [8b449a536a2157bcad08a2b9f266828b]actual hash: [0103b909e19ca9c6497a7ae696c16480]Call Stack (most recent call first):3rdparty/ippicv/downloader.cmake:108 (_icv_downloader)cmake/OpenCVFindIPP.cmake:235 (include)cmake/OpenCVFindLibsPerf.cmake:12 (include)CMakeLists.txt:526 (include)

之后查了很多资料也没有发现也不知道该怎么解决,后来去查了一下代码,发现这个是下载ippicv_linux_20141027.tgz时的校验和不符,查看了配置文件,发现可以自行从http://sourceforge.NET/projects/opencvlibrary/files/3rdparty/ippicv这里下载,奇怪的是编译时从这里下载的文件和自己下载的文件校验值居然不一样,也真是神奇,将下载的文件

~/opencv-3.0.0/3rdparty/ippicv/downloads/linux-8b449a536a2157bcad08a2b9f266828b ,代替原来的同名文件,ok问题解决。


另外对与cuda8.0,opencv3.0或者2.4.10都会报如下错误,使用opencv2.4.13就没有问题。(唯一一个2016年发布的版本)

Ubuntu/3.0/OpenCV/opencv-3.0.0/modules/cudalegacy/src/graphcuts.cpp:120:54: error: ‘NppiGraphcutState’ has not been declared
     typedef NppStatus (*init_func_t)(NppiSize oSize, NppiGraphcutState** ppState, Npp8u* pDeviceMem);

5.建议安装Anaconda包,这个包能独立于系统自带的Python库,并且提供大部分Caffe需要的科学运算Python库。这里需要注意,在运行Caffe时,可能会报一些找不到libxxx.so的错误,而用 locate libxxx.so命令发现已经安装在anaconda中,这时首先想到的是在/etc/ld.so.conf.d/ 下面将 $your_anaconda_path/lib 加入 LD_LIBRARY_PATH中。 但是这样做可能导致登出后无法再进入桌面!!!原因(猜测)可能是anaconda的lib中有些内容于系统自带的lib产生冲突。


正确的做法是:为了不让系统在启动时就将anaconda/lib加入系统库目录,可以在用户自己的~/.bashrc 中添加library path, 比如我就在最后添加了两行

# add library path
LD_LIBRARY_PATH=your_anaconda_path/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH

安装anaconda后再安装opencv会有警告

anaconda2/lib/libcurl.so.4: no version information available

此事需要先屏蔽掉以上环境变量,等编译通过以后再放开。

6.caffe编译

首先按个人需求修改Makefile.config配置文件

make runtest报错

 error while loading shared libraries: libcudart.so.8.0

在bashrc中添加如下环境变量即可:

LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64/


make时出现的问题:

(1).build_release/lib/libcaffe.so: undefined reference to google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(int, std::string const&, google::protobuf::io::CodedOutputStream*)'

设置环境变量:LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/:$LD_LIBRARY_PATH,将/usr/lib/x86_64-linux-gnu/放在最前面

(2)/cudnn.hpp:8:34: fatal error: caffe/proto/caffe.pb.h: No such file or directory

make all -j8有问题,make all没问题。可能是多核编译的问题。


win7上安装,就直接按github上的说明安装,vs一定要用2013.这个我学乖了,所有版本按说明来,安装很顺畅。

win注意点:1.GPU模式下,cuda对显卡的加速能力有要求,cudnn需要加速能力3.0以上,具体要求没找到。我的显卡不太高端,所以我把cudnn禁用了。

2.cuda的在comm中的默认配置加速能力是最低3_5,如果显卡性能达不到,需要修改,我的是3.4M的显卡,所以我改成了3_0。

这篇关于caffe安装吐血总结 opencv的问题,ubuntu版本问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1112673

相关文章

MyBatis模糊查询报错:ParserException: not supported.pos 问题解决

《MyBatis模糊查询报错:ParserException:notsupported.pos问题解决》本文主要介绍了MyBatis模糊查询报错:ParserException:notsuppo... 目录问题描述问题根源错误SQL解析逻辑深层原因分析三种解决方案方案一:使用CONCAT函数(推荐)方案二:

Win安装MySQL8全过程

《Win安装MySQL8全过程》:本文主要介绍Win安装MySQL8全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Win安装mysql81、下载MySQL2、解压文件3、新建文件夹data,用于保存数据库数据文件4、在mysql根目录下新建文件my.ini

Qt实现网络数据解析的方法总结

《Qt实现网络数据解析的方法总结》在Qt中解析网络数据通常涉及接收原始字节流,并将其转换为有意义的应用层数据,这篇文章为大家介绍了详细步骤和示例,感兴趣的小伙伴可以了解下... 目录1. 网络数据接收2. 缓冲区管理(处理粘包/拆包)3. 常见数据格式解析3.1 jsON解析3.2 XML解析3.3 自定义

Redis 热 key 和大 key 问题小结

《Redis热key和大key问题小结》:本文主要介绍Redis热key和大key问题小结,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录一、什么是 Redis 热 key?热 key(Hot Key)定义: 热 key 常见表现:热 key 的风险:二、

IntelliJ IDEA 中配置 Spring MVC 环境的详细步骤及问题解决

《IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决》:本文主要介绍IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决,本文分步骤结合实例给大... 目录步骤 1:创建 Maven Web 项目步骤 2:添加 Spring MVC 依赖1、保存后执行2、将新的依赖

Spring 中的循环引用问题解决方法

《Spring中的循环引用问题解决方法》:本文主要介绍Spring中的循环引用问题解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录什么是循环引用?循环依赖三级缓存解决循环依赖二级缓存三级缓存本章来聊聊Spring 中的循环引用问题该如何解决。这里聊

Spring Boot中JSON数值溢出问题从报错到优雅解决办法

《SpringBoot中JSON数值溢出问题从报错到优雅解决办法》:本文主要介绍SpringBoot中JSON数值溢出问题从报错到优雅的解决办法,通过修改字段类型为Long、添加全局异常处理和... 目录一、问题背景:为什么我的接口突然报错了?二、为什么会发生这个错误?1. Java 数据类型的“容量”限制

关于MongoDB图片URL存储异常问题以及解决

《关于MongoDB图片URL存储异常问题以及解决》:本文主要介绍关于MongoDB图片URL存储异常问题以及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录MongoDB图片URL存储异常问题项目场景问题描述原因分析解决方案预防措施js总结MongoDB图

SpringBoot项目中报错The field screenShot exceeds its maximum permitted size of 1048576 bytes.的问题及解决

《SpringBoot项目中报错ThefieldscreenShotexceedsitsmaximumpermittedsizeof1048576bytes.的问题及解决》这篇文章... 目录项目场景问题描述原因分析解决方案总结项目场景javascript提示:项目相关背景:项目场景:基于Spring

解决Maven项目idea找不到本地仓库jar包问题以及使用mvn install:install-file

《解决Maven项目idea找不到本地仓库jar包问题以及使用mvninstall:install-file》:本文主要介绍解决Maven项目idea找不到本地仓库jar包问题以及使用mvnin... 目录Maven项目idea找不到本地仓库jar包以及使用mvn install:install-file基