CNN车型分类总结
最近在做一个CNN车型分类的任务,首先先简要介绍一下这个任务。
总共30个类,训练集图片为车型图片,类似监控拍摄的车型图片,训练集测试集安6:4分,训练集有22302份数据,测试集有14893份数据。
首先使用的是VGGNet网络,
nn.Sequential {
[input -> (1) -> (2) -> (3) -> (4) -> (5) -> (6) -> (7) -> (8) -> (9) -> (10) -> (11) -> (12) -> (13) -> (14) -> (15) -> (16) -> (17) -> (18) -> (19) -> (20) -> (21) -> (22) -> (23) -> (24) -> (25) -> output]
(1): nn.DataLayer
(2): cudnn.SpatialConvolution(3 -> 64, 6x6, 2,2, 2,2)
(3): cudnn.ReLU
(4): cudnn.SpatialMaxPooling(2x2, 2,2)
(5): cudnn.SpatialConvolution(64 -> 128, 5x5, 2,2, 2,2)
(6): cudnn.ReLU
(7): cudnn.SpatialMaxPooling(2x2, 1,1)
(8): cudnn.SpatialConvolution(128 -> 256, 3x3, 2,2, 2,2)
(9): cudnn.ReLU
(10): cudnn.SpatialMaxPooling(2x2, 1,1)
(11): cudnn.SpatialConvolution(256 -> 512, 2x2)
(12): cudnn.ReLU
(13): cudnn.SpatialMaxPooling(2x2, 1,1)
(14): cudnn.SpatialConvolution(512 -> 512, 2x2)
(15): cudnn.ReLU
(16): cudnn.SpatialMaxPooling(2x2, 1,1)
(17): nn.View(12800)
(18): nn.Linear(12800 -> 4096)
(19): cudnn.ReLU
(20): nn.Dropout(0.500000)
(21): nn.Linear(4096 -> 4096)
(22): cudnn.ReLU
(23): nn.Dropout(0.500000)
(24): nn.Linear(4096 -> 30)
(25): nn.LogSoftMax
}
网络参数如上。五个卷积层,三个全连接层。
数据预处理:每个图片scale成3*150*150大小。
实验结果:十余小时90%的正确率。(据之前结果最高到92%)
微调:使用Imagenet训练处的DataLayer,十余小时正确率达92%。(据之前结果最高到97%)
注意(源代码中数据预处理与训练过程中有一点不匹配,会导致维度出错的bug,具体错误请自行调试)
然后使用了Residual Learning的方法,使用的模型是ResNet-50。Model详见:http://ethereon.github.io/netscope/#/gist/db945b393d40bfa26006
使用了之前用ImageNet训练好的ResNet-50的模型进行retrain,将最后的全连接2048-1000的Linear换成了2048-30的Linear。
训练结果:十余小时94%的TOP1正确率。
网络结构需参考: BatchNormalization论文。
ResNet-50网络所需内存达到4000MB左右,需要两个GPU同时运行才能跑。
结构中所采用的1*1卷积大大减少了网络的参数,首先1*1进行降维,3*3卷积后再使用1*1进行升维。每次维度变化都为4倍。
数据预处理:输入为3*224*224。
收敛速度曲线与论文中曲线类似:

CNN车型分类总结的更多相关文章
- Smartbi制作报表教程:热销车型分类排名总表
今天Smartbi给大家分享 热销车型分类排名总表 这张移动端报表的制作过程. 制作工具:Smartbi云报表 Smartbi云报表是一款基于Office Excel的SAAS BI工具,支持在Exc ...
- [DL学习笔记]从人工神经网络到卷积神经网络_3_使用tensorflow搭建CNN来分类not_MNIST数据(有一些问题)
3:用tensorflow搭个神经网络出来 为什么用tensorflow呢,应为谷歌是亲爹啊,虽然有些人说caffe更适合图像啊mxnet效率更高等等,但爸爸就是爸爸,Android都能那么火,一个道 ...
- CNN 文本分类
谈到文本分类,就不得不谈谈CNN(Convolutional Neural Networks).这个经典的结构在文本分类中取得了不俗的结果,而运用在这里的卷积可以分为1d .2d甚至是3d的. 下面 ...
- CNN文本分类
CNN用于文本分类本就是一个不完美的解决方案,因为CNN要求输入都是一定长度的,而对于文本分类问题,文本序列是不定长的,RNN可以完美解决序列不定长问题, 因为RNN不要求输入是一定长度的.那么对于C ...
- pytorch -- CNN 文本分类 -- 《 Convolutional Neural Networks for Sentence Classification》
论文 < Convolutional Neural Networks for Sentence Classification>通过CNN实现了文本分类. 论文地址: 666666 模型图 ...
- 写给程序员的机器学习入门 (八) - 卷积神经网络 (CNN) - 图片分类和验证码识别
这一篇将会介绍卷积神经网络 (CNN),CNN 模型非常适合用来进行图片相关的学习,例如图片分类和验证码识别,也可以配合其他模型实现 OCR. 使用 Python 处理图片 在具体介绍 CNN 之前, ...
- tensorflow学习之(十)使用卷积神经网络(CNN)分类手写数字0-9
#卷积神经网络cnn import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data #数据包,如 ...
- CNN 文本分类模型优化经验——关键点:加卷积层和FC可以提高精度,在FC前加BN可以加快收敛,有时候可以提高精度,FC后加dropout,conv_1d的input维度加大可以提高精度,但是到256会出现OOM。
network = tflearn.input_data(shape=[None, max_len], name='input') network = tflearn.embedding(networ ...
- CNN tensorflow text classification CNN文本分类的例子
from:http://deeplearning.lipingyang.org/tensorflow-examples-text/ TensorFlow examples (text-based) T ...
随机推荐
- [LeetCode] Summary Ranges 总结区间
Given a sorted integer array without duplicates, return the summary of its ranges. For example, give ...
- 【三石视频教程】当FineUIPro遇到ReportViewer
FineUIPro 下个版本(v2.8.0)即将支持 ReportViewer,为此三石特别制作了一期视频教程,供大家参考. 运行效果图: 视频下载:http://pan.baidu.com/s/ ...
- 使用FastReport打印二维码
简单介绍一下该功能所在的项目背景:C#语言编写的WPF客户端应用程序,在“结账”模块中,打印出的收款小票上需要显示一个二维码,服务生拿着小票去找顾客,顾客可以选择现金.银行卡等普通支付方式,也可以直接 ...
- QQ传输协议分析
2015-06-16 16:27:07 一. 实验目的: 在虚拟机下NAT模式下通过Wireshark抓包,分析QQ的传输模式.了解QQ在传输信息过程中用到的协议.分析在Nat模式下,信息传输的穿透性 ...
- vue.js之过渡效果-css
概述 vuejs的过渡效果可以让我们的页面元素在出现和消失时实现过渡.官方文档这样描述过渡效果的方式: 在 CSS 过渡和动画中自动应用 class 可以配合使用第三方 CSS 动画库,如 Anima ...
- PRINCE2特征(二)
英国体系环境下项目有什么特征(二) 今天又要和大家分享了,这个时间也是自己很喜欢的时刻.上次给大家分享的是英国体系下项目的特征之一:临时性.不知道大家还有没有印象,英国体系下项目的特征有五个,今天来给 ...
- Android调用WebService
这两天给老师做地铁app的demo,与后台的交互要用WebService,还挺麻烦的.所以想写点,希望有用. Web Services(Web服务)是一个用于支持网络间不同机器互操作的软件系统,它是一 ...
- JS使用getComputedStyle()方法获取CSS属性值
在对网页进行调试的过程中,经常会用到js来获取元素的CSS样式,方法有很多很多,现在仅把我经常用的方法总结如下: 1. obj.style:这个方法只能JS只能获取写在html标签中的写在style属 ...
- CSS实例练习
蓝色导航为图片,用background-image实现. 排版用到ul,li标签,下划线运用border-bottom中的dashed,右边文字用到CSS浮动float. 实例: 代码: <!D ...
- dataTables获取当前行json格式数据
装载表格数据 $(document).ready( function () { //页面加载后装载表格数据 var table = $('#mytable').DataTable( { "s ...