0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

firefly NCC S1--MDK - SSD模型工具包介绍

firefly 来源:firefly 作者:firefly 2019-11-18 14:10 次阅读

MDK - SSD

此快速入门指南适用于GTI提供的SSD模型工具包(MDK)。工具包包含两套工具,一个是模型开发工具,另一个是模型转换工具。模型开发工具在GTI_SSD_model_development_kit_v1-0目录下,模型转换工具在GTI_SSD_conversion_tool_v1-0目录下。

编译caffe源码请使用模型开发工具中提供的caffe-ssd源码。

文件结构建议按照压缩包的结构

1. 环境安装

环境依赖主要是caffe的环境依赖,python版本请使用python2。Ubuntu 16.04或Ubuntu 15.10可参考Ubuntu 16.04 or 15.10 Installation Guide,其它系统请参照Caffe Installation。

建议使用Ubuntu 16.04,否则模型转换工具可能无法运行。

以下为Ubuntu 16.04环境配置参考,摘抄自Ubuntu 16.04 or 15.10 Installation Guide,具体请参考原文。

1) 基础依赖安装:

sudo apt-get update && sudo apt-get upgrade && \ sudo apt-get install -y --no-install-recommends \ build-essential \ cmake \ git \ wget \ libatlas-base-dev \ libboost-all-dev \ libgflags-dev \ libgoogle-glog-dev \ libhdf5-serial-dev \ libleveldb-dev \ liblmdb-dev \ libopencv-dev \ libprotobuf-dev \ libsnappy-dev \ protobuf-compiler \ python-dev \ python-numpy \ python-pip \ python-setuptools \ python-scipy \ python-opencv \ libopenblas-dev

2) python2依赖安装

在caffe-ssd目录下执行以下命令:

cd python sudo pip install --upgrade pip && \ for req in $(cat requirements.txt) pydot; do sudo pip install $req; done

3) CUDA(英伟达显卡)

安装cuda:

cd /tmp sudo apt-get update && apt-get install wget -y --no-install-recommends && \ wget “https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/cuda-repo-ubuntu1604_8.0.61-1_amd64.deb” && \ sudo dpkg -i cuda-repo-ubuntu1604_8.0.61-1_amd64.deb && \ sudo apt-get update && \ sudo apt-get install -y cuda

安装CUDNN:

wget https://developer.download.nvidia.com/compute/redist/cudnn/v5.1/cudnn-8.0-linux-x64-v5.1.tgz && \ sudo tar -x*** cudnn-8.0-linux-x64-v5.1.tgz -C /usr/local && \ rm cudnn-8.0-linux-x64-v5.1.tgz && sudo ldconfig && \ cd -

4) 编译caffe-ssd

根据系统环境修改caffe-ssd根目录下Makefile.config的内容,然后执行以下命令进行编译:

make clean make all make pycaffe

如果编译出现错误,可跟据错误信息调整Makefile.config的内容,然后从新编译。

2. 模型训练

1) 数据准备

使用自己的数据集可参考Train SSD on the Custom Dataset。

SSD_typ模型应用于多目标检测,建议不超过20类。

SSD_min模型应用于单目标检测,特点是模型更小,速度更快!

以下以VOC0712数据集和ssd_typ_mdk为例。

首先,到The PASCAL Visual Object Classes Homepage下载,2007和2012年的数据集。将数据解压到$HOME/data/下,解压后文件结构如下:

data - VOCdevkit - VOC2007 - VOC2012

然后在caffe-ssd父目录上执行以下命令:

。/caffe-ssd/data/VOC0712/create_list.sh 。/caffe-ssd/data/VOC0712/create_data.sh

然后,复制caffe-ssd/data/VOC0712/目录下的文件到$HOME/data/VOCdevkit/VOC0712/lmdb/目录下:

labelmap_voc.prototxt -》 labelmap.prototxt test_name_size.txt -》 test_name_size.txt test.txt -》 test.txt trainval.txt -》 trainval.txt

同时修改$HOME/data/VOCdevkit/VOC0712/lmdb/下的目录VOC0712_test_lmdb为test_lmdb,VOC0712_trainval_lmdb为trainval_lmdb。

最后,修改ssd_typ_mdk下prototxt中网络描述文件中ip7_norm_mbox_conf 、conv6_2_mbox_conf_1、conv7_2_mbox_conf_1、conv8_2_mbox_conf_1四层的子层convolution_param的num_output的数值为126(类别数乘以6)。

GTI_SSD_DataSets_v1-0.tar.gz中的数据集可直接使用,无需以上操作

2) 开始训练

在ssd_typ_mdk下,执行以下命令链接lmdb:

ln -snf /data/VOCdevkit/VOC0712/lmdb lmdb

修改run_ssd_traning.sh中的内容

$TOOLS/caffe train \ --solver=$slovertxttyp \ --gpu 0 2》&1 | tee $LOG $@

为:

$TOOLS/caffe train \ --solver=$slovertxttyp \ --gpu 0 \ --weights=$ssd 2》&1 | tee $LOG $@

然后执行:

source run_ssd_traning.sh

开始训练。

3. 模型转换

由于依赖库版本的问题,建议使用Ubuntu 16.04

安装环境

在GTI_SSD_conversion_tool_v1-0/lightsprModelConvert目录下执行以下命令进行环境安装:

source setting_caffe.sh 。/install_opencv.sh 。/install_conversion_tool.sh

进行转换

将生成的模型放入inputs/SSD_typ并命名为SSD_typ_quant.caffemodel。

SSD_type模型使用以下命令进行转换:

make SSD_typ_vgg make SSD_typ_ssd

生成的模型为cnn_weights_SSD_typ/vgg.dat和cnn_weights_SSD_typ/ssd.bin

4. 模型使用

模型转换工具生成的vgg.dat和sdd.bin对应示例程序源码下Data/Models/gti2801/multi-object中的vgg.dat和sdd.bin可进行替换使用,同时替换labelmap.prototxt为对应的数据。或者修改示例源码中的对应变量的值。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    87

    文章

    11306

    浏览量

    209569
  • 嵌入式主板
    +关注

    关注

    7

    文章

    6085

    浏览量

    35352
  • Firefly
    +关注

    关注

    2

    文章

    538

    浏览量

    7052
收藏 人收藏

    评论

    相关推荐

    使用LabView SIT工具包链接Simulink模型的方法

    Simulink模型,直接打开VI点运行它会自动打开Simulink模型这样就不报错了。附件是SIT工具包的下载器和注册机
    发表于 04-10 14:31

    NI LabVIEW 模型接口工具包

    哪位大神有有 LabVIEW 模型接口工具包 ?跪求!
    发表于 02-15 00:44

    ARM KEIL™MDK工具包的操作流程

    本笔记介绍了ARM®KEIL™MDK工具包的操作流程,该工具包采用了μVision®和MicroSemi的SmartFusion2(™)系列,该系列包含嵌入式ARM®Cortex™-M
    发表于 08-29 07:39

    ARM KEIL™MDK工具包的操作流程

    本笔记介绍了ARM®KEIL™MDK工具包的操作流程,该工具包采用了μVision®和MicroSemi(Actel™)包含嵌入式ARM®Cortex™-M3处理器的全新智能融合2(S
    发表于 09-04 06:16

    固件工具包

    固件工具包 修改工具包 高兴向大家公布这个信息! 首先介绍一下这个工具地用途: 1、修改固件 - 通过此
    发表于 03-16 14:49 71次下载

    数字电源入门工具包演示

    本视频介绍了Microchip新推出的一款数字电源入门工具包,这款工具包采用了全新的dsPIC33EP “GS”系列器件。该器件提供双分区闪存,这样无需断电便能更新电源。
    的头像 发表于 06-07 13:46 3429次阅读

    PIC32以太网入门工具包的中文介绍和使用的详细概述

    本文档介绍了如何使用PIC32以太网入门工具包II(也称为“入门工具包”)开发工具在目标板上仿真和调试固件。 PIC32以太网入门工具包I
    发表于 06-07 17:28 19次下载

    低成本mTouch评估工具包的详细中文资料概述

    本文档介绍了如何将低成本mTouch评估工具包用作开发工具来评估mTouch 1D解决方案,以及如何基于该工具包来开发电容传感应用。
    发表于 06-06 10:29 9次下载

    LabVIEW网络讲坛第四季:介绍两种工具包的使用

    本讲主要为您介绍单元测试架构工具包与执行跟踪工具包的具体使用。
    的头像 发表于 06-25 13:55 3588次阅读
    LabVIEW网络讲坛第四季:<b class='flag-5'>介绍</b>两种<b class='flag-5'>工具包</b>的使用

    关于RL78/I1D解决方案工具包介绍

    瑞萨电子RL78/I1D解决方案工具包介绍视频
    的头像 发表于 07-23 00:49 3829次阅读

    Microchip数字电源入门工具包介绍

    视频简介:本视频介绍了Microchip新推出的一款数字电源入门工具包,这款工具包采用了全新的dsPIC33EP “GS”系列器件。该器件提供双分区闪存,这样无需断电便能更新电源。
    的头像 发表于 03-11 06:02 4439次阅读

    Keil MDK开发工具的软件和组件介绍

    这段教学视频介绍了ARM Keil MDK Version 5开发工具中的软件和组件
    的头像 发表于 07-02 13:10 5295次阅读

    使用最新的TAO工具包简化AI模型开发

      NVIDIA AI 企业 提供了对 TAO 工具包的企业支持,这是一个用于 AI 开发和部署的端到端软件套件。 TAO 工具包的新版本将包含在 NVIDIA AI Enterprise 的下一季度更新中。
    的头像 发表于 06-21 15:43 1439次阅读

    APM32F1xx_DFP 工具包

    APM32F1xx_DFP 工具包
    发表于 11-10 11:04 4次下载
    APM32F<b class='flag-5'>1</b>xx_DFP <b class='flag-5'>工具包</b>

    OneInstall工具包

    电子发烧友网站提供《OneInstall工具包.exe》资料免费下载
    发表于 08-18 14:54 0次下载
    OneInstall<b class='flag-5'>工具包</b>