问题:设置solver.prototxt时,lr_policy:"step",运行时出现下面问题
*** Aborted at 1479432790 (unix time) try "date -d @1479432790" if you are using GNU date *** PC: @ 0x7fe47645db63 caffe::SGDSolver<>::GetLearningRate() *** SIGFPE (@0x7fe47645db63) received by PID 13998 (TID 0x7fe476dca780) from PID 1984289635; stack trace: *** @ 0x7fe47582c2f0 (unknown) @ 0x7fe47645db63 caffe::SGDSolver<>::GetLearningRate() @ 0x7fe47645dd72 caffe::SGDSolver<>::ApplyUpdate() @ 0x7fe47646949f caffe::Solver<>::Step() @ 0x7fe47646981f caffe::Solver<>::Solve() @ 0x407471 train() @ 0x404bcb main @ 0x7fe475817a40 (unknown) @ 0x405219 _start @ 0x0 (unknown) Floating point exception (core dumped)
原因:未设置stepsize参数
解决:参考下面设置http://www.cnblogs.com/denny402/p/5074049.html
lr_policy可以设置为下面这些值,相应的学习率的计算为: - fixed: 保持base_lr不变. - step: 如果设置为step,则还需要设置一个stepsize, 返回 base_lr * gamma ^ (floor(iter / stepsize)),其中iter表示当前的迭代次数 - exp: 返回base_lr * gamma ^ iter, iter为当前迭代次数 - inv: 如果设置为inv,还需要设置一个power, 返回base_lr * (1 + gamma * iter) ^ (- power) - multistep: 如果设置为multistep,则还需要设置一个stepvalue。这个参数和step很相似,step是均匀等间隔变化,而multistep则是根据 stepvalue值变化 - poly: 学习率进行多项式误差, 返回 base_lr (1 - iter/max_iter) ^ (power) - sigmoid: 学习率进行sigmod衰减,返回 base_lr ( 1/(1 + exp(-gamma * (iter - stepsize))))
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:[Caffe]:关于*** Aborted at 1479432790 (unix time) try “date -d @1479432790” 错误的另一种原因 - Python技术站