Caffe 初学拾遗(十) Layer Catalogue (Data Layer)

来源:互联网 发布:js兼容性问题怎么解决 编辑:程序博客网 时间:2024/06/01 08:09

{承接CNN学习入门,笔者在这里对Caffe官方网站上的相关介绍进行了翻译总结,欢迎大家交流指正}

本文基于此刻最新的release,Caffe-rc3:


4. Data Layer:

Data通过data layer进入Caffe框架,他们位于net的最底层。Data可以来源于高效的数据库(LevelDB or LMDB),直接来自内存,或者,当效率不是那么重要时,来自磁盘的HDF5文件或者常见图片格式。

常见的输入预处理(减去均值,缩放,随机crop,或者镜像)可以通过指定TransformationParameters来实现。


Database:

1.网络类型:Data

2.参数:

2.1 Required

2.1.1 source: 包含database的目录。

2.1.2 batch_size:一次处理的input数目。

2.2 Optional

2.2.1 rand_skip:在开始时跳过rand_skip数目的input,对异步SGD较为有效。

2.2.2 backend [default LEVELDB]:选择是使用LEVELDB还是LMDB。


In-Memory:

1.网络类型:MemoryData

2.参数:

2.1 Required

2.1.1 batch_size,channels,height,width: 指定自内存中读取的input块的尺寸。

Memory data Layer将从内存中直接读取数据,而不是拷贝。为了使用它,必须调用MemoryDataLayer::Reset(from C++) or Net.set_input_arrays(from Python)来指定连续存储的数据源(例如4维的行优先存储序列),一次读取一个batch-size的块数据。


HDF5 Input:

1.网络类型:HDF5Data

2.参数:

2.1 Required

2.1.1 source: 需要读取的文件名。

2.1.2 batch_size


HDF5 Output:

1.网络类型:HDF5Output

2.参数:

2.1 Required

2.1.1 file_name: 需要写入的文件名。

该层执行与该段落中介绍的其他层相反的功能:将数据从input blobs写回到磁盘上。


Images:

1.网络类型:ImageData

2.参数:

2.1 Required

2.1.1 source: 文本文件名,里面逐行给出了图像的名字和它对应的label。

2.1.2 batch_size:一个batch的图像数目。

2.2 Optional

2.2.1 rand_skip

2.2.2 shuffle [default false]

2.2.2 new_height new_width :如果有该参数 将所有图片resize到该大小。


0 0