@@ -44,18 +44,18 @@ class GLM(opts:GLM.Opts) extends RegressionModel(opts) {
4444 def mupdate (in: Mat ) = {
4545 val targs = targets * in
4646 min(targs, 1f , targs)
47- val alltargs = if (targmap.asInstanceOf [AnyRef ] != null ) targmap * targs else targs
4847 val dweights = if (iweight.asInstanceOf [AnyRef ] != null ) iweight * in else null
49- mupdate3(in, alltargs , dweights)
48+ mupdate3(in, targs , dweights)
5049 }
5150
5251 def mupdate2 (in: Mat , targ: Mat ) = mupdate3(in, targ, null )
5352
54- def mupdate3 (in: Mat , targ: Mat , dweights: Mat ) = {
55- val ftarg = full(targ)
53+ def mupdate3 (in: Mat , targ: Mat , dweights: Mat ) = {
54+ val ftarg = full(targ);
55+ val targs = if (targmap.asInstanceOf [AnyRef ] != null ) targmap * ftarg else ftarg;
5656 val eta = modelmats(0 ) * in
5757 GLM .preds(eta, eta, mylinks, linkArray, totflops)
58- GLM .derivs(eta, ftarg , eta, mylinks, linkArray, totflops)
58+ GLM .derivs(eta, targs , eta, mylinks, linkArray, totflops)
5959 if (dweights.asInstanceOf [AnyRef ] != null ) eta ~ eta ∘ dweights
6060 updatemats(0 ) ~ eta *^ in
6161 if (mask.asInstanceOf [AnyRef ] != null ) {
@@ -64,21 +64,21 @@ class GLM(opts:GLM.Opts) extends RegressionModel(opts) {
6464 }
6565
6666 def meval (in: Mat ): FMat = {
67- val targs = targets * in
68- min(targs, 1f , targs)
69- val alltargs = if (targmap.asInstanceOf [AnyRef ] != null ) targmap * targs else targs
70- val dweights = if (iweight.asInstanceOf [AnyRef ] != null ) iweight * in else null
71- meval3(in, alltargs, dweights)
67+ val targs = targets * in;
68+ min(targs, 1f , targs);
69+ val dweights = if (iweight.asInstanceOf [AnyRef ] != null ) iweight * in else null ;
70+ meval3(in, targs, dweights);
7271 }
7372
7473 def meval2 (in: Mat , targ: Mat ): FMat = meval3(in, targ, null )
7574
7675 def meval3 (in: Mat , targ: Mat , dweights: Mat ): FMat = {
77- val ftarg = full(targ)
76+ val ftarg = full(targ);
77+ val targs = if (! (putBack >= 0 ) && targmap.asInstanceOf [AnyRef ] != null ) targmap * ftarg else ftarg;
7878 val eta = modelmats(0 ) * in
7979 GLM .preds(eta, eta, mylinks, linkArray, totflops)
80- val v = GLM .llfun(eta, ftarg , mylinks, linkArray, totflops)
81- if (putBack >= 0 ) {ftarg <-- eta}
80+ val v = GLM .llfun(eta, targs , mylinks, linkArray, totflops)
81+ if (putBack >= 0 ) {targ <-- eta}
8282 if (dweights.asInstanceOf [AnyRef ] != null ) {
8383 FMat (sum(v ∘ dweights, 2 ) / sum(dweights))
8484 } else {
0 commit comments