代码问题【TADT//CVPR2019】

paper:Li X, Ma C, Wu B, et al. Target-Aware Deep Tracking[C]. //CVPR2019

 

调用adam.m时候报错

结构体内容引用自非结构体数组对象。

出错 solver.adam (line 62)
state.m = opts.beta1 * state.m + (1 - opts.beta1) * grad ;

 

原因是因为传递给adam函数的state参数是一个空数据,如果是这种情况应该是传一个0进去,因为adam.m的57行有写

if isequal(state, 0) % start off with state = 0 so as to get default state
  state = struct('m', 0, 'v', 0, 't', 0);
end

所以修改cnn_train_dag_ridge函数的374行左右

[net.params(p).value, state.solverState{p}] = ...
params.solver(net.params(p).value, state.solverState{p}, ...
grad, params.solverOpts, thisLR) ;

这句前增加代码如下:

 if(isempty(state.solverState{p}))
            state.solverState{p}=0;
        end

  

 

转载于:https://www.cnblogs.com/qq552048250/p/10992202.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值