长飞哥 2017-12-18 02:46 采纳率: 50%
浏览 2010
已结题

SSD训练修改梯度下降法

在SSD的python执行文件ssd_pascal.py中有如下代码用于创建solver配置文件,
solver = caffe_pb2.SolverParameter(
train_net=train_net_file,
test_net=[test_net_file],
snapshot_prefix=snapshot_prefix,
**solver_param)
其中solver_param是一个字典,包含了训练一些超参数的设置,
solver_param = {
# Train parameters
'base_lr': base_lr,
'weight_decay': 0.0005,
'lr_policy': "multistep",
#'stepvalue': [80000, 100000, 120000],
'stepvalue': [80000,100000,120000],
'gamma': 0.1,
'momentum': 0.9,
'iter_size': iter_size,
#'max_iter': 120000,
#'snapshot': 80000,
'max_iter': 120000,
'snapshot': 10000,
'display': 10,
'average_loss': 10,
'type': "SGD",
'solver_mode': solver_mode,
'device_id': device_id,
'debug_info': False,
'snapshot_after_train': True,
# Test parameters
'test_iter': [test_iter],
#'test_interval': 10000,
'test_interval': 10000,
'eval_type': "detection",
'ap_version': "11point",
'test_initialization': False,
}
我把优化方法从SGD改为Adam,训练正常进行,但是明显不对,因为loss显示输出还是从sgd_layer.cpp中输出的,模型结果确实也不对。请问caffe_pb2.SolverParameter是在哪里定义,我想看看里面怎么调用这个参数

  • 写回答

1条回答

  • devmiao 2017-12-24 14:58
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制