基于caffe的车型识别(一)——caffe预备知识

前言

GoogleNet(inception)适合深层次大量分类,大量数据的训练,权值很多,类别太少会出现过拟合

机器学习基础知识

优良指标

  1. AP、mAP分类评价指标—AP,mAP

具体Caffe使用

deploy.prototxt文件---------caffe的模型描述文件

“data"和"ImageData”

  • data:传入的文件格式为已经制作好的LMDB格式 backend:lmdb就是指使用这种格式

  • ImageData:传入的图片文件就可以

    InnerProduct---------全连接层,全连接层顶多为100*class,否则过拟合
    Dropout--------降低过拟合

solver.prototxt---------超参数文件

最后一个Output——class(分类)的个数

loss(误差)会越来越小,若出现问题,就换一个优化策略

Finetune——迁移学习(微调网络)

deploy.prototxt主要调输入格式和最后一层
solver.prototxt主要调以下

net: "models/bvlc_reference_caffenet/train_val.prototxt"    %网络模型的描述文件
test_iter: 1000     #测试总数量÷每批的数量
test_interval: 1000 #训练1000此测试一次
base_lr: 0.1        #学习率
lr_policy: "step"
gamma: 0.1
stepsize: 1000      #1000次降低学习率到0.01,2000次到0.001……
display: 50         #50次显示一次
max_iter: 5000      #迭代次数GPU>>5000次
momentum: 0.9
weight_decay: 0.0005
snapshot: 2500      #保存的快照,或者说5000次进行一次备份
snapshot_prefix: "models/bvlc_reference_caffenet/caffenet_train"    %生成的模型文件
solver_mode: GPU

#出现loss不减少时使用另一个优化策略
#type:"AdaDelta"
#delta :1e-6

" ^ "表示链接(和Matlab中的strcat一样)

Caffe的小技巧

Snapshot的使用

Snapshot简介:保存已经训练的参数(例如断电的情况)

snapshot: 2500      #保存的快照,或者说5000次进行一次备份
snapshot_prefix: "models/bvlc_reference_caffenet/caffenet_train"    %生成的模型文件

画出网络结构图

使用的例子:GoogleNet

  • 法一:将GoogleNet的网络描述文件deploy.prototxt复制粘贴到网站http://ethereon.github.io/netscope/#/editor然后shift+Enter执行在这里插入图片描述
  • 法二:找到caffe-windows\caffe\python\draw_net.py
    • python执行draw_net.py
    • 第一个参数:–rankdir TB ——TB表示TOP到BOTTOM。或者使用LR,从左到右。
    • 第二个参数:网络结构描述文件的路径
    • 第三个参数:网络图的输出路径
    • 比如:python E:\Caffe\caffe-windows\python\draw_net.py --rankdir TB E:\Caffe\caffewindows\examples\mnist\lenet_train_test.prototxt E:\Caffe\caffe-windows\examples\mnist\draw\net\mnist.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值