前言

最近利用Faster R-CNN训练数据,使用ZF模型,效果无法有效提高。就想尝试对ZF的网络结构进行改造,记录下具体操作。

一、更改网络,训练初始化模型

这里为了方便,我们假设更换的网络名为LeNet。

首先,需要先训练在Faster R-CNN中用来初始化网络的模型:LeNet.caffemodel。

这里比较简单,直接用完整的LeNet去训练一部分数据(VOC2007,VOC2012均可),数据初始大小resize为224*224,即可得到初始化网络的模型。

二、在Faster R-CNN中更相关内容(Faster R-CNN是基于matlab)

1.文件夹"experiments":

(1)添加文件script_faster_rcnn_VOC2007_LeNet.m(内容同script_faster_rcnn_VOC2007_ZF.m,将文件中的ZF替换为LeNet)。

(2)子文件夹"+Model"添加文件LeNet_for_Faster_RCNN_VOC2007.m(内容同ZF_for_Faster_RCNN_VOC2007.m,将文件中的ZF替换为LeNet)

(3)子文件夹"models"中内容也需要更换,具体改动见下面"文件夹"models"中内容修改和添加"

2.文件夹"fetch_data"中:

(1)添加文件fetch_model_LeNet.m(内容同fetch_model_ZF.m,将ZF替换为LeNet)

3.文件夹"functions":

(1)子文件夹"rpn"中proposal_train.m部分内容修改:

同理 proposal_test.m。

(2) 子文件夹"fast_rcnn"中fast_rcnn_train.m文件修改如同(1)。

4.文件夹"models":

选取子文件夹"rpn_prototxts"为例

(1)添加文件夹"LeNet",将文件夹"ZF"中的所有文件都拷贝过来,然后对每个文件进行修改:

  train_val.prototxt:将主体网络ZF替换为LeNet,然后对文件里的参数作出更改,如下图。

  test.prototxt:将主体网络ZF替换为LeNet即可,并修改网络名称为LeNet。

  solver_xxxx.prototxt:

(2)添加文件夹"LeNet_fc6",将文件夹"ZF_fc6"中的所有文件都拷贝过来,然后对每个文件进行修改,修改方式如上。

  对于子文件夹"fast_rcnn_prototxts"来说,添加和修改方式如上述(1)(2)一致。

三、总结

做完上述工作,即可顺利的利用自己的网络来进行Faster R-CNN的训练了。

Faster R-CNN利用新的网络结构来训练的更多相关文章

  1. R语言利用ROCR评测模型的预测能力

    R语言利用ROCR评测模型的预测能力 说明 受试者工作特征曲线(ROC),这是一种常用的二元分类系统性能展示图形,在曲线上分别标注了不同切点的真正率与假正率.我们通常会基于ROC曲线计算处于曲线下方的 ...

  2. 利用caffe的solverstate断点训练

    你可以从系统 /tmp 文件夹获取,名字是什么 caffe.ubuntu.username.log.INFO.....之类 ====================================== ...

  3. R中利用apply、tapply、lapply、sapply、mapply、table等函数进行分组统计

    apply函数(对一个数组按行或者按列进行计算): 使用格式为: apply(X, MARGIN, FUN, ...) 其中X为一个数组:MARGIN为一个向量(表示要将函数FUN应用到X的行还是列) ...

  4. R语言︱构造新序列

    1.数值构造函数rep与seq #数值构造rep与seq rep(1:4,each=2)#依次重复1:4两遍 rep(1:4,2) #注意,重复1:4两遍 seq(from=3,to=5,by=0.2 ...

  5. 太恐怖了!黑客正在GPON路由器中利用新的零日漏洞

    即使在意识到针对GPONWi-Fi路由器的各种主动网络攻击之后,如果您还没有将其从互联网上带走,那么请小心,因为一个新的僵尸网络已加入GPON组织,该组织正在利用未公开的零日漏洞(零时差攻击). 来自 ...

  6. 利用新浪云平台(SAE) 搭建 HUSTOJ 简易教程

    前言: OnlineJudge(OJ)是一种代码在线判定平台,这里有许多的编程题目供你选择,你可以选择题目提交代码,OJ会自动返回你的代码的判定结果.是一种很方便的编程.算法练习平台.详情可见:百度百 ...

  7. R中利用SQL语言读取数据框(sqldf库的使用)

    熟悉MySQL的朋友可以使用sqldf来操作数据框 # 引入sqldf库(sqldf) library(sqldf) # 释放RMySQL库的加载(针对sqldf报错) #detach("p ...

  8. 如何利用新浪官方的短网址API接口实现T.cn短链接的压缩生成

    短网址的实现原理就是有一个数据表会配置文件将短网址和实际网址进行对应,当请求某个短网址时,程序跳转到对应的实际网址上去,从而实现网址的访问.目前国内最稳定最好用的是新浪T.cn短链接. 之前新浪提供了 ...

  9. 警惕黑客利用新方法绕过Office安全链接

    东方联盟黑客安全研究人员透露,一些黑客已经发现绕过MicrosoftOffice365的安全功能,该功能最初旨在保护用户免受恶意软件和网络钓鱼攻击. 被称为安全链接的功能已被包含在Office365软 ...

随机推荐

  1. Redhat 企业版 LINUX AS5.0 下载地址

    http://www.5dlinux.com/article/1/2007/linux_7905.html最新的企业版Linux操作系统Red Hat Enterprise Linux 5.沉寂两年多 ...

  2. Swashbuckle一个webapi调试利器

    开发weibapi通常会使用postman或者其他模拟http请求的工具去模拟请求.但是这些工具需要自己保存请求地址的url以及参数 每次我都是先查询wiki看参数. 看见同事再用Swashbuckl ...

  3. 64位Windows系统如何配置32位ODBC数据源

    在64位Windows系统中,默认“数据源(ODBC)”是64位的,包括“控制面板->管理工具->数据源 ”或在“运行”中直接运行“ODBCAD32”程序.如果客户端是32位应用程序,仍然 ...

  4. atom搭建markdown环境及问题

    1. 搭建markdown环境 > 禁用atom自带的markdown-preview插件(功能简单) > 安装插件:markdown-preview-plus@2.4.16(在markd ...

  5. unity, GetComponent<MeshRenderer>().sharedMaterial 与 GetComponent<MeshRenderer>().material

    我多个物体用的是同一个material,当我用gameObject.GetComponent<MeshRenderer>().sharedMaterial.SetColor("_ ...

  6. atitit.http get post的原理以及框架实现java php

    atitit.http get post的原理以及框架实现java php 1. 相关的设置 1 1.1. urlencode 1 1.2. 输出流的编码 1 1.3. 图片,文件的post 1 2. ...

  7. CCNA2.0笔记_ipv6的EIGRP

    IPv6的eigrp特征: 邻居发现 增量更新 快速收敛 负载均衡 三个表 -邻居表 -拓扑表 -路由表 配置ipv6的eigrp Router(config)#ipv6 unicast-routin ...

  8. JavaScript学习日志(1)

    javascript用法: 1.HTML中的脚本必须位于<script>与</script>标签之间,可被放置在HTML页面的<body>和<head> ...

  9. PHP学习笔记(13)班级和学生管理---班级

    两个文件夹,一个班级cls,一个学生stu. 两个表,一个班级cls,一个学生stu. 每个文件夹里有7个php文件:主界面cls.php-------增add.php,insert.php----- ...

  10. 由Python的一个小例子想到的

    习题: L = [1,2] L.append(L) Print L 问,结果是什么. 结果是,[1,2,[...]] 这是什么意思呢?就是说[...]表示的对[1,2]的无限循环.这一点是在C#等静态 ...