要训练ssd基本都是在liu wei框架下改,生成lmdb这一关照葫芦画瓢总遇坑,记录之:

1. labelmap_voc.prototxt要根据自己的分类修改,比如人脸检测改成这样:

item {
name: "none_of_the_above"
label:
display_name: "background"
}
item {
name: "face"
label:
display_name: "face"
}

这里只有两类:背景、脸,因此训练的时候也要记得num_classes改成2(20分类的voc是21)

2. 路径一定要写对,确认路径写对的情况下如果还是报找不到的错可能是字符问题。

解决方案是在两行sed中间加上一行:

 sed -i "s/^/$name\/JPEGImages\//g" $img_file
sed -i 's/^M//g' $img_file
sed -i "s/$/.jpg/g" $img_file

其中^M不是键盘直接输入的,是ctrl+v ctrl+M连续输入

3. 默认是jpg格式文件,如果是png,需要改两个地方:

creat_list.sh里:

sed -i "s/$/.jpg/g" $img_file 

creat_data.sh

extra_cmd="--encode-type=jpg --encoded"   

剩下的可能就是xml格式不对,比如<name>face<name>等处在生成xml时候搞错了;

执行creat_data.sh时经常会报bounding box irregular,不知道对结果有什么影响,能用。

-------------------------------------------------------------------------

faster rcnn给了python脚本处理,在./lib/dataset目录下,所以不用提前生成lmdb,把pascal_voc格式的数据拷贝到./data/VOCdevkit2007目录下即可,参考这里修改基本上可以满足训练要求。

caffe生成voc格式lmdb的更多相关文章

  1. 利用caffe生成 lmdb 格式的文件,并对网络进行FineTuning

    利用caffe生成 lmdb 格式的文件,并对网络进行FineTuning 数据的组织格式为: 首先,所需要的脚本指令路径为: /home/wangxiao/Downloads/caffe-maste ...

  2. Python生成PASCAL VOC格式的xml标注文件

    Python生成PASCAL VOC格式的xml标注文件 PASCAL VOC数据集的标注文件是xml格式的.对于py-faster-rcnn,通常以下示例的字段是合适的: <annotatio ...

  3. caffe SSD目标检测lmdb数据格式制作

    一.任务 现在用caffe做目标检测一般需要lmdb格式的数据,而目标检测的数据和目标分类的lmdb格式的制作难度不同.就目标检测来说,例如准备SSD需要的数据,一般需要以下几步: 1.准备图片并标注 ...

  4. 用Caffe生成对抗样本

    同步自我的知乎专栏:https://zhuanlan.zhihu.com/p/26122612 上篇文章 瞎谈CNN:通过优化求解输入图像 - 知乎专栏 中提到过对抗样本,这篇算是针对对抗样本的一个小 ...

  5. 训练自己数据-xml文件转voc格式

    首先我们有一堆xml文件 笔者是将mask-rcnn得到的json标注文件转为xml的 批量json转xml方法:https://www.cnblogs.com/bob-jianfeng/p/1112 ...

  6. Rss 订阅:php动态生成xml格式的rss文件

    Rss 简介: 简易信息聚合(也 叫聚合内容)是一种描述和同步网站内容的格式.使用RSS订阅能更快地获取信息,网站提供RSS输出,有利于让用户获取网站内容的最新更新.网络用户可以在客户端借助于支持RS ...

  7. 多个文件下载打包生成zip格式下载

    这个多个文件下载生成zip格式必须先引用一个ICSharpCode.SharpZipLib.dll. 代码如下  //将多个文件打包成压缩文件zip格式下载         protected voi ...

  8. js 生成 yyyy-mm-dd 格式的逼格姿势

    关于 js 生成 yyyy-mm-dd 格式,往往都会采取手动拼接,一般不愿意为了小功能而去动用 momentjs 之类的插件. ps: 只分享简单方法,网上有 N 多 dateformat 代码,这 ...

  9. 通过OpenSSL来生成二进制格式证书文件(pfx和cer)

    1.生成RSA字符串私钥 genrsa -out private-rsa.key 2.由1中私钥导出*.cer二进制公钥文件 req -new -x509 -key private-rsa.key - ...

随机推荐

  1. oracle日志归档空间清理

    进入机器,设置环境变量,如: export ORACLE_HOME=/main/app/oracle/product//db_1 export ORACLE_SID=devdb 然后切换oracle用 ...

  2. bat删除过期文件(FORFILES)

    关键词:bat删除过期文件,bat,FORFILES 原文:https://blog.csdn.net/sandy9919/article/details/82932460 --最佳实践 :: IIS ...

  3. String[]与List<String>的相互转换

    String[]转List String[] arr = new String[]{"a","b","c"}; List<String ...

  4. jenkins+maven+gitlab触发构建

    1.安装插件 安装gitlab插件 回到项目配置在“构建触发器”那里有一个Build when a change is pushed to GitLab. GitLab webhook选项复制选项里的 ...

  5. host文件

    # Copyright (c) 1993-2009 Microsoft Corp. # # This is a sample HOSTS file used by Microsoft TCP/IP f ...

  6. Python3学习之路~5.3 random模块

    random模块常用方法: import random # 随机数 print(random.random()) # 生成一个0到1的随机浮点数,0 <= n < 1.0 print(ra ...

  7. 使用python脚本实现统计日志文件中的ip访问次数

    使用python脚本实现统计日志文件中的ip访问次数,注意此脚本只适用ip在每行开头的日志文件,需要的朋友可以参考下 适用的日志格式: 106.45.185.214 - - [06/Aug/2014: ...

  8. Linux系统启动和内核管理

    Linux组成 由 kernel 和 rootfs 组成 单内核:(进程管理,内存管理,网络管理, 驱动程序,文件系统, 安全功能) /boot/vmlinuz-VERSION-release 辅助的 ...

  9. Mongodb 基础 查询表达式

    数据库操作 查看:show dbs; 创建:use dbname; // db.createCollection('collection_name');    隐式创建,需要创建的数据库中有表才表示创 ...

  10. inner join, left join, right join 和 full join

    inner join:理解为“有效连接”,两张表中都有的数据才会显示left join:理解为“有左显示”,比如on a.field=b.field,则显示a表中存在的全部数据及a.b中都有的数据,a ...