热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Ubuntu16.04配置caffe(仅CPU)

1.安装依赖项(如果一次不成功,可多安装几次) 1sudoapt-getinstalllibprotobuf-devlibleveldb-devlibsnappy-devlibop

1. 安装依赖项(如果一次不成功,可多安装几次) 


  1. 1 sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler
  2. 2 sudo apt-get install --no-install-recommends libboost-all-dev
  3. 3 sudo apt-get install libopenblas-dev liblapack-dev libatlas-base-dev
  4. 4 sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev



2.  下载解压OpenCV3.1


①   OpenCV 下载链接: http://opencv.org/releases.html

      下载3.1.0 Sources源码:

Ubuntu16.04 配置 caffe (仅CPU)



②   下载的OpenCV源码的压缩包 opencv-3.1.0.zip 的保存路径默认是在 home/用户名/下载 下,进入到该目录。

        解压并拷贝到home目录后重命名:

  1. cd ~/下载
  2. unzip opencv-3.1.0.zip
  3. sudo mv ./opencv-3.1.0 ~/OpenCV

 ③  进入OpenCV目录,创建build文件夹:

  1. cd ~/opencv
  2. mkdir build
  3. cd build


3. 使用CMake编译OpenCV


  1. sudo apt install cmake
  2. sudo cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
  3. sduo make -j4


Ubuntu16.04 配置 caffe (仅CPU)



如果编译不成功,可能需要手动下载ippicv_linux_20151201.tgz文件,之后编译成功,输入以下指令完成安装:

sudo make install


4. 验证OpenCV是否正确安装


切换到OpenCV下的samples目录,并编译samples程序:

  1. cd ~/OpenCV/samples
  2. sudo cmake .
  3. sudo make -j $(nproc)


Ubuntu16.04 配置 caffe (仅CPU)


继续切换到cpp目录下,运行测试程序

  1. cd cpp/
  2. ./cpp-example-facedetect lena.jpg


这是一个人脸检测的测试程序,运行结果:

Ubuntu16.04 配置 caffe (仅CPU)




5.  下载caffe


caffe源代码下载地址:  https://github.com/BVLC/caffe

Ubuntu16.04 配置 caffe (仅CPU)

 

将下载的caffe源码压缩包解压并移动到home目录下:

  1. cd ~/下载
  2. unzip caffe-master.zip
  3. sudo mv ./caffe-master ~/caffe-master


6. 修改Makefile.config配置文件


复制一份Makefile.config文件并使用gedit打开修改配置:

  1. cd ~/caffe-master
  2. sudo cp Makefile.config.example Makefile.config
  3. sudo gedit Makefile.config

修改如下节点:

  • #USE_CUDNN:=1 改为 USE_CUDNN:=0   (不使用CUDN,注意去掉前边的#符号)
  • #OPENCV_VERSION := 3  OPENCV_VERSION := 3 
  • #WITH_PYTHON_LAYER :=1 改为  WITH_PYTHON_LAYER :=1(python接口)


ubuntu16.04版本相比14.04版本,文件包含位置有变化,所以以下两处一定要做更改:


INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include 改为:

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

LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib  改为:

LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu/hdf5/serial



7. 修改makefile文件


打开caffe-master目录下的makefile文件,做如下修改:


NVCCFLAGS +=-ccbin=$(CXX) -Xcompiler-fPIC $(COMMON_FLAGS)  修改为:

NVCCFLAGS += -D_FORCE_INLINES -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)



8. 编译caffe


在caffe-master目录运行终端,输入:

sudo make all -j4

Ubuntu16.04 配置 caffe (仅CPU)



9. 测试caffe是否安装成功


运行以下指令:

sudo make runtest

运行之后有以下结果,说明caffe配置成功:

Ubuntu16.04 配置 caffe (仅CPU)



推荐阅读
  • 本文探讨了将PEBuilder转换为DIBooter.sh的方法,重点介绍了如何将DI工具集成到启动层,实现离线镜像引导安装。通过使用DD命令替代传统的grub-install工具,实现了GRUB的离线安装。此外,还详细解析了bootice工具的工作原理及其在该过程中的应用,确保系统在无网络环境下也能顺利引导和安装。 ... [详细]
  • 本文详细介绍了如何在Linux系统中搭建51单片机的开发与编程环境,重点讲解了使用Makefile进行项目管理的方法。首先,文章指导读者安装SDCC(Small Device C Compiler),这是一个专为小型设备设计的C语言编译器,适合用于51单片机的开发。随后,通过具体的实例演示了如何配置Makefile文件,以实现代码的自动化编译与链接过程,从而提高开发效率。此外,还提供了常见问题的解决方案及优化建议,帮助开发者快速上手并解决实际开发中可能遇到的技术难题。 ... [详细]
  • 在Python 3环境中,当无法连接互联网时,可以通过下载离线模块包来实现模块的安装。具体步骤包括:首先从PyPI网站下载所需的模块包,然后将其传输到目标环境,并使用`pip install`命令进行本地安装。此方法不仅适用于单个模块,还支持依赖项的批量安装,确保开发环境的完整性和一致性。 ... [详细]
  • 在Linux系统中将Python更新至3.7版本的方法如下:首先,从Python官方网站下载Python 3.7的安装包,例如使用 `wget` 命令下载 `Python-3.7.3.tgz`。其他版本的下载链接也可从Python官网获取。接下来,解压下载的文件并进入解压后的目录,运行配置脚本和编译命令以完成安装。确保在安装过程中添加Python 3.7到系统的环境变量中,以便全局使用。此外,建议检查当前系统的Python版本,以避免冲突。 ... [详细]
  • Ceph API微服务实现RBD块设备的高效创建与安全删除
    本文旨在实现Ceph块存储中RBD块设备的高效创建与安全删除功能。开发环境为CentOS 7,使用 IntelliJ IDEA 进行开发。首先介绍了 librbd 的基本概念及其在 Ceph 中的作用,随后详细描述了项目 Gradle 配置的优化过程,确保了开发环境的稳定性和兼容性。通过这一系列步骤,我们成功实现了 RBD 块设备的快速创建与安全删除,提升了系统的整体性能和可靠性。 ... [详细]
  • 在Linux环境下编译安装Heartbeat时,常遇到依赖库缺失的问题。为确保顺利安装,建议预先通过yum安装必要的开发库,如glib2-devel、libtool-ltdl-devel、net-snmp-devel、bzip2-devel和ncurses-devel等。这些库是编译过程中不可或缺的组件,能够有效避免编译错误,确保Heartbeat的稳定运行。 ... [详细]
  • 深入解析 C 语言与 C++ 之间的差异及关联
    深入解析 C 语言与 C++ 之间的差异及关联 ... [详细]
  • 如何利用Apache与Nginx高效实现动静态内容分离
    如何利用Apache与Nginx高效实现动静态内容分离 ... [详细]
  • NOI题库(noi.openjudge.cn):1.7 编程基础之字符串 T31 至 T35 详解与解析
    T31至T35题目详细解析了字符串处理的基础编程技巧。其中,T31涉及P型编码,要求将一个仅包含数字字符的字符串转换为特定格式的编码串。例如,输入字符串“111223”应输出相应的P型编码结果。其他题目则涵盖了字符串的多种操作和变换方法,包括但不限于子串提取、字符替换和模式匹配等,旨在提升编程者对字符串处理的综合能力。 ... [详细]
  • Windows环境下详细教程:如何搭建Git服务
    Windows环境下详细教程:如何搭建Git服务 ... [详细]
  • 在第七天的深度学习课程中,我们将重点探讨DGL框架的高级应用,特别是在官方文档指导下进行数据集的下载与预处理。通过详细的步骤说明和实用技巧,帮助读者高效地构建和优化图神经网络的数据管道。此外,我们还将介绍如何利用DGL提供的模块化工具,实现数据的快速加载和预处理,以提升模型训练的效率和准确性。 ... [详细]
  • 前言: 网上搭建k8s的文章很多,但很多都无法按其说明在阿里云ecs服务器成功搭建,所以我就花了些时间基于自己成功搭建k8s的步骤写了个操作手册,希望对想搭建k8s环境的盆友有所帮 ... [详细]
  • tarzxvffilename.tar.gz顺便我们了解下linux下压缩与解压命令大全.tar解包:tarxvffilename.tar打包:tarc ... [详细]
  • 利用Mac上的Remote Desktop Manager实现与Ubuntu 16.04及Windows 10的远程桌面连接优化方案
    随着远程办公需求的增加,如何在不同操作系统之间高效地进行远程桌面连接成为了一个重要问题。本文介绍了一种利用Mac上的Remote Desktop Manager实现与Ubuntu 16.04及Windows 10远程桌面连接的优化方案。通过详细的操作步骤和配置方法,帮助用户在多平台环境中顺利进行远程工作,避免常见的技术障碍。 ... [详细]
  • 在 CentOS 7 上部署和配置 RabbitMQ 消息队列系统时,首先需要安装 Erlang,因为 RabbitMQ 是基于 Erlang 语言开发的。具体步骤包括:安装必要的依赖项,下载 Erlang 源码包(可能需要一些时间,请耐心等待),解压源码包,解决可能出现的错误,验证安装是否成功,并将 Erlang 添加到环境变量中。接下来,下载 RabbitMQ 的 tar.xz 压缩包,并进行解压和安装。确保每一步都按顺序执行,以保证系统的稳定性和可靠性。 ... [详细]
author-avatar
mhq3022863
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有