卷积神经网络的参数,卷积神经网络层结构

  卷积神经网络的参数,卷积神经网络层结构

  本文主要介绍Caffe卷积神经网络的数据层和参数实例的详细说明。有需要的朋友可以借鉴一下,希望能有所帮助。祝大家进步很大,早日升职加薪。

  00-1010简介数据层1、来自数据库的数据(如LevelDB和LMDB)2、来自内存的数据3、来自HDF54的数据、来自图片的数据5、来自Windows的数据

  

目录

  要运行caffe,需要创建一个模型,比如常用的Lenet、Alex等。而一个模型由多个层组成,每个层由许多参数组成。的所有参数都定义在文件caffe.proto中要熟练使用caffe,最重要的是学会如何编写配置文件(prototxt)。

  有许多类型的层,如数据数据,卷积,池等。各层之间的数据流由Blobs完成。

  

引言

  今天,我们先来介绍一下数据层。

  数据层是每个模型的底层,也是模型的入口,不仅提供数据输入,还提供从Blobs到其他格式的数据转换,以便存储和输出。通常的数据预处理(如平均减法、放大、缩小、裁剪和镜像)也是通过在这一层设置参数来实现的。

  数据可以来自高效的数据库(比如LevelDB和LMDB),也可以直接来自内存。如果效率不是很重要,数据也可以来自磁盘上的hdf5文件和图片格式文件。

  所有数据层的公共参数:首先看例子。

  层{

  名称: cifar

  键入: 数据

  top: 数据

  top: 标签

  包括{

  phase:系列

  }

  转换参数{

  mean _ file : examples/cifar 10/mean . binary proto

  }

  数据参数{

  source : examples/cifar 10/cifar 10 _ train _ lmdb

  batch_size: 100

  后端: LMDB

  }

  }

  Name:表示这一层的名称,可以随意取。

  Type:图层类型,如果是数据,说明数据来自LevelDB或者LMDB。根据数据来源的不同,数据层的类型也不同(后面详述)。在一般实践中,我们都使用LevelDB或LMDB数据,因此图层类型设置为数据。

  或者顶底:每一层用底层输入数据,用顶层输出数据。如果只有上没有下,这一层只有输出没有输入。反之亦然,达拉斯到礼堂如果有一个以上的顶部或一个以上的底部,这意味着有一个以上的blobs数据的输入和输出。

  在数据标签为3360的数据层中至少有一个顶级命名数据。如果有第二顶,一般命名为label。这种(数据,标签)配对对于分类模型是必要的。

  Include:一般来说,训练和测试时模型的层次是不同的。该层属于训练阶段还是测试阶段需要由include指定。如果没有include参数,则意味着该层同时位于训练模型和测试模型中。

  Transformations:数据预处理可以将数据转换到定义的范围内。如果将小数位数设置为0.00390625,实际上就是1/255,即输入数据从0-255归一化到0-1。

  其他数据预处理也设置在这个地方:

  转换参数{

  比例尺0.00660605661

  mean _ file _ size : examples/cifar 10/mean . binary proto

  #使用配置文件进行平均。

  Mirror: 1 # 1表示镜像打开,0表示镜像关闭。也可以用真假来表示。

  #切一块227*227的瓷砖,训练阶段随机切,测试阶段从中间切。

  crop_size: 227

  }

  在data_param部分的后面,根据不同的数据源进行不同的设置。

  

数据层

  层类型):数据。

  必须设置的参数:

  p>source: 包含数据库的目录名称,如examples/mnist/mnist_train_lmdb

  batch_size: 每次处理的数据个数,如64

  可选的参数:

  rand_skip: 在开始的时候,路过某个数据的输入。通常对异步的SGD很有用。

  backend: 选择是采用LevelDB还是LMDB, 默认是LevelDB.

  示例:

  

layer {

   name: "mnist"

   type: "Data"

   top: "data"

   top: "label"

   include {

   phase: TRAIN

   }

   transform_param {

   scale: 0.00390625

   }

   data_param {

   source: "examples/mnist/mnist_train_lmdb"

   batch_size: 64

   backend: LMDB

   }

  }

  

  

2、数据来自于内存

  层类型:MemoryData

  必须设置的参数:

  batch_size:每一次处理的数据个数,比如2

  channels:通道数

  height:高度

  width: 宽度

  示例:

  

layer {

   top: "data"

   top: "label"

   name: "memory_data"

   type: "MemoryData"

   memory_data_param{

   batch_size: 2

   height: 100

   width: 100

   channels: 1

   }

   transform_param {

   scale: 0.0078125

   mean_file: "mean.proto"

   mirror: false

   }

  }

  

  

3、数据来自于HDF5

  层类型:HDF5Data

  必须设置的参数:

  source: 读取的文件名称

  batch_size: 每一次处理的数据个数

  示例:

  

layer {

   name: "data"

   type: "HDF5Data"

   top: "data"

   top: "label"

   hdf5_data_param {

   source: "examples/hdf5_classification/data/train.txt"

   batch_size: 10

   }

  }

  

  

4、数据来自于图片

  层类型:ImageData

  必须设置的参数:

  source: 一个文本文件的名字,每一行给定一个图片文件的名称和标签(label)

  batch_size: 每一次处理的数据个数,即图片数

  可选参数:

  rand_skip:在开始的时候,路过某个数据的输入。通常对异步的SGD很有用。

  shuffle: 随机打乱顺序,默认值为false

  new_height,new_width: 如果设置,则将图片进行resize

  示例:

  

layer {

   name: "data"

   type: "ImageData"

   top: "data"

   top: "label"

   transform_param {

   mirror: false

   crop_size: 227

   mean_file: "data/ilsvrc12/imagenet_mean.binaryproto"

   }

   image_data_param {

   source: "examples/_temp/file_list.txt"

   batch_size: 50

   new_height: 256

   new_width: 256

   }

  }

  

  

5、数据来源于Windows

  层类型:WindowData

  必须设置的参数:

  source: 一个文本文件的名字

  batch_size: 每一次处理的数据个数,即图片数

  示例:

  

layer {

   name: "data"

   type: "WindowData"

   top: "data"

   top: "label"

   include {

   phase: TRAIN

   }

   transform_param {

   mirror: true

   crop_size: 227

   mean_file: "data/ilsvrc12/imagenet_mean.binaryproto"

   }

   window_data_param {

   source: "examples/finetune_pascal_detection/window_file_2007_trainval.txt"

   batch_size: 128

   fg_threshold: 0.5

   bg_threshold: 0.5

   fg_fraction: 0.25

   context_pad: 16

   crop_mode: "warp"

   }

  }

  以上就是Caffe卷积神经网络数据层及参数的详细内容,更多关于Caffe数据层参数的资料请关注盛行IT软件开发工作室其它相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: