caffe自学-mnist示例程序详解

caffe中的mnist示例程序超详解,中间包含准备数据、网络模型解析、训练和测试全过程,以及遇到的error和解决方法,适合零caffe以及linux零基础的童鞋
摘要由CSDN通过智能技术生成

caffe中的mnist示例程序超详解,中间包含准备数据、网络模型解析、训练和测试全过程,以及遇到的error和解决方法

准备数据

下载数据
cd $CAFFE_ROOT
./data/mnist/get_mnist.sh
下载mnist数据
文件内部:
get_mnist.sh
运行完成得到四个文件
data
数据转化
./examples/mnist/create_mnist.sh
turn_lmdb
该文件将数据转化为lmdb
data_lmdb
运行出错
errr
分析原因是在/examples/mnist文件夹内运行,不能访问build目录,因此转到caffe根目录下重新运行
这里写图片描述

这里写图片描述
依然出错,Permission denied没有权限
这里写图片描述
加权限后再执行
Permission
之后得到两个文件夹,就是caffe所需要的数据集了(lmdb格式)mnist_train_lmdb, and mnist_test_lmdb
final_data

定义网络结构

CNN的基本结构:
一个卷积层,后面连接一个pooling层,然后是另一个卷积层接pooling层,然后是两个全连接层,与多层感知器相似。
In general, it consists of a convolutional layer followed by a pooling layer, another convolution layer followed by a pooling layer, and then two fully connected layers similar to the conventional multilayer perceptrons.
以LeNet model为例具体解释网络结构,经典的LeNet模型使用Rectified Linear Unit (ReLU) 代替sigmoid函数来激活神经元。
$CAFFE_ROOT/examples/mnist/lenet_train_test.prototxt.

数据层

layer {
      name: "mnist"//名字
      type: "Data"//类型为:数据层
      transform_param {
        scale: 0.00390625//输入像素归一化到[0,1],0.00390625=1/256
      }
      data_param {
        source: "mnist_train_lmdb"// lmdb源数据
        backend: LMDB
        batch_size: 64//分批处理,每批图像个数,过大会导致内存不够
      }
      top: "data"//生成two blobs,分别为data blob 和label blob
      top: "label"
    }

卷积层

layer {
      name: "conv1"
      type: "Conv
  • 6
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值