学习一种工具最简单和最有效的方法是download一个demo,根据教程模拟。Caffe作为深度学习框架,它也是一种工具,官方提供了一些demo,主要是在Caffe运行的网络架构文件。那么如何跑起一个demo呢?或者如何用demo直接做预测呢?
训练:caffe train --solver solver.txt 这样就可以了,如果有已训练好的参数或者进行学习迁移finetuning,那么训练的参数可以添加 "--weight init.caffemodel"或者"--snapshot snapshotfile.solvestate"
测试或预测:caffe test --weight test.caffemodel --model test.txt --iteration test_iteration
更加深入的理解,还要从源码出发,首先Caffe源码的tools目录下的caffe.cpp是生成可执行文件的源码,其中定义了train()和test()两个函数分别执行训练和测试,也可以自定义函数执行特定操作。
首先看train()函数:
CHECK_GT(FLAGS_solver.size(), 0) << "Need a solver definition to train.";
CHECK(!FLAGS_snapshot.size() || !FLAGS_weights.size())
<< "Give a snapshot to resume training or weights to finetune "
"but not both.";
首先检查是否有solver.txt文件,文件名可自定义,但是内容必须