caffe windows学习:第一个测试程序
caffe windows編譯成功后,就可以開始進行測試了。如果還沒有編譯成功的,請參考:caffe windows 學習第一步:編譯和安裝(vs2012+win 64)
一般第一個測試都是建議對手寫字體minist進行識別。這個測試放在根目錄下的 .\examples\mnist\ 文件夾內。
1、下載數據。程序本身不帶測試數據,需要去下載,測試數據為leveldb格式。你可以直接雙擊運行“get_mnist_leveldb.bat” ?這個腳本自動下載數據,但一般都不成功,可能里面的網址被墻了。你可以直接到此下載:http://pan.baidu.com/s/1hry1f4g
下載好后直接解壓,得到兩個文件夾(mnist-train-leveldb和mnist-test-leveldb),將這兩個文件夾直接復制到 .\examples\mnist\ ?目錄下。
2、修改配置文件。該目錄下prototxt擴展名的都是配置文件。我們只需要修改lenet_solver.prototxt,用vs2012打開(也可以用記事本打開,但格式混亂,看不清楚),定位到最后一行:solver_mode: GPU,將GPU改為CPU。 如果你有GPU,這一步就可以免了。
3、運行。直接雙擊文件“train_lenet.bat”就開始運行了,很簡單吧。
?
但是原理是什么呢?? 打開“train_lenet.bat”這個文件看看:
copy ..\\..\\bin\\MainCaller.exe ..\\..\\bin\\train_net.exe SET GLOG_logtostderr=1 "../../bin/train_net.exe" lenet_solver.prototxt pause這個腳本程序其實很簡單,只有四行:
第一行:將根目錄下的bin文件夾里面的MainCaller.exe復制一份,并重命名為train_net.exe
第二行:設置glog日志。glog是google 出的一個C++輕量級日志庫,介紹請看?glog
第三行:運行train_net.exe,并帶一個參數lenet_solver.prototxt(即我們剛才修改的配置文件)
第四行:測試完后,暫停。
MainCaller.exe是整個程序的入口,由它來調用其它的測試。我們打開對應的MainCaller.cpp文件(examples目錄下),發現只有這么一行代碼:
#include "../../tools/train_net.cpp"即是去調用執行train_net.cpp文件。
打開打tools下的train_net.cpp,熟悉的main函數就出來了
#include <cuda_runtime.h> #include <iostream> #include <cstring>#include "caffe/caffe.hpp"using namespace caffe; // NOLINT(build/namespaces)int main(int argc, char** argv) {::google::InitGoogleLogging(argv[0]); //用第一個參數來初始化日志::google::SetLogDestination(0, "../tmp/"); //將日志放入/tmp/文件夾下if (argc < 2 || argc > 3) {LOG(ERROR) << "Usage: train_net solver_proto_file [resume_point_file]";return 1;}SolverParameter solver_param; //創建測試參數對象ReadProtoFromTextFileOrDie(argv[1], &solver_param); //讀取具體的參數配置 LOG(INFO) << "Starting Optimization"; //打印日志信息SGDSolver<float> solver(solver_param); //開始優化//根據調用時,是否帶第三個參數,進行不同的測試if (argc == 3) {LOG(INFO) << "Resuming from " << argv[2];solver.Solve(argv[2]);} else {solver.Solve();}LOG(INFO) << "Optimization Done."; //優化結束,打印日志信息return 0; }整個minist手寫數字識別過程需要迭代10000次,識別精度會有99%以上。
如果你只是想看看caffe是否編譯成功,不需要迭代那么多次,你可以修改lenet_solver.prototxt配置文件,定位到max_iter: 10000這一行,修改成你想要的迭代次數就行了。
我迭代1000次的結果如下:
屏幕上顯示的這些,都是打印的glog日志信息,從左至右大致是:日期 時間 執行文件] 執行信息
總結
以上是生活随笔為你收集整理的caffe windows学习:第一个测试程序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: caffe windows 学习第一步:
- 下一篇: Caffe学习系列(1):安装配置ubu