ubuntu14.04+caffe2+OpenCV3.0安装的一些问题

好久不用Caffe了,今天要转换个caffemodel到tensorflow,所以需要caffe的环境,原先预备pull个Docker镜像,最后发现死活下载不下来,只好自己重新装Caffe了,果然每次都有坑,特此记录

步骤

不多说了,参考宇宙骑士欧老师的,博客在此 Caffe安装博客 不过说明下,最新的caffe和tensorflow(>=1.0)都是要CUDA8以上的,低版本的大家不要装了

问题

编译Caffe找不到cudnn.h或者是cublas.h等错误

我是原先安装过CUDA7.5和CUDA8.0的,所以我直接跳过了CUDA安装这一步,务必保证有/usr/local/cuda

sudo ln -s /usr/local/cuda-8.0 /usr/local/cuda

编译OpenCV

出错的问题非常多

问题一:ippicv_linux_*.tgz的hash值不符错误 解决方法: 手动下载覆盖

wget http://www.mirrorservice.org/sites/dl.sourceforge.net/pub/sourceforge/o/op/opencvlibrary/3rdparty/ippicv/ippicv_linux_20141027.tgz

覆盖到: /opencv-3.0.0/3rdparty/ippicv/downloads/linux-8b449a536a2157bcad08a2b9f266828b/ippicv_linux_20141027.tgz

问题二::make[1]: * [modules/cudalegacy/CMakeFiles/opencv_cudalegacy.dir/all] 错误 解决方法:修改源码 将opencv-3.0.0/modules/cudalegacy/src/graphcuts.cpp文件中的 #if !defined ( HAVE_CUDA) || defined (CUDA_DISABLER )修改为: #if !defined ( HAVE_CUDA ) || defined (CUDA_DISABLER ) || (CUDART_VERSION >= 8000 ) 之后make就没问题了

考虑到最麻烦也是最有可能出问题的就是会编译OpenCV,特此提供教程(详细版),如果欧老师的行不通,你就看我的吧

编译安装OpenCV

下载OpenCV3.0

wget -c -t 10 http://sourceforge.net/projects/opencvlibrary/files/opencv-unix/3.0.0/opencv-3.0.0.zip/download

解压

unzip opencv-3.0.0
cd opencv-3.0.0

编译

mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON -D WITH_QT=ON -D WITH_OPENGL=ON ..

这个时候你的ippicv_linux_*.tgz会说hash值不符发生错误,解决办法就是下载替换,上面说了

make -j8

安装

sudo make install 
sudo sh -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf'
sudo ldconfig -v

这个时候在opencv3.0.0/lib/下就有了cv2.so文件,放入到你python的PYTHONPATH下就可以使用python-opencv了

参考博客

欧新宇的博客 sinat_28593495的博客 alanzjl的博客

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏沃趣科技

ASM 翻译系列第十八弹:ASM Internal ASM file number 5

原作者:Bane Radulovic 译者: 魏兴华 审核: 魏兴华 ASM file number 5 本章讲述ASM的5号文件,5号文件是ASM...

3436
来自专栏乐沙弥的世界

Oracle 实例恢复

Oracle实例失败多为实例非一致性关闭所致,通常称为崩溃(crash)。实例失败的结果等同于shutdown abort。

925
来自专栏数据和云

Oracle数据库的初始化与跟踪学习方法

编辑说明:《Oracle性能优化与诊断案例精选》出版以来,收到很多读者的来信和评论,我们会通过连载的形式将书中内容公布出来,希望书中内容能够帮助到更多的读者朋友...

3549
来自专栏Java学习123

powerdesigner 15 如何导出sql schema

2765
来自专栏码字搬砖

CDH impala hive hbase 整合

最终达到的效果是这样的:hbase是数据的存储中心。impala、hive可以增查habse数据,不支持insert overwrite impala...

1513
来自专栏数据和云

案发现场:被注入的软件及 ORA-600 16703 灾难的恢复

最近帮助一个客户恢复数据库,遇到了如下这个问题。让我们再一次惊醒于数据安全,如果不做好防范,问题总是会来得猝不及防。

1754
来自专栏Hadoop实操

如何使用StreamSets实现Oracle中变化数据实时写入Kudu

5005
来自专栏乐沙弥的世界

启用用户进程跟踪

仅仅需要标识该会话并为该会话启用跟踪(专用模式为一对一模式,即一个用户进程对应一个服务器进程)

752
来自专栏杨建荣的学习笔记

dg broker配置的问题及分析 (r7笔记第22天)

今天在配置一个备库的时候碰到了一些问题,话说配置dg broker真没什么特别需要注意的细节了,本身已经给DBA省了很大的事儿了。 但是有时候就是会出现一些稀奇...

3564
来自专栏DannyHoo的专栏

开发后期在各个页面中添加友盟统计

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010105969/article/details/...

1652

扫码关注云+社区