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

PyFasterRCNN配置详解与优化指南

本文主要讲解Faster-RCNN的配置过程,以及配置过程中遇到问题的解决方案。1.下载工程gitclone--recursivehttps:github.comr

本文主要讲解Faster-RCNN的配置过程,以及配置过程中遇到问题的解决方案。

1. 下载工程

git clone --recursive https://github.com/rbgirshick/py-faster-rcnn.git

 代码存放的位置,以及文件中包含的东西,如下图所示:

 2. 编译caffe

cd /home/wdong/code/py-faster-rcnn/caffe-fast-rcnn
cp Makefile.config.example Makefile.config
sudo gedit Makefile.config

USE_CUDNN := 1前边的注释取消 , 如下:

WITH_PYTHON_LAYER := 1前边的注释取消 , 如下:

INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include 后添加 /usr/include/hdf5/serial,如下:

make -j4 && make pycaffe

会发现报错,报错如下:

主要是因为我使用的是CUDNN5.1版本,该版本不支持py-faster-rcnn,这里给出一种解决方案:

之前我们安装的caffe的目录是 /home/wdong/caffe 替换目录 /home/wdong/code/py-faster-rcnn/caffe-fast-rcnn 中对应的文件:

include/caffe/layers/cudnn_relu_layer.hpp,
src/caffe/layers/cudnn_relu_layer.cpp,
src/caffe/layers/cudnn_relu_layer.cuinclude/caffe/layers/cudnn_sigmoid_layer.hpp,
src/caffe/layers/cudnn_sigmoid_layer.cpp,
src/caffe/layers/cudnn_sigmoid_layer.cuinclude/caffe/layers/cudnn_tanh_layer.hpp,
src/caffe/layers/cudnn_tanh_layer.cpp,
src/caffe/layers/cudnn_tanh_layer.cuinclude/caffe/util/cudnn.hpp

 

cd /home/wdong/code/py-faster-rcnn/caffe-fast-rcnn/src/caffe/layers
sudo gedit cudnn_conv_layer.cu#将 cudnnConvolutionBackwardData_v3 修改为 cudnnConvolutionBackwardData
#将 cudnnConvolutionBackwardFilter_v3 修改为 cudnnConvolutionBackwardFilter

重新make

make clean
make -j4

make pycaffe

3. 下载faster_rcnn_models 和 imagenet_models

链接:https://pan.baidu.com/s/1dKkYZwuEJ6cYHIr9FwMw5A 
提取码:zb6y 

 

拷贝到 /home/wdong/code/py-faster-rcnn/data/ 目录下

tar -xvf faster_rcnn_models.tgz

4. 运行demo.py

此处需要注意你的硬件情况,官方的给的要求如下:

考虑到本机配置的GPU为 1060,显存只有6G,故 这里只能调用 ZF_faster_rcnn_final.caffemodel,如果调用VGG16会报错。

在终端进行,输入:

./tools/demo.py --net zf

发现报错,报错如下:

产生bug的原因,没有切换权限,解决方案:

sudo ./tools/demo.py --net zf

 运行结果如下:


推荐阅读
  • 本文详细介绍了如何在 Ubuntu 14.04 系统上搭建仅使用 CPU 的 Caffe 深度学习框架,包括环境准备、依赖安装及编译过程。 ... [详细]
  • OpenWrt 是一款高度可定制的嵌入式 Linux 发行版,广泛应用于无线路由器等领域,拥有超过百个预装软件包。本文详细探讨如何在 OpenWrt 上通过 Luci 构建自定义模块,以扩展其功能。 ... [详细]
  • 本文介绍了在Makefile及Android.mk文件中添加打印输出信息的方法,并详细解析了Android编译过程中的关键步骤,包括环境变量的设置与编译脚本的执行。 ... [详细]
  • 本文介绍如何在Ubuntu环境下为OpenWrt系统构建并安装首个'Hello World'应用程序的IPK包。文章不仅涵盖了基本的环境搭建,还详细说明了代码编写、Makefile配置及最终的IPK包生成与安装过程。 ... [详细]
  • 本文深入探讨了在安装PostgreSQL数据库系统时,执行Configure、Make及Make Install命令的具体含义与作用。 ... [详细]
  • 本文详细记录了在Ubuntu 9.10操作系统上从零开始搭建LAMP(Linux, Apache, MySQL, PHP)环境的过程,包括遇到的问题及解决方案。旨在为初次尝试搭建LAMP环境的开发者提供参考。 ... [详细]
  • QEMU环境下加载首个Linux驱动模块
    本文介绍了如何在Ubuntu 20.04系统上使用QEMU虚拟机加载一个简单的Linux驱动模块。此过程涉及Linux内核4.0版本的配置与编译。 ... [详细]
  • 本文详细介绍了在 CentOS 7 系统中安装 Python 3.7 的步骤,包括编译工具的安装、Python 3.7 源码的下载与编译、软链接的创建以及常见错误的处理方法。 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • CentOS7源码编译安装MySQL5.6
    2019独角兽企业重金招聘Python工程师标准一、先在cmake官网下个最新的cmake源码包cmake官网:https:www.cmake.org如此时最新 ... [详细]
  • 本文详细介绍了如何在 Spring Boot 应用中通过 @PropertySource 注解读取非默认配置文件,包括配置文件的创建、映射类的设计以及确保 Spring 容器能够正确加载这些配置的方法。 ... [详细]
  • 使用Python在SAE上开发新浪微博应用的初步探索
    最近重新审视了新浪云平台(SAE)提供的服务,发现其已支持Python开发。本文将详细介绍如何利用Django框架构建一个简单的新浪微博应用,并分享开发过程中的关键步骤。 ... [详细]
  • 本文详细介绍了如何通过修改Lua源码或使用动态链接库(DLL)的方式实现Lua与C++之间的高级交互,包括如何编译Lua源码、添加自定义API以及在C++中加载和调用Lua脚本。 ... [详细]
  • 我们正在使用GNU Make来构建我们的系统,在makefile文件的末尾,我们通过一个名为Makedepends的包含来生成一系列的.d文件。然而,当文件被删除或移动时,依赖关系会中断,我们需要寻找一种方法来优雅地处理这种情况。 ... [详细]
  • C基本语法C程序可以定义为对象的集合,这些对象通过调用彼此的方法进行交互。现在让我们简要地看一下什么是类、对象,方法、即时变量。对象-对象具有状态和行为 ... [详细]
author-avatar
信步老街
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有