caffe 的命令行训练与测试

来源:互联网 发布:解放军报网络投稿方式 编辑:程序博客网 时间:2024/05/19 16:29

本文转自: http://blog.csdn.net/yiliang_/article/details/60464968

Train训练(用cmd caffe命令行) (solver.prototxt)
在使用cmdcaffe时,需要默认切换到Caffe_Root文件夹下,需要使用上述命令才可以使用tools下的caffe接口,因为caffe默认都需要从根目录下面执行文件。
1、训练模型,以mnist为例子(solver.prototxt)
./build/tools/caffe train -solver=examples/mnist/lenet_solver.prototxt

保存训练日志
./build/tools/caffe train -solver=examples/mnist/lenet_solver.prototxt 2>&1| tee /home/guest/caffe/examples/mnist/caffe200.log

从中断点的 snapshot 继续训练(solver.prototxt + .solverstate)
./build/tools/caffe train -solver examples/mnist/lenet_solver.prototxt -snapshot examples/mnist/lenet_iter_5000.solverstate

2、观察各个阶段的运行时间可以使用(train_test.prototxt)
./build/tools/caffe time -model examples/mnist/lenet_train_test.prototxt -iterations 10

3、使用已有模型提取特征(caffemodel + train_val.prototxt + fc7 + num_mini_batches)
./build/tools/extract_features.bin models/bvlc_reference_caffenet/bvlc_reference_caffenet.caffemodel examples/feature_extraction/train_val.prototxt fc7 examples/temp_features 10 lmdb

1) fc7表示提取全连接第七层特征,conv5表示提取第五个卷积层的特征, examples/temp_features表示存放结果的目录(目录不需要提前构建)

2.)10:输入的包的数量,我们test时的batchsize是50,这里输入10,表示会提取50*10=500张图片的特征

3.)imageNet网络有很多层(data conv1 conv2 conv3 conv4 conv5 fc6 fc7 fc8 prob),我们可以选取任意一层;fc7是最后一层特征,fc8输出的就是softmax的输出了,所以提取fc7层

4.)lmdb:输出的数据格式是lmdb,还可以是leveldb


Test测试(用cmdcaffe命令行)(train_test.prototxt + caffemodel)
caffe test 命令通过在 test phase 中运行模型得到分数,并且用这分数表示网络输出的最终结果。网络结构必须被适当定义,生成accuracy或loss作为其结果。测试过程中,终端会显示每个 batch的得分,最后输出全部 batch 得分的平均值。
# 对于网络结构文件 lenet_train_test.prototxt所定义的网络
# 用 validation set 得到已训练的 image_test 模型的分数
./build/tools/caffe test -model examples/image_test/train_val.prototxt -weights examples/image_test/caffenet_train/caffenet_train_iter_10000.caffemodel

Test分类单个输入图像

利用训练好的模型,预测结果,5个输入参数
(train_val.prototxt + caffemodel + mean.binaryproto + synset_words.txt + cat.jpg)
test指定图像,输出结果
sudo ./build/examples/cpp_classification/classification.bin \
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

测试ilsvrc12
./build/examples/cpp_classification/classification.bin \
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

———- Prediction for examples/images/cat.jpg ———-
0.3134 - “n02123045 tabby, tabby cat”
0.2380 - “n02123159 tiger cat”
0.1235 - “n02124075 Egyptian cat”
0.1003 - “n02119022 red fox, Vulpes vulpes”
0.0715 - “n02127052 lynx, catamount”

原创粉丝点击