anchor.diff:          let softmax act = exp act / (Expr.sumKeepingAxis 1 (exp act) + 1e-3f)
           
   //        let pred = softmax pred + 1e-3f
  -        let pred = pred|> Expr.dump "pred"
  +        let pred = pred |> Expr.dump "pred"
           let pred = pred |> Expr.checkFinite "pred"
   //        let loss = -target * log pred |> Expr.sumAxis 0 |> Expr.mean
   //        let loss = loss |> Expr.dump "loss"
  
positive.code: 
      ///Retruns the index of the maximum element in an ArrayND
      let maxPosition (inAry: ArrayNDHostT<single>) =
          let maxElem = inAry |> ArrayND.maxAxis 0
          let maxElem = Seq.head (ArrayND.allElems maxElem)
          let pos = ArrayND.allElems inAry |> Seq.findIndex (fun elem -> elem = maxElem)
          ArrayNDHost.scalar (single pos)
  
      ///Retruns the index of the maximum element alone one axis od an ArrayND
      let maxPositionAxis dim inAry= 
          ArrayND.axisReduce maxPosition dim inAry
      let aryToHost (ary: ArrayNDT<single>) =
          match ary with
          | :?  ArrayNDCudaT<single> as predCuda -> 
  
negative.code:                                                 DumpPrefix         = None
                                                  MaxIters           = Some 300
                                                  }
          let trnErr,valErr,tstErr = classificationErrors  batchSize data pred_fun
          printfn "Classification errors before training:"
          printfn "Train Error = %f%%, Validation Error = %f%%, Test Error =%f%% " (trnErr*100.0f) (valErr*100.0f) (tstErr*100.0f)
          let result = Train.train trainable data trainCfg
          //printfn "Training Time: %A" sw.Elapsed
          
  