caffe自带的例子中对mnist手写体数字训练使用的卷积神经网络是在lenet_train_test.prototxt中定义的,隐含层包含了2个卷积层,2个池化层,2个全连接层,1个激活函数层。网络结构如下:

这里尝试修改一下lenet_train_test.prototxt文件,减少或增加一组卷积层和池化层,对比一下各自的训练精度和损失。

1.  减少一组卷积层和池化层

这样隐含层就包含了1个卷积层,1个池化层,2个全连接层,1个激活函数层。修改的方式直接在lenet_train_test.prototxt文件中删除第二卷积层和第二池化层的定义,并把第一全连接层的输入改成第一池化层的输出就行了(同时把第一卷积层的输出由20改成了50)。

修改之后的网络结构:

训练结果:

1.  增加一组卷积层和池化层

这样隐含层就包含了3个卷积层,3个池化层,2个全连接层,1个激活函数层。这里要注意的是图像大小是28*28,第一和第二卷积层的卷积核大小都是5*5,第一和第二池化层的池化核大小都是2*2,所以经过第二池化层之后单个图片的大小就只有
((28-4)/2-4)/2=4,即4*4大小了,那新加的第三卷积层的卷积核就不能再是5*5了,这里改用3*3的卷积核,之后的第三池化核大小改成1*1,步长也改成1,修改之后的网络结果:

训练结果:

不做修改,正常情况下lenet_train_test.prototxt的训练结果为:

对比

减少一组卷积层和池化层的训练精度: 0.9881

减少一组卷积层和池化层的训练损失: 0.0359024

正常情况下的训练精度: 0.99

正常情况下的训练损失: 0.0295332

增加一组卷积层和池化层的训练精度: 0.992

增加一组卷积层和池化层的训练损失: 0.0257643

自己定义CNN网络模型并使用caffe训练的更多相关文章

  1. 使用caffe训练自己的CNN

    现在有这样的一个场景:给一张行人的小矩形框图片, 根据该行人的特征识别出性别. 分析: (1),行人的姿态各异,变化多端.很难提取图像的特定特征 (2),正常人肉眼判别行人的根据是身材比例,头发长度等 ...

  2. 使用caffe训练mnist数据集 - caffe教程实战(一)

    个人认为学习一个陌生的框架,最好从例子开始,所以我们也从一个例子开始. 学习本教程之前,你需要首先对卷积神经网络算法原理有些了解,而且安装好了caffe 卷积神经网络原理参考:http://cs231 ...

  3. caffe︱深度学习参数调优杂记+caffe训练时的问题+dropout/batch Normalization

    一.深度学习中常用的调节参数 本节为笔者上课笔记(CDA深度学习实战课程第一期) 1.学习率 步长的选择:你走的距离长短,越短当然不会错过,但是耗时间.步长的选择比较麻烦.步长越小,越容易得到局部最优 ...

  4. caffe训练自己的图片进行分类预测--windows平台

    caffe训练自己的图片进行分类预测 标签: caffe预测 2017-03-08 21:17 273人阅读 评论(0) 收藏 举报  分类: caffe之旅(4)  版权声明:本文为博主原创文章,未 ...

  5. [caffe] caffe训练tricks

    Tags: Caffe Categories: Tools/Wheels --- 1. 将caffe训练时将屏幕输出定向到文本文件 caffe中自带可以画图的工具,在caffe路径下: ./tools ...

  6. 实践详细篇-Windows下使用Caffe训练自己的Caffemodel数据集并进行图像分类

    三:使用Caffe训练Caffemodel并进行图像分类 上一篇记录的是如何使用别人训练好的MNIST数据做训练测试.上手操作一边后大致了解了配置文件属性.这一篇记录如何使用自己准备的图片素材做图像分 ...

  7. Caffe训练AlexNet网络,精度不高或者为0的问题结果

    当我们使用Caffe训练AlexNet网络时,会遇到精度一值在低精度(30%左右)升不上去,或者精度总是为0,如下图所示: 出现这种情况,可以尝试使用以下几个方法解决: 1.数据样本量是否太少,最起码 ...

  8. 使用Caffe训练适合自己样本集的AlexNet网络模型,并对其进行分类

    1.在开始之前,先简单回顾一下几个概念. Caffe(Convolution Architecture For Feature Extraction-卷积神经网络框架):是一个清晰,可读性高,快速的深 ...

  9. Caffe训练AlexNet网络模型——问题三

    caffe 进行自己的imageNet训练分类:loss一直是87.3365,accuracy一直是0 解决方法: http://blog.csdn.net/jkfdqjjy/article/deta ...

随机推荐

  1. redis 五大数据类型的常用指令

    STRING 192.168.1.66:6379> get k1 "v1" 192.168.1.66:6379> append k1 12345 (integer) 7 ...

  2. 由mitab学到一些关于编译和运行的理解

    今天上午在鼓捣一个地图绘图程序,程序写到一半,在windows下写不下去了,原因是需要引入的第三方的mitab类库进行.mif文件的读写操作,而这个类库的windows下的.lib文件和.dll文件都 ...

  3. ROS-package.xml文件标签解读

    前言:package.xml是一个XML文件名为package.xml中必须包括与任何兼容包的根文件夹.此文件定义有关包的属性,例如包名称,版本号,作者,维护者以及其他catkin包的依赖关系. 标签 ...

  4. ffmpeg x264编译与使用介绍

    问题1:我用的是最新版本的ffmpeg和x264,刚刚编译出来,编译没有问题,但是在linux 环境使用ffmpeg的库时发现报错error C3861: 'UINT64_C': identifier ...

  5. [转]java多线程并发去调用一个类的静态方法安全性探讨

    文章转自:https://blog.csdn.net/weibin_6388/article/details/50750035 这篇文章主要讲多线程对静态方法访问的数据安全性 总结如下: 1,java ...

  6. WebApi在MVC 4中一个Controll多个post方法报错处理

    http://blog.csdn.net/lqh4188/article/details/53542400(原创)

  7. ubuntu16.04 安装 go

    1,下载go安装包wget https://storage.googleapis.com/golang/go1.8.3.linux-amd64.tar.gz 2,解压 sudo tar -C /usr ...

  8. autocomplete for password

    <input id="userPassword" type="password" autocomplete="current-password& ...

  9. SVG实现波浪效果

    SVG实现波浪效果 svg path:C 贝塞尔曲线绘制波浪形状   A 绘制圆弧形 svg animate:制作波浪动画,为了波浪动画效果自然,设置values关键点  attributeName: ...

  10. Unity类继承关系 图

    UnityEngine(命名空间) 其他命名空间 其他类 Object(类) 其他类(继承自Object) Component(类)(继承自Object) 其他类(继承自Component) Tran ...