【caffe】面试相关问题

AlexNet的网络结构:

Blobs:用于层之间的数据流动

caffe能使用几种数据源:

来自数据库:LevelDB和LMDB,来自磁盘:HDF5,来自内存,来自图片

1. 数据来源于数据库(LevelDB和LMDB)层类型(layer type):Data

必须配置的参数:

source:包含数据库的目录名称(examples/imagenet/project/train_lmdb)

batch_size:每次处理数据的个数(受内存限制)

可选参数:

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

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

2.数据来源于内存

层类型:MemortyData

必须设置的参数:

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

 channels:通道数

 height:高度

 width: 宽度

3. 数据来源于HDF5

层类型:HDF5Data

必须设置的参数:

source: 读取的文件名称

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

4. 数据来源于图片

层类型:ImageData

必须设置的参数:

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

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

可选参数:

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

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

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

5、数据来源于Windows

层类型:WindowData

必须设置的参数:

source: 一个文本文件的名字

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

过拟合的解决:

1. 增大训练量(增大数据,将图片旋转)

2.降低网络规模(但是大规模的神经网络有更强的潜力)

3.规范化:

DropOut:修改神经网络本身的结构。训练开始时,随机删除隐藏层神经元,即认为这些神经元不存在,同时保持输入层与输出层神经元的个数不变。然后按照BP学习算法对ANN中的参数进行学习更新。这样一次迭代更新便完成了。下一次迭代中,同样随机删除一些神经元,与上次不一样,做随机选择。这样一直进行瑕疵,直至训练结束。

 

你可能感兴趣的:(caffe,面试)