caffe用自己的数据生成lmdb并训练MobileNet-SSD

Caffe训练MobileNet(一) | | | 前言 1.Caffe的编译 2.训练MobileNet 2.1生成数据txt文件 2.2转成lmdb 2.3计算均值 2.4编写网络配置文件 2.5编写训练配置文件 2.6训练 前言 之前一直用的是tensorflow,但是部署在移动端用到ncnn的时候,由于ncnn是基于caffe开发的,因此有很多坑,虽然还是成功在ncnn上跑通,并且准确率基本一致,(tenso... 阅读详情

0. 前言

1. 创建lmdb

  • 在caffe路径下执行
cd data
mkdir -p mydata/MobileNet-SSD
cd mydata/MobileNet-SSD
mkdir Annotations ImageSets JPEGImages
cd ImageSets
mkdir Main
cd ../..
cp ../VOC0712/* .   #coco_voc_map.txt用不着,只是为了省事,一起复制过来
cd ../../examples
mkdir mydata
  • 将图片复制到JPEGImages中,标签复制到Annotations中
  • Main里面放train.txt, trainval.txt, test.txt,val.txt,内容是你分好的不带后缀名的图片名字
    • 可以用类似这样的命令生成txt的内容ls|cut -d '.' -f 1 > ../ImageSets/Main/trainval.txt
  • 修改create_list.sh如下
#!/bin/bash
# 第一处修改
root_dir=/home/lwd/code/dl/ssd/caffe/data/mydata
sub_dir=ImageSets/Main
bash_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
for dataset in trainval test
do
  dst_file=$bash_dir/$dataset.txt
  if [ -f $dst_file ]
  then
    rm -f $dst_file
  fi
  # 第二处修改
  for name in MobileNet-SSD 
  do
    if [[ $dataset == "test" && $name == "VOC2012" ]]
    then
      continue
    fi
    echo "Create list for $name $dataset..."
    dataset_file=$root_dir/$name/$sub_dir/$dataset.txt

    img_file=$bash_dir/$dataset"_img.txt"
    cp $dataset_file $img_file
    sed -i "s/^/$name\/JPEGImages\//g" $img_file
    sed -i "s/$/.jpg/g" $img_file

    label_file=$bash_dir/$dataset"_label.txt"
    cp $dataset_file $label_file
    sed -i "s/^/$name\/Annotations\//g" $label_file
    sed -i "s/$/.xml/g" $label_file

    paste -d' ' $img_file $label_file >> $dst_file

    rm -f $label_file
    rm -f $img_file
  done

  # Generate image name and size infomation.
  if [ $dataset == "test" ]
  then
    $bash_dir/../../build/tools/get_image_size $root_dir $dst_file $bash_dir/$dataset"_name_size.txt"
  fi

  # Shuffle trainval file.
  if [ $dataset == "trainval" ]
  then
    rand_file=$dst_file.random
    cat $dst_file | perl -MList::Util=shuffle -e 'print shuffle(<STDIN>);' > $rand_file
    mv $rand_file $dst_file
  fi
done
  • 修改create_data.sh如下
cur_dir=$(cd $( dirname ${BASH_SOURCE[0]} ) && pwd )
root_dir=$cur_dir/../..

cd $root_dir

redo=1
# 第一处修改
data_root_dir="/home/lwd/code/dl/ssd/caffe/data/mydata"
# 第二处修改
dataset_name="mydata"
mapfile="$root_dir/data/$dataset_name/labelmap_voc.prototxt"
anno_type="detection"
db="lmdb"
min_dim=0
max_dim=0
width=0
height=0

extra_cmd="--encode-type=jpg --encoded"
if [ $redo ]
then
  extra_cmd="$extra_cmd --redo"
fi
for subset in test trainval
do
  python $root_dir/scripts/create_annoset.py --anno-type=$anno_type --label-map-file=$mapfile --min-dim=$min_dim --max-dim=$max_dim --resize-width=$width --resize-height=$height --check-label $extra_cmd $data_root_dir $root_dir/data/$dataset_name/$subset.txt $data_root_dir/$dataset_name/$db/$dataset_name"_"$subset"_"$db examples/$dataset_name
done
  • labelmap_voc.prototxt根据自己的类别修改

2. 训练

  • 在caffe目录下
mkdir snapshot
./build/tools/caffe train --solver=examples/MobileNet-SSD/voc/solver.prototxt
  • 配置文件里的路径要改成自己的
  • batch_size依照显卡口味设置
Mobilenet-ssd 目标检测(详细讲解) 配置及运行MobileNetSSDgithub资源:Caffe for SSD:https://github.com/weiliu89/caffe/tree/ssdMobileNet-SSD:https://github.com/chuanqi305/MobileNet-SSD配置及运行MobileNetSSD如果你需要用MobileNetSSD进行训练自己的数据集,你可能额外需要阅读一下其他参考... 阅读详情

相关推荐

MobileNet-SSD训练自己的数据集

一、配置 ubuntu18.04 ,显卡驱动,cuda10.1,cudnn7.6.5 查看cuda版本: cat /usr/local/cuda/version.txt 查看cudnn版本: cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2 二、安装配置Caffe-SSD-GPU annaconda下创建caffe环境 conda create -n caffe2 python=2.7 opencv安装:pip install ope

Sunhansong的博客 2061

caffe-ssd模型之目标检测详细过程分解(cars)

简介     为了加深对Caffe的理解,首先用ssd模型实现目标检测,基于上篇blog进行的caffe环境搭建基础,本篇框架依然用Ubantu16.04+CUDA8.0+CUDNN+Python2.7+caffe环境下搭建模型。具体过程如下: 一、数据准备      图像数据用的是车图像(cars_train),拿到车的图像时首先对图像进行预处理,因为我拿到的数据已经是加标好的数据,且加标...

G_yc1995的博客 2055

深度学习实现目标实时检测Mobilenet-ssd caffe实现

如何在嵌入式设备上跑通实时目标检测实在是太重要了,平常由于我们手上没有大显卡,只有一台笔记本或者一块小树莓派,毕竟大显卡非常昂贵,一块1080pi或者泰坦都得1w+ ,这些对于我们打工族来说实在是天价,前段时间微软开源了Moblenet,模型不到20M,精度也不低,刚好符合我们的要求,既然好用大家就应该拿来用,于是小编迫不及待用caffe实现了下,在此分享给大家,自己也有所记录。 首先我们看下效...

xiao__run的博客 1万+

matlab caffe的使用,使用caffe命令时Matlab运算符异常

我在运行这篇论文的代码yunx运行到第三步总是MATLAB运算符异常是怎么回事?我刚接触caffe,小白一枚,跪求帮助。我用的是windows系统,matlab2015b。Ting code for "Learning a Deep Convolutional Network for Image Super-Resolution" (ECCV 2014)and "Image Super-Reso...

weixin_30021053的博客 296

算法设计与分析 0-1背包问题 动态规划解法【超详细】

0-1背包问题 问题描述 给定i个物品和一个容量为的背包,物品的重量是Wi,其价值为Vi 物品个数为i,背包容量为C。 如何选择装入背包内的物品,使得装入背包中的物品的总价值最大? 其中,每种物品只有全部装入背包或不装入背包两种选择。 物品不能分割,不能重复使用。 动态规划算法思路 首先建立一个数组B[i][c],最上面一行表示背包容量,最左边一列表示物品编号,中间填充的数值表示当当前背包容量为C...

寒泉 4万+

滑模控制理论(SMC)概述

滑模控制理论(SMC)概述一、背景二、数学理论三、高维拓展四、分析 一、背景 滑模控制理论(Sliding Mode Control, SMC)是一种建立在现代控制理论基础上的控制理论,主要数学核心为李雅普诺夫函数。 滑模控制的核心思想是建立一个滑模面,将被控系统拉取到滑模面上来,使系统沿着滑模面运动。滑模控制的一个优势是无视外部扰动和不确定参数,采用一种比较“暴力”的方式达到控制的目的。 其思想和反步法有些类似,但数学实现起来更加方便而不抽象。相比反步法,滑模控制没有复杂的数学计算,也不会出现“微分爆炸”

高能阿博特的博客 6万+

Mobilenet-SSD训练环境搭建和训练自己的数据

环境 准备 编译Caffe 训练超参数详解 训练自己的数据 制作LMDB文件 训练 环境 Ubuntu14.04 GTX1070 gcc4.9.x(默认4.8,需升级) 准备 显卡驱动安装 http://www.nvidia.com/download/driverResults.aspx/130646/en-us (NVIDIA-Linux-x86_6...

易名 6902

薅“刷宝”羊毛的autojs脚本教程,简单粗暴好用!!!

本教程旨在帮助大家实现用手机或闲置手机来进行“刷宝”平台的收益,能薅多少米就看你的本事了,作者教你的是如何用autojs来进行脚本的挂机教程,掌握了这个思路后,你可以根据自己的实际需要来改进脚本或者撸别的平台:) 适用系统,**android4.0以上,苹果机暂不适用**(大多数android系统手机都是7.0以上,要查看自己手机是android几,见文件夹“视频教程-基础”>1.查看android版本的方法)

rousseaou8的博客 8万+

安装Caffe_ssd并用自己的数据训练MobileNetSSD模型

安装Caffe_ssd并用自己的数据训练MobileNetSSD模型 0 引言原来那台Dell电脑是Win10和Ubuntu16.04的双系统1 安装Caffe2 配置 MobileNet-ssd下载MobileNet-SSD测试demo参数文件和网络文件的详细说明3 利用自己的数据集训练自己的MobileNetSSD model制作数据集生成索引txt文件生成lmdb格式文件(caffe输入格式...

幽冥之花的博客 5881

golang 线上事故

golang 线上事故 最近公司要做大促的一些活动。并且单量,qps持续上涨。之前使用的是django python 语言做的一个服务端。目前已经部署的国家里面最多的国家会有300+个实例。大促期间还可能会增加一个实例数。这么多的实例部署,回滚的时间都会特变长,除了问题也不好定位。并且如此多的一个机器,连接数* 实例数也会导致DB等其他服务扛不住这么大的并发。所以决定上go服务解决性能问题。 ...

lcf枫的博客 1537

用 Python 和 uiautomation 实现微信批量发送

思路是这样,将要发送的人员名单(包括称呼)以及发送内容都维护到Excel里,程序运行时读取Excel里内容,自动搜索人员姓名(微信昵称或备注名),填入要发送的内容,拼接上称呼(如果需要的话)自动点击发送,这样轮巡直至名单人员全部发送完成。、

jankingdom的专栏 1471

Mobilenet-SSD训练VOC数据集

Mobilenet-SSD网络训练:VOC数据集 首先,用 Mobilenet-SSD网络进行训练,需要配置好自己的cuda环境,跑 Mobilenet-SSD的前提是要使用SSD框架,所以要编译安装caffe的ssd分支,caffe-ssd下载地址:https:/...

Danbinbo的博客 3415

uniapp - 实现集成调用zebra斑马打印机+打印标签+打印二维码详细实例代码,通过蓝牙连接打印机打印与通过打印机IP和端口两种方式适配斑马打印机(全平台兼容H5、微信小程序、苹果安卓App)

uniapp适配斑马打印机 实现标签打印,uniapp适配斑马打印机实现标签打印,uniapp调用zebra斑马打印机打印标签,uniApp连接传统蓝牙的斑马打印机打印,实现标签打印功能uniapp 蓝牙连接斑马打印机发送zpl指令打印,适配斑马(Zebra)牌打印机,小程序调用蓝牙打印机完整代码,uniapp 打印机wifi链接 蓝牙链接,uniapp斑马打印机,实现二维码标签展示以及打印,APP端连接打印机打印小票和标签,uniapp使用斑马打印中文不出来,打印机连接不上,打印没反应怎么办,打印报错,斑

🏆 前端领域优质创作者 1万+

自定义数据集训练SSD-MobileNet模型

利用SSD-MobileNet模型训练自己标注的数据集 (ubuntu16.04+caffe+python2.7)

WSNjiang的博客 1609

Google Play上架:谷歌2024年5月份审核政策改动,审核强度逐步提升

Google Play上架:谷歌2024年5月份审核政策改动,审核强度逐步提升

专业解决各种上架过包问题,专业团队专业处理 3187

RK3399快速上手 | 01- 开发环境搭建(固件烧写、编译工具链安装、kernel编译)

一、编译工具链 编译工具链使用gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu。 下载地址: https://releases.linaro.org/components/toolchain/binaries/6.3-2017.05/arm-linux-gnueabihf/ wget https://releases.linaro.org/components/toolchain/binaries/6.3-2017.05/arm-linux-gnueabi

Mculover666的博客(嵌入式) 8835

caffe-SSD配置及用caffe-MobileNet-SSD训练自己的数据集

1.配置 caffe-ssd 下载源码 github 地址: https://github.com/weiliu89/caffe 在命令行中输入: git clone https://github.com/weiliu89/caffe 下载完以后会得到一个名为 caffe 的文件夹,我们进入这个文件夹然后在此路径下打开命令行输入: git checkout ssd 来切换ca...

Chris_zhangrx的博客 1万+

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Google MobileNet-SSD检测网络的caffe实现

MobileNet-SSD 本文原文来源于GitHub,经本人翻译首发于优快云,仅供技术分享所用,不作商用。欢迎大家关注我的公众号: gbxiao992 原文链接:https://github.com/chuanqi305/MobileNet-SSD#mobilenet-ssd MobileNet-SSD检测网络的caffe实现,基于VOC0712数据集训练,mAP = 0.727。 ...

明柳梦少的博客 481

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

caffe-MobileNet-ssd训练及测试并训练自己的NWPU -VHR-10数据集

我的caffe-ssd已经配置好,这里也不再去讲。 我的caffe-ssd的路径为 /home/zhai/experiment/caffe-ssd-master/caffe 首先说下环境:ubuntu16.04,cuda9,cudnn7.5,python2.7.12,opencv3.4 参考: https://blog.youkuaiyun.com/qq_30011277/article/details/87557742 (主) https://blog.youkuaiyun.com/Chris_zhangrx...

zxmyoung的博客 1879

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Caffe-SSD-MobileNetV1

一.配置caffe-ssd github 地址: https://github.com/weiliu89/caffe 利用以下命令:下载caffe-ssd(自行改名) git clone https://github.com/chuanqi305/ssd.git cd caffe git checkout ssd 由于MobileNet多了relu6_layer、ConvolutionDe...

蘑菇菌的博客 1031

caffe-MobileNet-ssd环境搭建及训练自己的数据集模型

caffe-MobileNet-ssd环境搭建及训练自己的数据集模型 ************************************************************************************************************** 一、Ubuntu16.04环境设置 ①在Ubuntu中首先设置更新源,选择中国服务器中的a

cs_fang_dn的专栏 1万+

Caffe 学习系列(六):MobileNet-SSD 安装与训练

Caffe 学习系列(六):MobileNet-SSD训练自己的数据集 1 数据集转换 VOC数据集制作在yolo 学习系列(二):训练自己的数据集中已经介绍过了, 但是 caffe 使用的是 LMDB 数据集格式,使用 caffe 框架实现SSD与mobilenets-ssd训练,还需要将 VOC 数据集转换为 lmdb 格式。 1.1 说明 SSD提供了VOC数据到LMDB数据的转换脚本 ,...

la_fe_的博客 5389

如何训练自己的MobileNet-SSD模型:从数据准备到模型优化的完整教程

MobileNet-SSD是一种高效的目标检测模型,它结合了MobileNet的轻量级特性和SSD(Single Shot MultiBox Detector)的实时检测能力。本教程将带你逐步完成从数据准备到模型训练和优化的全过程,即使你是深度学习新手也能轻松上手。 ## 一、准备工作:环境与项目部署 在开始训练之前,我们需要先准备好必要的环境和项目文件。首先,克隆项目仓库到本地: ```b

gitblog_01145的博客 398

caffe学习(9):mobilenets-ssd训练测试

参考https://github.com/chuanqi305/MobileNet-SSD 下载源码 下载源码,解压,放在/home/jqy/jqy_caffe/caffe-gpu/caffe-ssd/examples/下 测试运行 修改/home/jqy/jqy_caffe/caffe-gpu/caffe-ssd/examples/MobileNet-SSD下的demo.py的路径如下 运...

weixin_42068754的博客 393

自动驾驶数据集BDD训练mobileNet-SSD <1>

自动驾驶数据集BDD训练mobileNet-SSD &lt;1&gt; 一、组织训练样本 1、json文件转换为xml文件 原始bdd数据集是json格式的标注文件,由于我使用caffe训练,所以必须要将其转化为 VOC的xml格式的标注文件。所以直接使用Python脚本将其转化为xml。bdd数据集中包含有10个类别,包括bus,light,sign,person,bike,truc...

qq_17278169的博客 4388

如何快速上手MobileNet-SSD:轻量级目标检测模型完整指南

MobileNet-SSD是一个基于Caffe框架实现的轻量级目标检测网络,预训练模型在VOC0712数据集上达到72.7%的mAP(平均精度均值),特别适合在资源受限的移动设备上部署。本文将带你快速了解这个强大的目标检测工具,从环境搭建到实际应用,让你轻松掌握实时物体识别技术。 ## 📌 项目核心优势 MobileNet-SSD结合了MobileNet的高效特征提取能力和SSD(Singl

gitblog_00601的博客 988
上一篇: darknet模型转openvino
下一篇: openvino部署YOLOv3
刀么克瑟拉莫
博客等级 码龄14年 68粉丝 268原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

刀么克瑟拉莫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值