caffe多GPU错误parallel.cpp:241] Check failed: solver_->net()->params().size() == solver_->net()->learna

在进行siamese多GPU训练是遇到这样的错误:

F0731 09:13:30.965281 14024 parallel.cpp:241] Check failed: solver_->net()->params().size() == solver_->net()->learnable_params().size() (118 vs. 80) Layer-wise reduce is not supported for nets with shared weights.
*** Check failure stack trace: ***

github caffe的issue#5583说出了解决方法,就是在solver.prototxt里面添加这样一句话:layer_wise_reduce: false 再重新训练就解决这个问题了。

issue#5583:https://github.com/BVLC/caffe/issues/5538

上面有这样一句话:Setting layer_wise_reduce: false in the solver specification should resolve this. The issue is that the order of gradients with weight sharing does not necessarily respect topological ordering of the layer graph that the parallel implementation follows for overlapping communication with computation. The error is triggered to keep from accidentally computing the wrong gradients.

也就是说,在执行并行时依照的层图的拓扑顺序,是为了使用计算进行重叠通信,权值共享的梯度顺序不必依照。触发这个错误是为了防止突然计算了一个错误的梯度。

这个设置是一个可选项,默认为true。

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值