环境:

ubuntu16.04 cuda8.0 cudnn5.0

已安装过caffe1.0 tensorflow1.2

编辑过程中出现问题尽量到这里面搜一下:https://github.com/BVLC/caffe/issues

教程 https://github.com/weiliu89/caffe/tree/ssd

Installation

  1. Get the code. We will call the directory that you cloned Caffe into $CAFFE_ROOT
git clone https://github.com/weiliu89/caffe.git
cd caffe
git checkout ssd
  1. Build the code. Please follow Caffe instruction to install all necessary packages and build it.
# Modify Makefile.config according to your Caffe installation.
cp Makefile.config.example Makefile.config
make -j8
# Make sure to include $CAFFE_ROOT/python to your PYTHONPATH.
make py
make test -j8
# (Optional)
make runtest -j8 问题:此处参考了别的教程使用了make all -j8出现问题(一定看官方教程)问题描述:
This file was generated by an older version of protoc which is incompatible with your Protocol Buffer headers. Please regenerate this file with a newer version of protoc.

原因是系统中装tensorflow时装有了多个版本的protobuf,造成版本冲突。将protobuf卸载后,按照此教程重新安装https://www.cnblogs.com/luoxn28/p/5303517.html

  tar -xvf protobuf

  cd protobuf

  ./configure --prefix=/usr/local/protobuf

  make

  make check

  make install

按照上边的还有问题,加上这部分

去https://developers.google.com/protocol-buffers/docs/downloads下载*.tar.tz压缩包,解压,
命令行进入解压后目录,依次执行如下
./configure
make
创建文件 /etc/ld.so.conf.d/libprotobuf.conf 写入内容:/usr/local/lib
输入命令 sudo ldconfig
注:protobuf的默认安装路径是/usr/local/lib,而/usr/local/lib 不在Ubuntu体系默认的 LD_LIBRARY_PATH 里,后面install找不到该lib 然后sudo make install 安装后,输入protoc --version 验证是否安装成功

如果还有问题,参考:https://my.oschina.net/ifraincoat/blog/406339

然后输入protoc --version查看是否安装成功,报错:protoc: error while loading shared libraries: libprotoc.so.8: cannot open shared object file: No such file or directory

解决办法: export LD_LIBRARY_PATH=/usr/local/lib/      (这个可能需要写到环境变量里,否则会不会下次启动就不能用了)

装完一定要清理一下,一定要清理一下!! make clean!!!

 
继续编译,出现问题 ./include/caffe/util/hdf5.hpp::: fatal error: hdf5.h: No such file or directory #include "hdf5.h 
解决方式
install libhdf5-dev

add patch to libhdf5 in Makefile.config.

example: INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial/

参考:https://askubuntu.com/questions/629654/building-caffe-failed-to-see-hdf5-h

继续编译,新的问题gcc版本过高, /usr/local/cuda/include/host_config.h::: error: #error -- unsupported GNU version! gcc versions

解决方案:降低gcc与g++版本到5,参考https://blog.csdn.net/qq_31175231/article/details/77774971

gcc --verison查看gcc
()设置gcc的默认版本
设置之前可以先输入命令ls /usr/bin/gcc* 查看gcc .8版本是否安装成功
然后输入下面的命令设置默认版本:
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8
最后的数字为优先级(越大越高),因为只有一个4.8版本作为alternatives,可以不要纠结数字,这样设就行了
()然后可以输入以下命令查看设置结果(非必须)
sudo update-alternatives --config gcc
因为只设置了一个,所以显示结果为:"链接组 gcc (提供 /usr/bin/gcc)中只有一个候选项:/usr/bin/gcc-4.8
无需配置.",如果有多个则会显示一个按优先级的列表.
()最后再次输入命令gcc -version查看gcc的版本已经变成4.8啦...就成功啦.
现在默认版本已经是4.8版本,如果想用6.2版本,则gcc-6.2 这样指定就好啦
g++ 等其他软件也是这样设置进行版本升级/降级. ps: ()当以上设置不需要的时候输入以下命令删除: sudo update-alternatives --remove gcc /usr/bin/gcc-4.8
---------------------
作者:帝江VII
来源:CSDN
原文:https://blog.csdn.net/qq_31175231/article/details/77774971
版权声明:本文为博主原创文章,转载请附上博文链接!

继续编译,出现问题

/usr/bin/ld: cannot find -lopencv_imgcodecs
/usr/bin/ld: cannot find -lopencv_videoio
collect2: error: ld returned exit status
Makefile:: recipe for target ‘.build_release/lib/libcaffe.so.1.0.-rc3’ failed
make: * [.build_release/lib/libcaffe.so.1.0.-rc3] Error

首先更新Makefile,不知道管没管用,参考https://blog.csdn.net/sunshinezhihuo/article/details/79427093

然后修改Makefile 文件(注意不是)Makefile.config 将里面的 LIBRARIES += glog gflags
protobuf boost_system boost_filesystem m hdf5_hl hdf5

改为LIBRARIES += glog gflags protobuf boost_system boost_filesystem m
hdf5_serial_hl hdf5_serial
然后还是原问题,根据https://github.com/BVLC/caffe/issues/5308安装库

Did you apt-get install libopenblas-base libopenblas-dev ?

继续编译,出现问题: .build_release/lib/libcaffe.so: undefined reference to `cv::VideoCapture::set(int, double)' .build_r

solution:

add "opencv_imgcodecs" in Makefile.(LIBRARIES += glog gflags protobuf leveldb snappy \
lmdb boost_system hdf5_hl hdf5 m \
opencv_core opencv_highgui opencv_imgproc opencv_imgcodecs)
If you input "make all",the problem is the same again.But if you delete all the file in build(rm -rf ./build/*) before "make all"(I use make clean ),you will success.I just success github 讨论帖:https://github.com/BVLC/caffe/issues/2348
参考链接:https://www.douban.com/note/568788483/

另外opencv_videoio也要加上。

继续编译新问题出现 .build_release/lib/libcaffe.so: undefined reference to `boost::filesystem::detail::status(boost::fil

解决方式:再加一个库boost_filesystem

第一步编译成功

二:make py

问题:

python/caffe/_caffe.cpp::: fatal error: numpy/arrayobject.h: No such file or directory
compilation terminated.
Makefile:: recipe for target 'python/caffe/_caffe.so' failed
make: *** [python/caffe/_caffe.so] Error

解决方式:

如果还是不行,可以试试:

import numpy as np
np.get_include()
得到:
/usr/local/lib/python2./dist-packages/numpy/core/include 在Makefile.config找到PYTHON_INCLUDE,发现有点不同: PYTHON_INCLUDE := /usr/include/python2. \
/usr/lib/python2./dist-packages/numpy/core/include 要加一个local,变成: PYTHON_INCLUDE := /usr/include/python2. \
/usr/local/lib/python2./dist-packages/numpy/core/include
再make pycaffe就ok了

参考:https://blog.csdn.net/wuzuyu365/article/details/52430657

三:

不要随便make clean 否则会出现 make: .build_release/tools/caffe: Command not found

解决方式:make all 参考:https://blog.csdn.net/xunan003/article/details/72997028

问题: Makefile:: recipe for target 'runtest' failed make: *** [runtest] Segmentation fault

解决方案:sf@ubuntu:~/caffe$ export MKL_CBWR=AUTO

不要make clean,然后重新make runtest

这个问题没有解决,但是看网上资料说这个不用全部运行成功也可以,就没有继续调试

然后在python环境下imoprt python,报错 ImportError: No module named caffe

solution:

A.把环境变量路径放到 ~/.bashrc文件中,打开文件
sudo vim ~/.bashrc 在文件下方写入
export PYTHONPATH=~/caffe/python:$PYTHONPATH 上述语句中 “~” 号表示caffe 所在的根目录。 B.关闭文件,在终端写入下面语句,使环境变量生效
source ~/.bashrc
---------------------
作者:修炼打怪的小乌龟
来源:CSDN
原文:https://blog.csdn.net/u010417185/article/details/53559107
版权声明:本文为博主原创文章,转载请附上博文链接!

继续import,报错 ImportError: No module named google.protobuf.internal

solution: sudo pip install protobuf

caffe—ssd安装教程的更多相关文章

  1. 转 Windows+VS2013爆详细Caffe编译安装教程

    1. 安装cuda Cuda是英伟达推出的GPU加速运算平台 我这里安装的是cuda7.5,已经安装过的忽略,还没有安装过的这里有安装教程.windows下面安装还是非常简单的. 点击打开链接    ...

  2. caffe安装教程(Ubuntu14+GPU+pycaffe+anaconda2)

    caffe安装教程 本文所使用的底层环境配置:cuda8.cudnn6.OpenCV2.4.5.anaconda2(Python2.7).如使用其他版本的环境,如cuda,可安装自己的版本,但须在相应 ...

  3. windows10下基于vs2015的 caffe安装教程及python接口实现

    啦啦啦:根据网上的教程前一天安装失败,第二天才安装成功.其实caffe的安装并不难,只是网上的教程不是很全面,自己写一个,留作纪念. 准备工作 Windows10 操作系统 vs2015(c++编译器 ...

  4. ubuntu16.04 + caffe + SSD + gpu 安装

    昨天我们买好了硬件,今天我们开始安装caffe了,我本人安装过caffe不下10次,每次都是一大堆问题,后来终于总结了关键要点,就是操作系统. 1. 千万不要用ubuntu17.10来安装, 2. 最 ...

  5. ubuntu16.04+caffe+GPU+cuda+cudnn安装教程

    步骤简述: 1.安装GPU驱动(系统适配,不采取手动安装的方式) 2.安装依赖(cuda依赖库,caffe依赖) 3.安装cuda 4.安装cudnn(只是复制文件加链接,不需要编译安装的过程) 5. ...

  6. 光驱SSD安装Win7+ubuntu系统双系统

    准备条件: U盘,32GB,三星品牌 SSD,120GB,三星品牌 win7旗舰版,Ghost系统(安装简单嘛),Ylmf_Ghost_Win7_SP1_x64_2016_1011.iso ubunt ...

  7. 浅析py-faster-rcnn中不同版本caffe的安装及其对应不同版本cudnn的解决方案

    浅析py-faster-rcnn中不同版本caffe的安装及其对应不同版本cudnn的解决方案 本文是截止目前为止最强攻略,按照本文方法基本可以无压力应对caffe和Ross B. Girshick的 ...

  8. [转]Centos7下caffe的安装

    Centos7下caffe的安装 原文地址:http://blog.csdn.net/s2392735818/article/details/49796017   版权声明:本文为博主原创文章,未经博 ...

  9. Caffe配置简明教程 ( Ubuntu 14.04 / CUDA 7.5 / cuDNN 5.1 )

    1. 前言 本教程使用的系统是Ubuntu 14.04 LTS 64-bit,使用的CUDA版本为7.5,使用的NVIDIA驱动版本为352. 如果您使用的Pascal架构显卡,如GTX1080或者新 ...

随机推荐

  1. 爬虫—分析Ajax爬取今日头条图片

    以今日头条为例分析Ajax请求抓取网页数据.本次抓取今日头条的街拍关键字对应的图片,并保存到本地 一,分析 打开今日头条主页,在搜索框中输入街拍二字,打开开发者工具,发现浏览器显示的数据不在其源码里面 ...

  2. OCC 矩阵变换

    在OpenCADCADE中, 通过gp_Trsf类来进行矩阵变换操作, 采用矩阵在左的方式: 新点 = 变换矩阵 * 点 基本原理如下: //! Defines a non-persistent tr ...

  3. DevExpress的GridControl拖拽DraopDown后计算HitInfo的RowHandle错误

    最近在使用GridControl的拖拽功能时候遇到了一个问题:当GridControl触发DropDrop事件时,计算对应的RowHandle错误.当把鼠标拖拽到GridView一个单元格的靠上面的部 ...

  4. C-C语言概述

    1.数据+算法=程序. 2.C语言程序是由一个或多个函数组成的,函数是由语句组成的,语句是由关键字,标识符,运算符,数据组成的:语句可分为:声明语句,赋值语句,控制语句,函数语句,空语句. 3.#in ...

  5. Unity3d Time

    using UnityEngine; using System.Collections; public class test1 : MonoBehaviour { public float angle ...

  6. 11.javaweb国际化标签库

    一.国际化标签库 1,格式化标签库提供的标签 2,标签详解 2.1<fmt:setLocale>标签 下面设置不同的区域,并在设置的区域下显示日期 2.2<fmt:requestEn ...

  7. 解决java float double 浮点型参与计算失精度

    本人前段时间做一个社区电商应用,发现了一个 天坑   ...................让我哭会 . 下面听听我的踩坑之路吧 ,电商肯定跟¥打交道了,计算少不了的.由于本人太菜 单纯的以为  fl ...

  8. spring中quatz的多定时任务配置图文详解

    近来公司让用quatz框架做定时功能,而且还是执行多定时任务,真是苦恼. 虽然从网上搜了很多资料,但是写法上不太尽如人意,最后还是请教了螃蟹大神,给的配置建议就是简单啊,现在拿来分享下: 这里我们需要 ...

  9. Qt5.2 for Android 配置及部署到手机运行

    使用DNK编程也没有那么难,使用QT为安卓跨平台编程需要安装NDK,SDK通过NDK调用C++程序,偶尔能提高一些效率. SDK下载地址:http://developer.android.com/sd ...

  10. SpringMVC(二)@RequestMapping

    学习@RequestMapping注解,参考Spring API 1.@RequestMapping可以修饰在类类型和方法上      ①.修饰在类定义上:   提供初步的URL映射,相对于web应用 ...