caffe随记(五)---/build/tools/caffe.bin工具简析

1、怎么用这个命令

 

在caffe根目录下输入如下命令:

 ./build/tools/caffe.bin, 得到如下显示


usage:caffe<command><args>

# 这个是告诉你使用格式, caffe 后接上 一个command命令,后面再接其他参数

 

commands: #你能选择的命令有一下这么几种

train #训练或者微调一个模型

test  #对一个模型打分

device—query #显示GPU诊断信息

time #评估模型执行时间

 

Flags form tools/caffe.cpp   #其他一些参数的总览

-gpu         (可选;给定时运行GPU模式,用’ , ’分隔开不同的gpu,

                     ‘-gpu all’表示运行在所有可用的gpu设备上,此时有效训练批量大小就是gpu设备数乘以batch_size)

-iterations (循环迭代次数,默认为50)

-level          (可选;定义网络水平,也是NetState中的一个,但我也还不清楚这个的作用)

-model        (指定模型定义文本文件名,xxx.prototxt)

-phase        (可选;网络是处于TEST还是TRAIN阶段,当你使用command中time命令时,再指定phase就可以选择计算TEST或者TRAIN的耗时)

-sighup_effect (可选;当收到SIGHUP信号时要采取的动作,可选项:snapshot、stop、none,默认为snapshot,即打印快照)

-sigint_effect (可选;当收到当收到SIGINT信号时要采取的动作,可选项同上,默认stop)

-snapshot (可选,恢复训练时指定上次中止的快照,就是比如训练到一般按Ctrl+C终止训练(Linux中这个Ctrl+C不是copy,而是终止当前操作),就会得到一个solverstate                        文件,下次恢复训练时就可以指定这个)

-solver       ( 指定sovler.prototxt文件,在train的时候需要这个参数)

-stage        (可选;也是NetState中的一个,但我也还不清楚这个的作用)

-weights    ( 指定用于微调的预训练权值,也即 训练后得到的**.caffemodel文件,不可与snapshot同时出现)

2、caffe.cpp源文件

注:这个文件的内容有些多,我也只是选择性的阅读并注释了部分。


#ifdef WITH_PYTHON_LAYER
#include "boost/python.hpp"
namespace bp = boost::python;
#endif

#include <gflags/gflags.h>
#include <glog/logging.h>

#include <cstring>
#include <map>
#include <string>
#include <vector>

#include "boost/algorithm/string.hpp"
#include "caffe/caffe.hpp"
#include "caffe/util/signal_handler.h"

using caffe::Blob;
using caffe::Caffe;
using caffe::Net;
using caffe::Layer;
using caffe::Solver;
using caffe::shared_ptr;
using caffe::string;
using caffe::Timer;
using caffe::vector;
using std::ostringstream;

DEFINE_string(gpu, "",
    "Optional; run in GPU mode on given device IDs separated by ','."
    "Use '-gpu all' to run on all available GPUs. The effective training "
    "batch size is multiplied by the number of devices.");
DEFINE_string(solver, "",
    "The solver definition protocol buffer text file.");
DEFINE_string(model, "",
    "The model definition protocol buffer text file.");
DEFINE_string(phase, "",
    "Optional; network phase (TRAIN or TEST). Only used for 'time'.");
DEFINE_int32(level, 0,
    "Optional; network level.");
DEFINE_string(stage, "",
    "Optional; network stages (not to be confused with phase), "
    "separated by ','.");
DEFINE_string(snapshot, "",
    "Optional; the snapshot solver state to resume training.");
DEFINE_string(weigh
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值