首先安装caffe

安装的过程主要参考了 赵永科的书深度学习21天实战Caffe中的内容。

主要步骤如下:

sudo apt-get install git
sudo apt-get install libprotobuf-dev libleveldb-dev libopencv-dev libsnappy-dev
sudo apt-get install libhdf5-serial-dev protobuf-compiler
sudo apt-get install --no-install-recommends libboost-all-dev
sudo apt-get install libatlas-base-dev
sudo apt-get install python-dev
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev

下载caffe源码:

git clone https://github.com/bvlc/caffe.git
cd caffe/

修改文件名:

mv Makefile.config.example Makefile.config 

对文件Makefile.config进行修改,一般在第8行

vim Makefile.config 

将CPU_ONLY前的“#”去掉,表示caffe编译时仅支持CPU

编译

make  -j

j 代表 使用多线程进行编译,利用所有可以用的CPU,加速编译速度


编译报错整理:

PROTOC src/caffe/proto/caffe.proto
CXX src/caffe/common.cpp
...
CXX ...
...
CXX examples/mnist/convert_mnist_data.cpp
src/caffe/layers/hdf5_output_layer.cpp:3:18: fatal error: hdf5.h: No such file or directory
compilation terminated.
Makefile:581: recipe for target '.build_release/src/caffe/layers/hdf5_output_layer.o' failed
make: *** [.build_release/src/caffe/layers/hdf5_output_layer.o] Error 1
make: *** Waiting for unfinished jobs....
src/caffe/net.cpp:8:18: fatal error: hdf5.h: No such file or directory
compilation terminated.
Makefile:581: recipe for target '.build_release/src/caffe/net.o' failed
make: *** [.build_release/src/caffe/net.o] Error 1
src/caffe/layers/hdf5_data_layer.cpp:13:18: fatal error: hdf5.h: No such file or directory
compilation terminated.
Makefile:581: recipe for target '.build_release/src/caffe/layers/hdf5_data_layer.o' failed
make: *** [.build_release/src/caffe/layers/hdf5_data_layer.o] Error 1
In file included from src/caffe/util/hdf5.cpp:1:0:
./include/caffe/util/hdf5.hpp:6:18: fatal error: hdf5.h: No such file or directory
compilation terminated.
Makefile:581: recipe for target '.build_release/src/caffe/util/hdf5.o' failed
make: *** [.build_release/src/caffe/util/hdf5.o] Error 1
In file included from src/caffe/solver.cpp:8:0:
./include/caffe/util/hdf5.hpp:6:18: fatal error: hdf5.h: No such file or directory
compilation terminated.
In file included from src/caffe/solvers/sgd_solver.cpp:5:0:
./include/caffe/util/hdf5.hpp:6:18: fatal error: hdf5.h: No such file or directory
compilation terminated.
Makefile:581: recipe for target '.build_release/src/caffe/solver.o' failed
make: *** [.build_release/src/caffe/solver.o] Error 1
Makefile:581: recipe for target '.build_release/src/caffe/solvers/sgd_solver.o' failed
make: *** [.build_release/src/caffe/solvers/sgd_solver.o] Error 1

好像出了不少的问题,首先我们看到前几个error,说的其实是一个问题
* error: hdf5.h: No such file or directory *
找不到hdf5.h这个头文件,此时我们可以通过修改Makefile.config文件来解决这个问题:

添加/usr/include/hdf5/serial/ 到 INCLUDE_DIRS
原:

# Whatever else you find you need goes here.
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include 

改:

# Whatever else you find you need goes here.
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial/

此时再进行编译:

lixin@lixin-ThinkPad-E470:~/caffe$ make -j
CXX src/caffe/solver.cpp
CXX src/caffe/solvers/sgd_solver.cpp
CXX src/caffe/net.cpp
CXX src/caffe/layers/hdf5_output_layer.cpp
CXX src/caffe/layers/hdf5_data_layer.cpp
CXX src/caffe/util/hdf5.cpp
AR -o .build_release/lib/libcaffe.a
LD -o .build_release/lib/libcaffe.so.1.0.0
/usr/bin/ld: cannot find -lhdf5_hl
/usr/bin/ld: cannot find -lhdf5
collect2: error: ld returned 1 exit status
Makefile:572: recipe for target '.build_release/lib/libcaffe.so.1.0.0' failed
make: *** [.build_release/lib/libcaffe.so.1.0.0] Error 1

说找不到* lhdf5_hl , lhdf5 *文件
此时我们需修改Makefile文件,把 hdf5_hl 和hdf5修改hdf5_serial_hl 和 hdf5_serial

vim Makefile

原:

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

再重新编译:

LD -o .build_release/lib/libcaffe.so.1.0.0
CXX/LD -o .build_release/tools/train_net.bin
CXX/LD -o .build_release/tools/extract_features.bin
CXX/LD -o .build_release/tools/device_query.bin
CXX/LD -o .build_release/tools/finetune_net.bin
CXX/LD -o .build_release/tools/upgrade_net_proto_binary.bin
CXX/LD -o .build_release/tools/compute_image_mean.bin
CXX/LD -o .build_release/tools/upgrade_net_proto_text.bin
CXX/LD -o .build_release/tools/caffe.bin
CXX/LD -o .build_release/examples/siamese/convert_mnist_siamese_data.bin
CXX/LD -o .build_release/tools/upgrade_solver_proto_text.bin
CXX/LD -o .build_release/tools/convert_imageset.bin
CXX/LD -o .build_release/tools/net_speed_benchmark.bin
CXX/LD -o .build_release/examples/cifar10/convert_cifar_data.bin
CXX/LD -o .build_release/tools/test_net.bin
CXX/LD -o .build_release/examples/mnist/convert_mnist_data.bin
CXX/LD -o .build_release/examples/cpp_classification/classification.bin

完美~



参考:
1.http://blog.csdn.net/xue_wenyuan/article/details/52037121
2.http://www.tuxi.com.cn/viewcsdn-39205-392051023.html

Ubuntu 16.04 安装caffe(CPU)以及编译问题处理相关推荐

  1. Ubuntu 16.04 安装 caffe

    Ubuntu16.04安装Caffe最全最详细教程(CPU) 由于本人电脑不支持GPU,故选择CPU安装caffe.具体查看方式:键入命令: lspci | grep -i nvidia ,若按回车之 ...

  2. ubuntu 16.04 安装Caffe GPU版本

    安装nvidia显卡驱动和CUDA8.0和cuDNN5请参考以下内容 http://blog.csdn.net/chenhaifeng2016/article/details/68957732 安装第 ...

  3. Ubuntu 16.04安装Caffe的记录及FCN官方代码的配置

    相关内容搜集自官方文档与网络,既无创新性,也不求甚解,我也不了解Caffe,仅仅搭上之后做个记录,方便以后重装 安装依赖项 sudo apt-get install libprotobuf-dev l ...

  4. Ubuntu 16.04安装编译MRPT 1.5.7

    Ubuntu 16.04安装编译MRPT MRPT(Mobile Robot Programming Toolkit,移动机器人编程工具箱)的安装 1.准备必需的环境依赖 sudo apt insta ...

  5. linux安装tensorflow教程,Ubuntu 16.04 安装 TensorFlow(GPU支持)

    本文记录Ubuntu 16.04安装Tensorflow步骤,也包括怎么从源码编译安装Tensorflow. 要想安装Tensorflow GPU版本,你需要有一个新一点的Nvidia显卡. Tens ...

  6. Ubuntu 16.04 安装记录Install - Recording

    Ubuntu 16.04 安装记录 换源 # 先对原来的sources.list进行备份 # https://www.linuxidc.com/Linux/2017-01/139458.htm sud ...

  7. Ubuntu 16.04安装Memcached(单机)

    Ubuntu 16.04安装Memcached,不过不仅限与Ubuntu,可以用CentOS等去安装,只不过测试时使用的是Ubuntu机器.Windows下不建议使用,本机调试可以使用,线上环境除了W ...

  8. 【转】Ubuntu 16.04 安装 CUDA10.1 (解决循环登陆的问题)

    转自:Ubuntu 16.04 安装 CUDA10.1 (解决循环登陆的问题) - Hongkai_Ding - 博客园 0. 前言 这里直接用 cuda安装文件同时安装 NVIDIA 驱动和 CUD ...

  9. linux nvidia 361.run,Ubuntu 16.04安装nVidia驱动失败!

    Ubuntu 16.04安装nVidia驱动失败! 发布时间:2016-09-16 10:24:00来源:红联作者:sutao80216 我的笔记本是I/N双显卡,CPU是i7,独显是nVidia G ...

  10. Linux ubuntu 装openCV,Linux(ubuntu 16.04) 安装 opencv C++

    Linux(ubuntu 16.04) 安装 opencv C++ Linux(ubuntu 16.04) 安装 opencv C++ 参考文档: https://blog.csdn.net/qq_3 ...

最新文章

  1. 计算机硬件系统公开课课件,计算机硬件系统的组成(公开课).ppt.ppt
  2. 2017-2019年全国大学生智能汽车竞赛获奖数据分析
  3. 一个关于php使用pdo方式进行数据库连接和处理的类
  4. Zoom计划于4月IPO
  5. HDLBits答案(2)_Verilog向量基础
  6. 若川知乎问答:做前端感觉很吃力怎么办?
  7. 用Java创建MongoDB上限集合
  8. Thunder团队第三周 - Scrum会议6
  9. 轻松自动化---selenium-webdriver(python) (三)
  10. 【英语学习】【WOTD】gargantuan 释义/词源/示例
  11. lucene造成磁盘空间不足的问题
  12. php 命令行 循环,Linux_批处理的循环效果脚本,第一次运行 执行命令工A 第 - phpStudy...
  13. cisco keepalive
  14. “领跑者”计划倒逼光伏产业升级效果显现
  15. UTD2202C示波器如何显示峰峰值
  16. 关于Sentaurus的日常(二)(Carrier Transport Models)
  17. CAN应用层常用协议
  18. 基于python爬虫数据分析论文_基于Python的招聘网站信息爬取与数据分析
  19. 高版本Ubuntu(如22.02)修改apt源,快速安装低版本gcc/g++
  20. SpringTask的入门使用

热门文章

  1. 日语阅读-1-如何看ほう的用法
  2. vmware实现小型局域网实验环境
  3. CentOS7学习笔记--PHP环境安装
  4. Android自定义开机和关机动画
  5. 【设计模式】之单例模式
  6. cve-2017-0199metasploit复现过程
  7. Http协议对格式、请求头、方法
  8. OSGi运行环境下java反序列化问题的解决方式
  9. [转]CSS3 Media Query实现响应布局
  10. asp.net MD5数据加密和解密