net: "models/individually/viper_trainval.prototxt"
test_iter: 7
test_interval: 50
test_initialization: truedisplay: 20 #每迭代20次显示一次训练结果
average_loss: 20
iter_size: 2lr_policy: "stepdecr"
base_lr: 0.1
gamma: 0.04
stepsize: 100
max_iter: 2700
min_lr: 0.0005momentum: 0.9
weight_decay: 0.0005snapshot_prefix: "external/exp/snapshots/individually/viper"
solver_mode: GPU

下面详细解释各参数:

 message SolverParameter {//////////////////////////////////////////////////////////////////////////////// Specifying the train and test networks//// Exactly one train net must be specified using one of the following fields://     train_net_param, train_net, net_param, net// One or more test nets may be specified using any of the following fields://     test_net_param, test_net, net_param, net// If more than one test net field is specified (e.g., both net and// test_net are specified), they will be evaluated in the field order given// above: (1) test_net_param, (2) test_net, (3) net_param/net.// A test_iter must be specified for each test_net.// A test_level and/or a test_stage may also be specified for each test_net.//////////////////////////////////////////////////////////////////////////////// Proto filename for the train net, possibly combined with one or more// test nets.optional string net = 24;// Inline train net param, possibly combined with one or more test nets.optional NetParameter net_param = 25;optional string train_net = 1; // Proto filename for the train net.repeated string test_net = 2; // Proto filenames for the test nets.optional NetParameter train_net_param = 21; // Inline train net params.repeated NetParameter test_net_param = 22; // Inline test net params.// The states for the train/test nets. Must be unspecified or// specified once per net.//// By default, all states will have solver = true;// train_state will have phase = TRAIN,// and all test_state's will have phase = TEST.// Other defaults are set according to the NetState defaults.optional NetState train_state = 26;repeated NetState test_state = 27;// The number of iterations for each test net.repeated int32 test_iter = 3;// The number of iterations between two testing phases.optional int32 test_interval = 4 [default = 0];optional bool test_compute_loss = 19 [default = false];// If true, run an initial test pass before the first iteration,// ensuring memory availability and printing the starting value of the loss.optional bool test_initialization = 32 [default = true];optional float base_lr = 5; // The base learning rate// the number of iterations between displaying info. If display = 0, no info// will be displayed.optional int32 display = 6;// Display the loss averaged over the last average_loss iterationsoptional int32 average_loss = 33 [default = 1];optional int32 max_iter = 7; // the maximum number of iterations// accumulate gradients over `iter_size` x `batch_size` instancesoptional int32 iter_size = 36 [default = 1];// The learning rate decay policy. The currently implemented learning rate// policies are as follows://    - fixed: always return base_lr.//    - step: return base_lr * gamma ^ (floor(iter / step))//    - exp: return base_lr * gamma ^ iter//    - inv: return base_lr * (1 + gamma * iter) ^ (- power)//    - multistep: similar to step but it allows non uniform steps defined by//      stepvalue//    - poly: the effective learning rate follows a polynomial decay, to be//      zero by the max_iter. return base_lr (1 - iter/max_iter) ^ (power)//    - sigmoid: the effective learning rate follows a sigmod decay//      return base_lr ( 1/(1 + exp(-gamma * (iter - stepsize))))//    - stepdecr: return base_lr * (1 - gamma * (floor(iter / step)))//    - smoothstep: return base_lr * gamma ^ (iter / step)//// where base_lr, max_iter, gamma, step, stepvalue and power are defined// in the solver parameter protocol buffer, and iter is the current iteration.optional string lr_policy = 8;optional float gamma = 9; // The parameter to compute the learning rate.optional float power = 10; // The parameter to compute the learning rate.optional float momentum = 11; // The momentum value.optional float weight_decay = 12; // The weight decay.optional float min_lr = 39; // The minimum learning rate.// regularization types supported: L1 and L2// controlled by weight_decayoptional string regularization_type = 29 [default = "L2"];// the stepsize for learning rate policy "step"optional int32 stepsize = 13;// the stepsize for learning rate policy "multistep"repeated int32 stepvalue = 34;// Set clip_gradients to >= 0 to clip parameter gradients to that L2 norm,// whenever their actual L2 norm is larger.optional float clip_gradients = 35 [default = -1];optional int32 snapshot = 14 [default = 0]; // The snapshot intervaloptional string snapshot_prefix = 15; // The prefix for the snapshot.// whether to snapshot diff in the results or not. Snapshotting diff will help// debugging but the final protocol buffer size will be much larger.optional bool snapshot_diff = 16 [default = false];enum SnapshotFormat {HDF5 = 0;BINARYPROTO = 1;}optional SnapshotFormat snapshot_format = 37 [default = BINARYPROTO];// the mode solver will use: 0 for CPU and 1 for GPU. Use GPU in default.enum SolverMode {CPU = 0;GPU = 1;}optional SolverMode solver_mode = 17 [default = GPU];// the device_id will that be used in GPU mode. Use device_id = 0 in default.repeated int32 device_id = 18;// If non-negative, the seed with which the Solver will initialize the Caffe// random number generator -- useful for reproducible results. Otherwise,// (and by default) initialize using a seed derived from the system clock.optional int64 random_seed = 20 [default = -1];// Solver typeenum SolverType {SGD = 0;NESTEROV = 1;ADAGRAD = 2;RMSPROP = 3;ADADELTA = 4;}optional SolverType solver_type = 30 [default = SGD];// numerical stability for AdaGradoptional float delta = 31 [default = 1e-8];// RMSProp decay value// MeanSquare(t) = rms_decay*MeanSquare(t-1) + (1-rms_decay)*SquareGradient(t)optional float rms_decay = 38;// If true, print information about the state of the net that may help with// debugging learning problems.optional bool debug_info = 23 [default = false];// If false, don't save a snapshot after training finishes.optional bool snapshot_after_train = 28 [default = true];
}// A message that stores the solver snapshots
message SolverState {optional int32 iter = 1; // The current iterationoptional string learned_net = 2; // The file that stores the learned net.repeated BlobProto history = 3; // The history for sgd solversoptional int32 current_step = 4 [default = 0]; // The current step for learning rate
}enum Phase {TRAIN = 0;TEST = 1;
}message NetState {optional Phase phase = 1 [default = TEST];optional int32 level = 2 [default = 0];repeated string stage = 3;
}

SolverParameter相关推荐

  1. 经典网络LeNet-5介绍及代码测试(Caffe, MNIST, C++)

    LeNet-5:包含7个层(layer),如下图所示:输入层没有计算在内,输入图像大小为32*32*1,是针对灰度图进行训练和预测的.论文名字为" Gradient-Based Learni ...

  2. Caffe中对cifar10执行train操作

    参考Caffe source中examples/cifar10目录下内容. cifar10是一个用于普通物体识别的数据集,cifar10被分为10类,分别为airplane.automobile.bi ...

  3. Caffe中对MNIST执行train操作执行流程解析

    之前在 http://blog.csdn.net/fengbingchun/article/details/49849225 中简单介绍过使用Caffe train MNIST的文章,当时只是仿照ca ...

  4. Caffe源码中Solver文件分析

    Caffe源码(caffe version commit: 09868ac , date: 2015.08.15)中有一些重要的头文件,这里介绍下include/caffe/solver.hpp文件的 ...

  5. Caffe源码中io文件分析

    Caffe源码(caffe version commit: 09868ac , date: 2015.08.15)中有一些重要的头文件,这里介绍下include/caffe/util/io.hpp文件 ...

  6. Windows7 64bit VS2013 Caffe train MNIST操作步骤

    1.        使用http://blog.csdn.net/fengbingchun/article/details/47905907中生成的Caffe静态库: 2.        使用http ...

  7. 【AI】caffe源码分析(一)

    [一]caffe依赖开源库 [C++]google gflags详解 [C++]google glog详解 [C++]Google Protocol Buffer(protobuf)详解(一) [C+ ...

  8. 【AI】caffe使用步骤(三):编写求解文件solver.prototxt

    [一]参考博客 caffe solver 配置详解:http://www.mamicode.com/info-detail-2620709.html Caffe学习系列(7):solver及其配置:h ...

  9. 深度学习框架Caffe源码解析

    作者:薛云峰(https://github.com/HolidayXue),主要从事视频图像算法的研究, 本文来源微信公众号:深度学习大讲堂.  原文:深度学习框架Caffe源码解析  欢迎技术投稿. ...

最新文章

  1. 迁入阿里云后的一些心得
  2. 2019-01-02
  3. 无csrf防护的html页面,Springs CSRF保护仅* HTML登录页面
  4. Web框架之Django_06 模型层了解(F查询、Q查询、事务、update和save、only和defer、choice属性、bulk_create)
  5. 计算机代码内大数据内存堆栈溢出问题
  6. 5折交叉验证_数据集的划分——交叉验证法
  7. IPv6 解说 ,与IPv4的同异
  8. java fileinputstream.read(byte[])_Java分享笔记:FileInputStream流的 read()方法 和 read(byte[] b)方法...
  9. BugkuCTF-WEB题bp
  10. 使用线性回归识别sklearn中的手写数字digit
  11. 怎样增加phpmyadmin导入文件上限
  12. [ CSS ] animation 快速参考
  13. C# ComBox 垂直滚动条
  14. [JNI] 开发之旅 (2)解释jni helloworld实例
  15. 51单片机汇编程序,温度报警项目
  16. 使用标尺工具获取某点的坐标
  17. Typora任意更改样式
  18. 我孩子的毛毯教会了我关于技术和古希腊人的知识
  19. 【洛谷 2504】聪明的猴子
  20. Java中使用多态的好处和弊端及其举例

热门文章

  1. hwclock设置日期_linux中时间设置date、hwclock、clock
  2. php添加管理员页面完整代码,php – Opencart管理员端的空白页面
  3. Java基础:由JVM内存模型详解线程安全
  4. Java 内存模型和 JVM 内存结构真不是一回事
  5. 使用录制宏制作工资条
  6. UAF学习之Adobe reader CVE-2013-3346
  7. java 10-4 Scanner方法
  8. Ubuntu login as root automatically
  9. C# 程序员最常犯的 10 个错误
  10. [OpenJudge] 百练2754 八皇后