mja*_*use 2 python machine-learning neural-network caffe conv-neural-network
我已经使用caffe了一段时间,但取得了一些成功,但我已经注意到在给出的例子中,数据集TRAIN
和TEST
阶段只有两路分离,其中TEST
集合似乎充当验证集.
理想情况下,我想有三套,所以一旦模型被训练,我可以保存它并在一个全新的测试集上测试它 - 存储在一个完整的单独的lmdb文件夹中.有没有人有这方面的经验?谢谢.
区分验证和测试是为了暗示超参数可以调整到验证集,而没有任何东西以任何方式适合测试集.
caffe
除了权重之外,它不会优化任何东西,并且由于测试仅用于评估,因此它完全按预期进行.
假设您在求解器优化运行之间调整超参数.传递给caffe
测试的lmdb 实际上是验证集.如果您已完成调整超参数并使用lmdb进行一次求解器优化以进行测试,该测试将保留以前运行中从未使用过的数据.最后一个lmdb是你的测试集.
由于caffe不优化超参数,因此它的测试集就是测试集.有可能围绕求解器优化调用提出一些python代码,这些代码遍历超参数值.完成后,它可以用一个看不见的数据交换一个新的lmdb来告诉你网络对它的概括程度.
我不建议修改caffe以获得明确的val/test区别.您甚至不需要为解算器和网络定义设置prototxt文件做任何精心设计.您可以在最后通过将val lmdb移动到其他位置并使用其位置移动测试lmdb来进行val/test交换.shutil.copy(src, dst)
归档时间: |
|
查看次数: |
3891 次 |
最近记录: |