Run Caffe command line examples on Windows - t-kuha/caffe-win-dependency GitHub Wiki
MNIST
Create dataset
> set BACKEND=lmdb
> convert_mnist_data.exe --backend %BACKEND% data/train-images.idx3-ubyte data/train-labels.idx1-ubyte examples/mnist/mnist_train_%BACKEND%
I0817 15:24:36.148756 7696 common.cpp:36] System entropy source not available, using fallback algorithm to
generate seed instead.
I0817 15:24:36.152755 7696 db_lmdb.cpp:40] Opened lmdb examples/mnist/mnist_train_lmdb
I0817 15:24:36.152755 7696 convert_mnist_data.cpp:93] A total of 60000 items.
I0817 15:24:36.152755 7696 convert_mnist_data.cpp:94] Rows: 28 Cols: 28
I0817 15:24:41.033435 7696 convert_mnist_data.cpp:113] Processed 60000 files.
> convert_mnist_data.exe --backend %BACKEND% data/t10k-images.idx3-ubyte data/t10k-labels.idx1-ubyte examples/mnist/mnist_test_%BACKEND%
I0817 15:24:49.952648 5200 common.cpp:36] System entropy source not available, using fallback algorithm to
generate seed instead.
I0817 15:24:49.960641 5200 db_lmdb.cpp:40] Opened lmdb examples/mnist/mnist_test_lmdb
I0817 15:24:49.960641 5200 convert_mnist_data.cpp:93] A total of 10000 items.
I0817 15:24:49.960641 5200 convert_mnist_data.cpp:94] Rows: 28 Cols: 28
I0817 15:24:50.776712 5200 convert_mnist_data.cpp:113] Processed 10000 files.
Train
> caffe.exe train --solver=examples/mnist/lenet_solver.prototxt
I0817 15:25:20.333501 10132 caffe.cpp:219] Using GPUs 0
I0817 15:25:20.521616 10132 caffe.cpp:224] GPU 0: GeForce GTX 1070
I0817 15:25:20.909369 10132 common.cpp:36] System entropy source not available, using fallback algorithm to
generate seed instead.
I0817 15:25:20.922385 10132 solver.cpp:44] Initializing solver from parameters:
...
I0817 15:25:47.344606 10132 sgd_solver.cpp:105] Iteration 9900, lr = 0.00596843
I0817 15:25:47.559485 10132 solver.cpp:447] Snapshotting to binary proto file examples/mnist/lenet_iter_10000.caffemodel
I0817 15:25:47.571487 10132 sgd_solver.cpp:273] Snapshotting solver state to binary proto file examples/mnist/lenet_iter_10000.solverstate
I0817 15:25:47.577476 10132 solver.cpp:310] Iteration 10000, loss = 0.00286898
I0817 15:25:47.577476 10132 solver.cpp:330] Iteration 10000, Testing net (#0)
I0817 15:25:47.688412 6148 data_layer.cpp:73] Restarting data prefetching from start.
I0817 15:25:47.692431 10132 solver.cpp:397] Test net output #0: accuracy = 0.99
I0817 15:25:47.692431 10132 solver.cpp:397] Test net output #1: loss = 0.0317468 (* 1 = 0.0317468 loss)
I0817 15:25:47.692431 10132 solver.cpp:315] Optimization Done.
I0817 15:25:47.692431 10132 caffe.cpp:260] Optimization Done.
Test
> caffe.exe test --model examples/mnist/lenet_train_test.prototxt --weights examples/mnist/lenet_iter_10000.caffemodel --solver=examples/mnist/lenet_solver.prototxt --gpu 0
...
I0817 15:47:02.225976 12176 caffe.cpp:314] Batch 47, accuracy = 1
I0817 15:47:02.225976 12176 caffe.cpp:314] Batch 47, loss = 0.0077167
I0817 15:47:02.228973 12176 caffe.cpp:314] Batch 48, accuracy = 0.95
I0817 15:47:02.228973 12176 caffe.cpp:314] Batch 48, loss = 0.102246
I0817 15:47:02.230973 12176 caffe.cpp:314] Batch 49, accuracy = 1
I0817 15:47:02.230973 12176 caffe.cpp:314] Batch 49, loss = 0.00583667
I0817 15:47:02.230973 12176 caffe.cpp:319] Loss: 0.045318
I0817 15:47:02.231972 12176 caffe.cpp:331] accuracy = 0.9854
I0817 15:47:02.231972 12176 caffe.cpp:331] loss = 0.045318 (* 1 = 0.045318 loss)
Benchmarking
> caffe.exe time --model examples/mnist/lenet_train_test.prototxt --gpu 0
...
I0817 15:46:27.948802 19396 caffe.cpp:407] Average time per layer:
I0817 15:46:27.948802 19396 caffe.cpp:410] mnist forward: 0.00135104 ms.
I0817 15:46:27.948802 19396 caffe.cpp:413] mnist backward: 0.00125696 ms.
I0817 15:46:27.948802 19396 caffe.cpp:410] conv1 forward: 0.189288 ms.
I0817 15:46:27.948802 19396 caffe.cpp:413] conv1 backward: 0.214828 ms.
I0817 15:46:27.948802 19396 caffe.cpp:410] pool1 forward: 0.0304109 ms.
I0817 15:46:27.948802 19396 caffe.cpp:413] pool1 backward: 0.122 ms.
I0817 15:46:27.949801 19396 caffe.cpp:410] conv2 forward: 0.121076 ms.
I0817 15:46:27.949801 19396 caffe.cpp:413] conv2 backward: 0.653185 ms.
I0817 15:46:27.949801 19396 caffe.cpp:410] pool2 forward: 0.00988608 ms.
I0817 15:46:27.949801 19396 caffe.cpp:413] pool2 backward: 0.0377811 ms.
I0817 15:46:27.949801 19396 caffe.cpp:410] ip1 forward: 0.0756826 ms.
I0817 15:46:27.949801 19396 caffe.cpp:413] ip1 backward: 0.0658605 ms.
I0817 15:46:27.949801 19396 caffe.cpp:410] relu1 forward: 0.00514112 ms.
I0817 15:46:27.949801 19396 caffe.cpp:413] relu1 backward: 0.00593344 ms.
I0817 15:46:27.949801 19396 caffe.cpp:410] ip2 forward: 0.0586438 ms.
I0817 15:46:27.949801 19396 caffe.cpp:413] ip2 backward: 0.0273312 ms.
I0817 15:46:27.949801 19396 caffe.cpp:410] loss forward: 0.248628 ms.
I0817 15:46:27.949801 19396 caffe.cpp:413] loss backward: 0.02608 ms.
I0817 15:46:27.949801 19396 caffe.cpp:418] Average Forward pass: 1.43269 ms.
I0817 15:46:27.949801 19396 caffe.cpp:420] Average Backward pass: 1.76134 ms.
I0817 15:46:27.950801 19396 caffe.cpp:422] Average Forward-Backward: 3.52834 ms.
I0817 15:46:27.950801 19396 caffe.cpp:424] Total Time: 176.417 ms.
...
CIFAR10 (cifar10_quick)
> set BACKEND=lmdb
> convert_cifar_data.exe data/cifar-10-batches-bin examples/cifar10 lmdb
> compute_image_mean.exe -backend=%BACKEND% examples/cifar10/cifar10_train_%BACKEND% examples/cifar10/mean.binaryproto
> caffe.exe train --solver=examples/cifar10/cifar10_quick_solver.prototxt
> caffe.exe train --solver=examples/cifar10/cifar10_quick_solver_lr1.prototxt --snapshot=examples/cifar10/cifar10_quick_iter_4000.solverstate
> caffe.exe test --solver=examples/cifar10/cifar10_quick_solver_lr1.prototxt --model examples/cifar10/cifar10_quick_train_test.prototxt --weights examples/cifar10/cifar10_quick_iter_5000.caffemodel.h5 --gpu 0
ImageNet
> classification.exe ^
models/bvlc_reference_caffenet/deploy.prototxt ^
models/bvlc_reference_caffenet/bvlc_reference_caffenet.caffemodel ^
data/ilsvrc12/imagenet_mean.binaryproto ^
data/ilsvrc12/synset_words.txt ^
examples/images/cat.jpg