anchor.diff:          mi.ParameterStorage.[!mgp.TrnSigma] <- trn_sigma_val
   
   
  -        ///generates random test inputs
  +        ///run GpTransferModel with random test inputs
           let randomTest () =
  +
  +            //generate random test inputs
               let inp_meanhost = rand.UniformArrayND (-5.0f ,5.0f) [1;ngps]
               let inp_mean_val = inp_meanhost |> post device
   
  
positive.code:             printfn "pred_mean=\n%A" pred_mean
              printfn "pred_cov=\n%A" pred_cov
  
              testInOut
          
          printfn "Testing Multi GP Transfer Model"
          let testList = [1..ntest]
                         |> List.map (fun _-> randomTest () )
  
negative.code:         mb.SetSize nTrnSmpls ntraining
          let mi = mb.Instantiate device
  
          //model outputs
          let pred_mean, pred_cov = MultiGPLayer.pred mgp inp_mean inp_cov
          let pred_mean_cov_fn = mi.Func (pred_mean, pred_cov) |> arg2 inp_mean inp_cov
  
  
          //creating random training vectors
          let trn_x_list = [1..ngps] |> randomSortedLists rand (-5.0f,5.0f) ntraining 
          let trn_x_host = trn_x_list |> ArrayNDHost.ofList2D
  
          let trn_t_list = trn_x_list |> List.map(fun list -> randPolynomial rand list)
          let trn_t_host = trn_t_list |> ArrayNDHost.ofList2D
  
          printfn "Trn_x =\n%A" trn_x_host
          printfn"Trn_t =\n%A" trn_t_host
  
          ////lengthscale vectore hardcoded
          //let ls_host = [1.0f; 1.5f; 2.0f] |> ArrayNDHost.ofList 
  
          //random lengthscale vector
          let ls_host = [1..ngps] |> List.map (fun x -> randSingleInRange rand (0.0, 2.0)) |> ArrayNDHost.ofList
          
          //sigma vector hardcoded
          let trn_sigma_host = ArrayNDHost.zeros<single> [ngps;ntraining]
  
  
          //save train parameters
          let trainInp = {
              Lengthscale = ls_host;
              Trn_X = trn_x_host;
              Trn_T = trn_t_host;
              Trn_Sigma = trn_sigma_host}
  
          let trainData = [trainInp] |> Dataset.FromSamples
          let trainFileName = sprintf "TrainData.h5"
          trainData.Save(trainFileName)
  
          //transfer train parametters to device (Host or GPU)
          let ls_val = ls_host |> post device
          let trn_x_val = trn_x_host  |> post device
          let trn_t_val = trn_t_host  |> post device
  