一.样本目录的区别:
caffe创建样本时,允许样本目录下有多级子目录,最终的类型数是样本目录下的文件个数
如样本目录是:train,图片存放在worker,tools,machine,orign。。。等子目录下
|------worker
|------postive----|------tools
| |------machine
| |------scaford
|
|
train
|
|
| |------orign
|-------negtive---|
|------agument
如果用digits创建数据库,如果选择样本的路径为train,则创建2类,一类为postive,一类为negtive。当然即digits也能在postive上创建4类(worker,tools,machine,scaford),或者在negtive上创建2类(orign,agument)
如果用keras创建数据库,如果选择样本的路径为train,则创建失败,keras要求样本目录下的子目录必须有图片。即keras只能在postive上创建4类(worker,tools,machine,scaford),或者在negtive上创建2类(orign,agument),不能在train上创建两类
二 训练迭代的区别:
keras使用epoch,caffe使用max_iterator,其中iterator表示一次正向传播和一次方向传播,参与的样本数是batch_size。
epoch是iterator很多次后,完成一次验证。即max_iterator=epoch*验证迭代间隔(我觉得一次epoch应该是所有的样本都处理结束,iterator只处理batch_size个样本)