【Caffe】Linux配置Pycaffe

2024-04-29 06:32
文章标签 配置 linux caffe pycaffe

本文主要是介绍【Caffe】Linux配置Pycaffe,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.caffe源码

使用git命令将github上caffe最新的代码下载下来。
(1)安装git:

sudo add-apt-repository ppa:git-core/ppa
sudo apt-get update
sudo apt-get install git

查看版本信息:

git --version

(2)下载源代码:

git clone https://github.com/BVLC/caffe.git

2. caffe配置

在源码的第一层目录中,有一个文件Makefile.config.example。首先进行文件拷贝:

cp Makefile.config.example Makefile.config

然后对Makefile.config进行修改:

# 如果使用CUDNN的话,需要改为下面的形式
USE_CUDNN := 1
# 如果是在CPU上进行开发,需要改为下面的形式
CPU_ONLY := 1
# 根据系统安装好的OpenCV版本进行设置,必须是系统环境下的OpenCV路径
OPENCV_VERSION := 3
# 根据实际的Python环境进行配置
PYTHON_INCLUDE := /usr/include/python3.5 \/usr/lib/python3.5/dist-packages/numpy/core/include
# 使用python的caffe层
WITH_PYTHON_LAYER := 1

3.caffe编译

j代表多线程编译。

make all -j8
make alltest -j8

编译python版本的caffe

make pycaffe

然后配置一下环境变量:

$sudo gedit ~/.bashrc添加: export PYTHONPATH=/path/to/caffe/python:$PYTHONPATH$sudo source ~/.bashrc

4.问题

1.error: hdf5.h: No such file or directory
解决方案:将/usr/include/hdf5/serial添加到文件Makefile.config的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/

但是待会会出现一个新的错误,找不到-lhdf5-lhdf5_hl文件。

修改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

2.如果是虚拟环境的话,如何配置python?

修改Makefile.config:

PYTHON_INCLUDE := /usr/include/python2.7 \/usr/lib/python2.7/dist-packages/numpy/core/include

修改为:

PYTHON_INCLUDE := ~/.pyenv/versions/3.6.0/include \~/.pyenv/versions/3.6.0/include/python3.6m \~/.pyenv/versions/env360/lib/python3.6/site-packages/numpy/core/include

其中路径前缀需要根据自己实际的环境进行配置。

PYTHON_LIB:=/usr/lib

修改为:

PYTHON_LIB:= ~/.pyenv/versions/env360/lib

这篇关于【Caffe】Linux配置Pycaffe的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/945336

相关文章

jdk1.8的Jenkins安装配置实践

《jdk1.8的Jenkins安装配置实践》Jenkins是一款流行的开源持续集成工具,支持自动构建、测试和部署,通过Jenkins,开发团队可以实现代码提交后自动进行构建、测试,并将构建结果分发到测... 目录Jenkins介绍Jenkins环境搭建Jenkins安装配置Jenkins插件安装Git安装配

Nginx之https证书配置实现

《Nginx之https证书配置实现》本文主要介绍了Nginx之https证书配置的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起... 目录背景介绍为什么不能部署在 IIS 或 NAT 设备上?具体实现证书获取nginx配置扩展结果验证

springboot3.x使用@NacosValue无法获取配置信息的解决过程

《springboot3.x使用@NacosValue无法获取配置信息的解决过程》在SpringBoot3.x中升级Nacos依赖后,使用@NacosValue无法动态获取配置,通过引入SpringC... 目录一、python问题描述二、解决方案总结一、问题描述springboot从2android.x

nginx跨域访问配置的几种方法实现

《nginx跨域访问配置的几种方法实现》本文详细介绍了Nginx跨域配置方法,包括基本配置、只允许指定域名、携带Cookie的跨域、动态设置允许的Origin、支持不同路径的跨域控制、静态资源跨域以及... 目录一、基本跨域配置二、只允许指定域名跨域三、完整示例四、配置后重载 nginx五、注意事项六、支持

Linux内核定时器使用及说明

《Linux内核定时器使用及说明》文章详细介绍了Linux内核定时器的特性、核心数据结构、时间相关转换函数以及操作API,通过示例展示了如何编写和使用定时器,包括按键消抖的应用... 目录1.linux内核定时器特征2.Linux内核定时器核心数据结构3.Linux内核时间相关转换函数4.Linux内核定时

Linux镜像文件制作方式

《Linux镜像文件制作方式》本文介绍了Linux镜像文件制作的过程,包括确定磁盘空间布局、制作空白镜像文件、分区与格式化、复制引导分区和其他分区... 目录1.确定磁盘空间布局2.制作空白镜像文件3.分区与格式化1) 分区2) 格式化4.复制引导分区5.复制其它分区1) 挂载2) 复制bootfs分区3)

Spring配置扩展之JavaConfig的使用小结

《Spring配置扩展之JavaConfig的使用小结》JavaConfig是Spring框架中基于纯Java代码的配置方式,用于替代传统的XML配置,通过注解(如@Bean)定义Spring容器的组... 目录JavaConfig 的概念什么是JavaConfig?为什么使用 JavaConfig?Jav

Spring Boot Interceptor的原理、配置、顺序控制及与Filter的关键区别对比分析

《SpringBootInterceptor的原理、配置、顺序控制及与Filter的关键区别对比分析》本文主要介绍了SpringBoot中的拦截器(Interceptor)及其与过滤器(Filt... 目录前言一、核心功能二、拦截器的实现2.1 定义自定义拦截器2.2 注册拦截器三、多拦截器的执行顺序四、过

springboot的controller中如何获取applicatim.yml的配置值

《springboot的controller中如何获取applicatim.yml的配置值》本文介绍了在SpringBoot的Controller中获取application.yml配置值的四种方式,... 目录1. 使用@Value注解(最常用)application.yml 配置Controller 中

springboot中配置logback-spring.xml的方法

《springboot中配置logback-spring.xml的方法》文章介绍了如何在SpringBoot项目中配置logback-spring.xml文件来进行日志管理,包括如何定义日志输出方式、... 目录一、在src/main/resources目录下,也就是在classpath路径下创建logba