anchor.diff:     (netAcc.SecondHiddenLayer.Weights |> matrixToString) + "," +
      (netAcc.SecondHiddenLayer.Bias |> vectorToString) + "," +
      (netAcc.OutputLayer.Weights |> matrixToString) + "," +
  -   (netAcc.OutputLayer.Bias |> vectorToString)
  +   (netAcc.OutputLayer.Bias |> vectorToString) + "\n"
     logToDataFile "weightsAndBiases.txt" <| logNetworkParameters
   
     if epoch % 100 = 0 then printfn "%f %f" rms_trained_err rms_validated_err
  
positive.code:    log fullfilepath
  
    (* write error *)
    let errors trained_err validated_err = trained_err + "," + validated_err
    logToDataFile "errors.txt" <| errors (rms_trained_err.ToString()) (rms_validated_err.ToString())
  
    (* write appropriate parameters.
  
negative.code: let testing_samples = data "testing_samples.txt"
  let test_outputs = data "test_outputs.txt"
  
  let epoch = 1000
  
  printfn "Training..."
  let trained = train epoch network (training_samples, teaching_inputs) (testing_samples, test_outputs) 