Ubuntu 16.04 安装caffe(CPU)以及编译问题处理
首先安装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)以及编译问题处理相关推荐
- Ubuntu 16.04 安装 caffe
Ubuntu16.04安装Caffe最全最详细教程(CPU) 由于本人电脑不支持GPU,故选择CPU安装caffe.具体查看方式:键入命令: lspci | grep -i nvidia ,若按回车之 ...
- ubuntu 16.04 安装Caffe GPU版本
安装nvidia显卡驱动和CUDA8.0和cuDNN5请参考以下内容 http://blog.csdn.net/chenhaifeng2016/article/details/68957732 安装第 ...
- Ubuntu 16.04安装Caffe的记录及FCN官方代码的配置
相关内容搜集自官方文档与网络,既无创新性,也不求甚解,我也不了解Caffe,仅仅搭上之后做个记录,方便以后重装 安装依赖项 sudo apt-get install libprotobuf-dev l ...
- Ubuntu 16.04安装编译MRPT 1.5.7
Ubuntu 16.04安装编译MRPT MRPT(Mobile Robot Programming Toolkit,移动机器人编程工具箱)的安装 1.准备必需的环境依赖 sudo apt insta ...
- linux安装tensorflow教程,Ubuntu 16.04 安装 TensorFlow(GPU支持)
本文记录Ubuntu 16.04安装Tensorflow步骤,也包括怎么从源码编译安装Tensorflow. 要想安装Tensorflow GPU版本,你需要有一个新一点的Nvidia显卡. Tens ...
- Ubuntu 16.04 安装记录Install - Recording
Ubuntu 16.04 安装记录 换源 # 先对原来的sources.list进行备份 # https://www.linuxidc.com/Linux/2017-01/139458.htm sud ...
- Ubuntu 16.04安装Memcached(单机)
Ubuntu 16.04安装Memcached,不过不仅限与Ubuntu,可以用CentOS等去安装,只不过测试时使用的是Ubuntu机器.Windows下不建议使用,本机调试可以使用,线上环境除了W ...
- 【转】Ubuntu 16.04 安装 CUDA10.1 (解决循环登陆的问题)
转自:Ubuntu 16.04 安装 CUDA10.1 (解决循环登陆的问题) - Hongkai_Ding - 博客园 0. 前言 这里直接用 cuda安装文件同时安装 NVIDIA 驱动和 CUD ...
- 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 ...
- 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 ...
最新文章
- 计算机硬件系统公开课课件,计算机硬件系统的组成(公开课).ppt.ppt
- 2017-2019年全国大学生智能汽车竞赛获奖数据分析
- 一个关于php使用pdo方式进行数据库连接和处理的类
- Zoom计划于4月IPO
- HDLBits答案(2)_Verilog向量基础
- 若川知乎问答:做前端感觉很吃力怎么办?
- 用Java创建MongoDB上限集合
- Thunder团队第三周 - Scrum会议6
- 轻松自动化---selenium-webdriver(python) (三)
- 【英语学习】【WOTD】gargantuan 释义/词源/示例
- lucene造成磁盘空间不足的问题
- php 命令行 循环,Linux_批处理的循环效果脚本,第一次运行 执行命令工A 第 - phpStudy...
- cisco keepalive
- “领跑者”计划倒逼光伏产业升级效果显现
- UTD2202C示波器如何显示峰峰值
- 关于Sentaurus的日常(二)(Carrier Transport Models)
- CAN应用层常用协议
- 基于python爬虫数据分析论文_基于Python的招聘网站信息爬取与数据分析
- 高版本Ubuntu(如22.02)修改apt源,快速安装低版本gcc/g++
- SpringTask的入门使用