anchor.diff:                  
           
           //loss expression
  -        let loss = LossLayer.loss LossLayer.MSE pred target
  +        let loss = LossLayer.loss LossLayer.MSE pred.T target.T
   
           // optimizer
           let opt =  Adam (loss, mi.ParameterVector, dev)
  
positive.code:         mb.SetSize nClass (fullClassificationDataset.[0].Target |> ArrayND.nElems)
          mb.SetSize nTrn 20
  
          let softmax act = exp act / Expr.sumKeepingAxis 0 (exp act)
  
          let mi = mb.Instantiate dev
          let pred, _ = GPTransferUnit.pred gptu (InputLayer.transform input)
          
  //        let pred = softmax pred
  //        let loss = -target * log pred |> Expr.sumAxis 0 |> Expr.mean
  //        let loss = loss |> Expr.dump "loss"
          
          // loss expression
          let loss = LossLayer.loss LossLayer.CrossEntropy pred target
  
          // optimizer
          let opt =  Adam (loss, mi.ParameterVector, dev)
  
negative.code:             TargetLoss         = None  
              MinIters           = Some 100 
              MaxIters           = None  
              LearningRates      = [1e-3; 1e-4; 1e-5; 1e-6]                               
              CheckpointDir      = None  
              DiscardCheckpoint  = false 
              DumpPrefix         = None
  