1.Caffe#
编译好后,我们训练,测试都是运行./build/tools/caffe
下面我简介介绍它的用法:
commands:
train 训练模型
test 调用 prototxt 中 test 模式,就是用验证集对模型打分。也可以通过修改 train_val.prototxt 指定新的测试集。
device_query 显示 GPU 诊断信息
time 计算模型执行时间
Flags:
-gpu 可选参数,指定用哪一块 GPU 设备,默认为 0。如果参数设置为‘all’,则使用所有可用 GPU。
多 GPU 训练真正 batch 数量是 GPU 数 × batch 数。
-iterations test 模式可选参数。默认为 50,原则上应该跟 solver 中 test_iter 相同。
-model test、time 模式必选参数。指定网络结构文本,train_val.prototxt
-sighup_effect 收到 SIGHUP 信号要采取的动作,可选:snapshot、stop、none,默认为 snapshot。
-sigint_effect 同上,默认为 stop。
-snapshot 恢复训练指定上次中止的快照文件 xxxxxx.solverstate
-slover train 模式必选参数。指定超参数文本。
-weights 1. test 模式必选参数。指定训练好的 xxxxxx.caffemodel
-
train 模式可选参数。指定需要在哪个 caffemodel 上做 finetune
2.extract_features#
路径:./build/tools/extract_features.bin
参数 1:xxx.caffemodel
参数 2:deploy.prototxt
参数 3:conv1 or conv2 or pool1,可一个,可多个用逗号间隔
参数 4:保存上面特征图的路径
参数 5 (option):做特征提取的数据批数量
参数 6 (option):输入数据格式(LMDB or LEVELDB)
参数 7 (option):CPU or GPU
参数 8 (option):如果选择 GPU,则选择设备号
3.Classification#
路径: ./build/examples/cpp_classification/classification.bin
参数 1: deploy.prototxt
参数 2: xxx.caffemodel
参数 3: mean.binaryproto
参数 4: words.txt
参数 5: xxx.jpg