【手把手AI项目】四、Caffe_ssd安装以及利用VOC2012,VOC2007数据集测试VGG_SSD网络

本文主要是介绍【手把手AI项目】四、Caffe_ssd安装以及利用VOC2012,VOC2007数据集测试VGG_SSD网络,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

安装caffe_ssd

前提:

  • linux双系统
  • 原生caffe安装配置

caffe_ssd:https://github.com/weiliu89/caffe/tree/ssd

git clone https://github.com/weiliu89/caffe.git
cd caffe
git checkout ssd  #这句一定要有,相当于从origin转到一个tree去可以理解为转到这个仓库的一个新的分支当中去,这个才是真正的caffe_ssd 所以这也就是网址和 git clone 网址不一样的原因,因为需要转分支

之后的编译过程和我另外一篇博文完全一致,出现error解决方式在文章下方和过程中都有提到 https://blog.csdn.net/qq_33431368/article/details/84717053
sudo make all -j8 可能出现error
在这里插入图片描述解决办法
修改Makefile ,line181 加入boost_regex,如下图
在这里插入图片描述成功编译
在这里插入图片描述

sudo make pycaffe -j8

下载数据集VOC2012 2007进行测试caffe_ssd(VGGnet)

下载预训练模型  https://gist.github.com/weiliu89/2ed6e13bfd5b57cf81d6
如果进不去,刷不出来网页,不要着急因为需要vpn才可以 参考以下这篇文章
如何在Ubuntu16.04访问国外网站——lantern2018-07-16
最后将model放到

$CAFFE_ROOT/models/VGGNet/

如下图我的放置所示
在这里插入图片描述
下载dataset VOC2012 VOC2007

cd $HOME/data  #在自己的home下新建一个data 文件夹
wget http://host.robots.ox.ac.uk/pascal/VOC/voc2012/VOCtrainval_11-May-2012.tar
wget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtrainval_06-Nov-2007.tar
wget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtest_06-Nov-2007.tar

如下图所示
在这里插入图片描述

下载步骤也可以在以下网站完成:

https://pjreddie.com/projects/pascal-voc-dataset-mirror/

在这里插入图片描述
解压

tar -xvf VOCtrainval_11-May-2012.tar
tar -xvf VOCtrainval_06-Nov-2007.tar
tar -xvf VOCtest_06-Nov-2007.tar

在这里插入图片描述
之后把VOC格式转换为caffe输入的lmdb格式

cd caffe
./data/VOC0712/create_list.sh
./data/VOC0712/create_data.sh

在这里插入图片描述
执行两个shell文件,生成train_list test_list文件以及进一步生成lmdb格式文件
在这里插入图片描述
在这里插入图片描述

cd caffe  #一定要先cd 到caffe的根目录下再执行程序才能成功
python examples/ssd/ssd_pascal.py

直接执行会出现以下问题(具体因为./build/tools/caffe train的路径为caffe_ssd当前目录下的路径)
在这里插入图片描述
执行开始后可能出现error:
在这里插入图片描述
解决办法
根据你的显卡个数来定义GPU的参数
我这里只有一个1060ti所以参数改为如下所示,在ssd_pascal.py 中改为 gpus = “0”
在这里插入图片描述
如果CPU则直接删掉,GPU为一块显卡则为 “0”,以此列推 三块显卡为"0,1,2"
我只有一块显卡 改为如下图:
在这里插入图片描述
但是可能还会有这些错误,如果是1080ti可能不会存在
F1212 16:38:34.863675 32735 syncedmem.cpp:56] Check failed: error == cudaSuccess (2 vs. 0) out of memory
在这里插入图片描述
解释一下,这是常见错误,就是显卡内存不够,所以batchsize 改小就好了。
找到ssd_pascal.py里面的batchsize处更改即可,改为32,不行的话就继续修改为16,或者8,甚至为4。
在这里插入图片描述
训练成功
在这里插入图片描述会发现随着迭代次数的增加,整个loss是不断减小的,直到趋于平稳。
如果你没有时间这边作者有自己训练好的下载测试一下美滋滋
https://drive.google.com/file/d/0BzKzrI_SkD1_WVVTSmQxU0dVRzA/view
下载解压,解压之后其实是个整体文件有网络结构文件prototxt文件,caffemodel,两个python文件,直接覆盖之前的VGGnet即可
在这里插入图片描述
文件情况如上图所示,caffemodel为input为300*300d迭代12000次的训练的caffemodel
执行

cd caffe
python models/VGGNet/VOC0712/SSD_300x300/score_ssd_pascal.py

这边用 examples/ssd/score_ssd_pascal.py也可以一样的,只是下载打包顺便用了,如果自己训练出了模型,不下载直接运行这个py文件也ok
在这里插入图片描述打开摄像头走一波

cd caffe
python examples/ssd/ssd_pascal_webcam.py

在这里插入图片描述
PC机上很快, 博主就不露脸了,长得丑 ,截图放出来三分之一能看到label和acc以及FPS即可

Reference

https://blog.csdn.net/zhang_shuai12/article/details/52346878

https://blog.csdn.net/yx2017/article/details/72870565

https://blog.csdn.net/QLULIBIN/article/details/81810501

这篇关于【手把手AI项目】四、Caffe_ssd安装以及利用VOC2012,VOC2007数据集测试VGG_SSD网络的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/161456

相关文章

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

AI绘图怎么变现?想做点副业的小白必看!

在科技飞速发展的今天,AI绘图作为一种新兴技术,不仅改变了艺术创作的方式,也为创作者提供了多种变现途径。本文将详细探讨几种常见的AI绘图变现方式,帮助创作者更好地利用这一技术实现经济收益。 更多实操教程和AI绘画工具,可以扫描下方,免费获取 定制服务:个性化的创意商机 个性化定制 AI绘图技术能够根据用户需求生成个性化的头像、壁纸、插画等作品。例如,姓氏头像在电商平台上非常受欢迎,

大模型研发全揭秘:客服工单数据标注的完整攻略

在人工智能(AI)领域,数据标注是模型训练过程中至关重要的一步。无论你是新手还是有经验的从业者,掌握数据标注的技术细节和常见问题的解决方案都能为你的AI项目增添不少价值。在电信运营商的客服系统中,工单数据是客户问题和解决方案的重要记录。通过对这些工单数据进行有效标注,不仅能够帮助提升客服自动化系统的智能化水平,还能优化客户服务流程,提高客户满意度。本文将详细介绍如何在电信运营商客服工单的背景下进行

基于MySQL Binlog的Elasticsearch数据同步实践

一、为什么要做 随着马蜂窝的逐渐发展,我们的业务数据越来越多,单纯使用 MySQL 已经不能满足我们的数据查询需求,例如对于商品、订单等数据的多维度检索。 使用 Elasticsearch 存储业务数据可以很好的解决我们业务中的搜索需求。而数据进行异构存储后,随之而来的就是数据同步的问题。 二、现有方法及问题 对于数据同步,我们目前的解决方案是建立数据中间表。把需要检索的业务数据,统一放到一张M

Zookeeper安装和配置说明

一、Zookeeper的搭建方式 Zookeeper安装方式有三种,单机模式和集群模式以及伪集群模式。 ■ 单机模式:Zookeeper只运行在一台服务器上,适合测试环境; ■ 伪集群模式:就是在一台物理机上运行多个Zookeeper 实例; ■ 集群模式:Zookeeper运行于一个集群上,适合生产环境,这个计算机集群被称为一个“集合体”(ensemble) Zookeeper通过复制来实现

这15个Vue指令,让你的项目开发爽到爆

1. V-Hotkey 仓库地址: github.com/Dafrok/v-ho… Demo: 戳这里 https://dafrok.github.io/v-hotkey 安装: npm install --save v-hotkey 这个指令可以给组件绑定一个或多个快捷键。你想要通过按下 Escape 键后隐藏某个组件,按住 Control 和回车键再显示它吗?小菜一碟: <template

CentOS7安装配置mysql5.7 tar免安装版

一、CentOS7.4系统自带mariadb # 查看系统自带的Mariadb[root@localhost~]# rpm -qa|grep mariadbmariadb-libs-5.5.44-2.el7.centos.x86_64# 卸载系统自带的Mariadb[root@localhost ~]# rpm -e --nodeps mariadb-libs-5.5.44-2.el7

Centos7安装Mongodb4

1、下载源码包 curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.2.1.tgz 2、解压 放到 /usr/local/ 目录下 tar -zxvf mongodb-linux-x86_64-rhel70-4.2.1.tgzmv mongodb-linux-x86_64-rhel70-4.2.1/

关于数据埋点,你需要了解这些基本知识

产品汪每天都在和数据打交道,你知道数据来自哪里吗? 移动app端内的用户行为数据大多来自埋点,了解一些埋点知识,能和数据分析师、技术侃大山,参与到前期的数据采集,更重要是让最终的埋点数据能为我所用,否则可怜巴巴等上几个月是常有的事。   埋点类型 根据埋点方式,可以区分为: 手动埋点半自动埋点全自动埋点 秉承“任何事物都有两面性”的道理:自动程度高的,能解决通用统计,便于统一化管理,但个性化定

性能测试介绍

性能测试是一种测试方法,旨在评估系统、应用程序或组件在现实场景中的性能表现和可靠性。它通常用于衡量系统在不同负载条件下的响应时间、吞吐量、资源利用率、稳定性和可扩展性等关键指标。 为什么要进行性能测试 通过性能测试,可以确定系统是否能够满足预期的性能要求,找出性能瓶颈和潜在的问题,并进行优化和调整。 发现性能瓶颈:性能测试可以帮助发现系统的性能瓶颈,即系统在高负载或高并发情况下可能出现的问题