1. Test Modules
  2. Differential Validation
    1. Feedback Validation
    2. Learning Validation
    3. Total Accuracy
    4. Frozen and Alive Status
  3. Results

Subreport: Logs for com.simiacryptus.ref.lang.ReferenceCountingBase

Test Modules

Using Seed 2896368842639939584

Differential Validation

SingleDerivativeTester.java:101 executed in 0.01 seconds (0.000 gc):

        log.info(RefString.format("Inputs: %s", prettyPrint(inputPrototype)));
        log.info(RefString.format("Inputs Statistics: %s", printStats(inputPrototype)));
        log.info(RefString.format("Output: %s", outputPrototype.prettyPrint()));
        assert outputPrototype != null;
        log.info(RefString.format("Outputs Statistics: %s", outputPrototype.getScalarStatistics()));
      },
      outputPrototype.addRef(),
      RefUtil.addRef(inputPrototype)));
Logging
Inputs: [
[ [ 0.08 ], [ 1.208 ], [ 1.108 ], [ 1.032 ], [ 1.612 ], [ 1.552 ], [ -0.804 ], [ -1.832 ] ],
[ [ 0.7 ], [ -1.72 ], [ 0.028 ], [ 0.3 ], [ 1.64 ], [ 1.876 ], [ 0.148 ], [ 1.368 ] ],
[ [ -0.128 ], [ -1.028 ], [ -0.712 ], [ 0.636 ], [ 0.392 ], [ -0.408 ], [ -0.032 ], [ -1.54 ] ],
[ [ 0.496 ], [ -0.384 ], [ 1.048 ], [ -0.176 ], [ 0.092 ], [ -0.384 ], [ -0.892 ], [ -0.876 ] ],
[ [ -0.608 ], [ -0.852 ], [ -1.616 ], [ 1.556 ], [ -0.556 ], [ -1.572 ], [ 1.62 ], [ 1.652 ] ],
[ [ 1.764 ], [ 1.912 ], [ 1.356 ], [ 0.788 ], [ -1.476 ], [ -1.516 ], [ -1.856 ], [ -1.424 ] ],
[ [ 0.048 ], [ -1.688 ], [ 1.512 ], [ -0.768 ], [ 1.704 ], [ -0.636 ], [ 0.996 ], [ -0.464 ] ],
[ [ 1.524 ], [ -0.804 ], [ 1.556 ], [ -0.068 ], [ -1.228 ], [ -1.492 ], [ 0.048 ], [ -0.012 ] ]
],
[
[ [ -0.472 ], [ -0.316 ], [ -1.552 ], [ -1.484 ], [ -1.248 ], [ 0.56 ], [ -0.312 ], [ 0.812 ] ],
[ [ -0.504 ], [ 1.156 ], [ 0.016 ], [ 1.352 ], [ 1.324 ], [ -1.656 ], [ -0.968 ], [ -1.808 ] ],
[ [ -1.156 ], [ 0.972 ], [ 1.288 ], [ -0.888 ], [ 0.344 ], [ -0.856 ], [ -0.892 ], [ 0.644 ] ],
[ [ 0.184 ], [ -1.116 ], [ 1.628 ], [ -1.256 ], [ -1.34 ], [ -1.16 ], [ -0.808 ], [ 0.66 ] ],
[ [ 1.98 ], [ 0.52 ], [ -1.564 ], [ 1.916 ], [ 1.776 ], [ 0.688 ], [ -1.1 ], [ -1.76 ] ],
[ [ -0.628 ], [ -1.456 ], [ -1.764 ], [ -1.724 ], [ 0.52 ], [ -0.124 ], [ -0.968 ], [ 0.82 ] ],
[ [ -0.368 ], [ -2.0 ], [ 0.692 ], [ -1.664 ], [ 1.444 ], [ -1.176 ], [ -0.784 ], [ 1.24 ] ],
[ [ -1.16 ], [ 1.42 ], [ 1.628 ], [ 0.82 ], [ 1.956 ], [ -1.256 ], [ 0.012 ], [ -1.58 ] ]
],
[
[ [ 1.168 ], [ -1.34 ], [ 0.656 ], [ -1.104 ], [ 0.784 ], [ 0.412 ], [ 1.652 ], [ -1.384 ] ],
[ [ 1.288 ], [ -1.176 ], [ -0.848 ], [ -0.924 ], [ 0.8 ], [ 0.568 ], [ -0.448 ], [ 0.376 ] ],
[ [ 1.972 ], [ -1.536 ], [ 1.82 ], [ 1.66 ], [ 1.18 ], [ -0.652 ], [ 1.316 ], [ -0.452 ] ],
[ [ 0.672 ], [ -1.808 ], [ -1.976 ], [ 1.132 ], [ 0.632 ], [ 0.184 ], [ 0.464 ], [ 0.448 ] ],
[ [ 1.256 ], [ -0.684 ], [ 0.488 ], [ 1.012 ], [ 1.264 ], [ -0.06 ], [ 1.352 ], [ -0.344 ] ],
[ [ 1.144 ], [ -1.552 ], [ 0.688 ], [ -0.26 ], [ 0.184 ], [ -1.524 ], [ 1.384 ], [ 1.7 ] ],
[ [ 1.66 ], [ 1.144 ], [ -0.488 ], [ 1.596 ], [ -0.212 ], [ 0.324 ], [ 1.432 ], [ 0.356 ] ],
[ [ 1.836 ], [ -1.524 ], [ 0.072 ], [ 0.248 ], [ -1.696 ], [ -0.356 ], [ 0.98 ], [ 1.616 ] ]
]
Inputs Statistics: {meanExponent=-0.1923523558471011, negative=32, min=-1.856, max=1.912, mean=0.059375000000000025, count=64, sum=3.8000000000000016, positive=32, stdDev=1.1518728703181615, zeros=0},
{meanExponent=-0.06999649029273047, negative=36, min=-2.0, max=1.98, mean=-0.19524999999999998, count=64, sum=-12.495999999999999, positive=28, stdDev=1.186466998066107, zeros=0},
{meanExponent=-0.10608747940350909, negative=23, min=-1.976, max=1.972, mean=0.29018750000000004, count=64, sum=18.572000000000003, positive=41, stdDev=1.0924541019391842, zeros=0}
Output: [
[ [ -0.04410368 ], [ 0.51151552 ], [ -1.1280680960000002 ], [ 1.6907627520000001 ], [ -1.5772323840000002 ], [ 0.35807744 ], [ 0.414400896 ], [ 2.058816256 ] ],
[ [ -0.4544064 ], [ 2.3382643199999995 ], [ -3.79904E-4 ], [ -0.3747744 ], [ 1.737088 ], [ -1.7645806079999997 ], [ 0.064182272 ], [ -0.9299773440000002 ] ],
[ [ 0.29179289599999997 ], [ 1.534795776 ], [ -1.66904192 ], [ -0.93751488 ], [ 0.15912063999999998 ], [ -0.22770969599999996 ], [ 0.037563904 ], [ 0.44827552000000004 ] ],
[ [ 0.061329408 ], [ -0.7748075520000001 ], [ -3.3713405439999997 ], [ 0.25023539199999995 ], [ -0.07791296 ], [ 0.08196096 ], [ 0.33442150400000004 ], [ -0.25901568 ] ],
[ [ -1.51202304 ], [ 0.30303936000000004 ], [ 1.2333829120000002 ], [ 3.017071552 ], [ -1.2481443840000002 ], [ 0.06489216 ], [ -2.4092640000000003 ], [ 1.0001868799999998 ] ],
[ [ -1.267314048 ], [ 4.320569344 ], [ -1.645684992 ], [ 0.35321312 ], [ -0.14122368 ], [ -0.286487616 ], [ 2.4865054719999997 ], [ -1.9850559999999997 ] ],
[ [ -0.029322239999999996 ], [ 3.8621439999999994 ], [ -0.510596352 ], [ 2.039611392 ], [ -0.5216421119999999 ], [ 0.242331264 ], [ -1.118197248 ], [ -0.20482815999999998 ] ],
[ [ -3.2457542399999997 ], [ 1.73992032 ], [ 0.18238809599999997 ], [ -0.01382848 ], [ 4.073737728 ], [ -0.667126912 ], [ 5.6448E-4 ], [ 0.030639360000000004 ] ]
]
Outputs Statistics: {meanExponent=-0.36843632554334066, negative=31, min=-3.3713405439999997, max=4.320569344, mean=0.10821002100000007, count=64, sum=6.925441344000005, positive=33, stdDev=1.5227143658840403, zeros=0}

Feedback Validation

We validate the agreement between the implemented derivative of the inputs apply finite difference estimations:

SingleDerivativeTester.java:117 executed in 3.95 seconds (0.000 gc):

        return testFeedback(
            statistics,
            component.addRef(),
            RefUtil.addRef(inputPrototype),
            outputPrototype.addRef());
      },
      outputPrototype.addRef(),
      RefUtil.addRef(inputPrototype),
      component.addRef()));
Logging
Feedback for input 0
Inputs Values: [
[ [ 0.08 ], [ 1.208 ], [ 1.108 ], [ 1.032 ], [ 1.612 ], [ 1.552 ], [ -0.804 ], [ -1.832 ] ],
[ [ 0.7 ], [ -1.72 ], [ 0.028 ], [ 0.3 ], [ 1.64 ], [ 1.876 ], [ 0.148 ], [ 1.368 ] ],
[ [ -0.128 ], [ -1.028 ], [ -0.712 ], [ 0.636 ], [ 0.392 ], [ -0.408 ], [ -0.032 ], [ -1.54 ] ],
[ [ 0.496 ], [ -0.384 ], [ 1.048 ], [ -0.176 ], [ 0.092 ], [ -0.384 ], [ -0.892 ], [ -0.876 ] ],
[ [ -0.608 ], [ -0.852 ], [ -1.616 ], [ 1.556 ], [ -0.556 ], [ -1.572 ], [ 1.62 ], [ 1.652 ] ],
[ [ 1.764 ], [ 1.912 ], [ 1.356 ], [ 0.788 ], [ -1.476 ], [ -1.516 ], [ -1.856 ], [ -1.424 ] ],
[ [ 0.048 ], [ -1.688 ], [ 1.512 ], [ -0.768 ], [ 1.704 ], [ -0.636 ], [ 0.996 ], [ -0.464 ] ],
[ [ 1.524 ], [ -0.804 ], [ 1.556 ], [ -0.068 ], [ -1.228 ], [ -1.492 ], [ 0.048 ], [ -0.012 ] ]
]
Value Statistics: {meanExponent=-0.1923523558471011, negative=32, min=-1.856, max=1.912, mean=0.059375000000000025, count=64, sum=3.8000000000000016, positive=32, stdDev=1.1518728703181615, zeros=0}
Implemented Feedback: [ [ -0.5512959999999999, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... ], [ 0.0, -0.6491520000000001, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... ], [ 0.0, 0.0, -2.279632, 0.0, 0.0, 0.0, 0.0, 0.0, ... ], [ 0.0, 0.0, 0.0, 0.12364800000000001, 0.0, 0.0, 0.0, 0.0, ... ], [ 0.0, 0.0, 0.0, 0.0, 2.48688, 0.0, 0.0, 0.0, ... ], [ 0.0, 0.0, 0.0, 0.0, 0.0, -0.718432, 0.0, 0.0, ... ], [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.61088, 0.0, ... ], [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -2.12976, ... ], ... ]
Implemented Statistics: {meanExponent=-0.17608396969623952, negative=39, min=-3.317376, max=2.48688, mean=-0.005672863281249998, count=4096, sum=-23.236047999999993, positive=25, stdDev=0.17001716531024083, zeros=4032}
Measured Feedback: [ [ -0.5512959999999512, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... ], [ 0.0, -0.6491519999995976, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... ], [ 0.0, 0.0, -2.2796319999995873, 0.0, 0.0, 0.0, 0.0, 0.0, ... ], [ 0.0, 0.0, 0.0, 0.12364800000004561, 0.0, 0.0, 0.0, 0.0, ... ], [ 0.0, 0.0, 0.0, 0.0, 2.4868800000033, 0.0, 0.0, 0.0, ... ], [ 0.0, 0.0, 0.0, 0.0, 0.0, -0.7184319999975486, 0.0, 0.0, ... ], [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.6108800000000775, 0.0, ... ], [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -2.129760000002534, ... ], ... ]
Measured Statistics: {meanExponent=-0.17608396969615328, negative=39, min=-3.317376000007144, max=2.4868800000033, mean=-0.00567286328125, count=4096, sum=-23.236048, positive=25, stdDev=0.1700171653102923, zeros=4032}
Feedback Error: [ [ 4.873879078104437E-14, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... ], [ 0.0, 4.0245584642661925E-13, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... ], [ 0.0, 0.0, 4.1255887595070817E-13, 0.0, 0.0, 0.0, 0.0, 0.0, ... ], [ 0.0, 0.0, 0.0, 4.5602410736478305E-14, 0.0, 0.0, 0.0, 0.0, ... ], [ 0.0, 0.0, 0.0, 0.0, 3.2995828291859652E-12, 0.0, 0.0, 0.0, ... ], [ 0.0, 0.0, 0.0, 0.0, 0.0, 2.4513724383723456E-12, 0.0, 0.0, ... ], [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -7.749356711883593E-14, 0.0, ... ], [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -2.5339730314044573E-12, ... ], ... ]
Error Statistics: {meanExponent=-12.64136744759164, negative=32, min=-7.144063118857957E-12, max=3.2995828291859652E-12, mean=1.2019397521538522E-18, count=4096, sum=4.9231452248221785E-15, positive=32, stdDev=1.7170610455434725E-13, zeros=4032}
Feedback for input 1
Inputs Values: [
[ [ -0.472 ], [ -0.316 ], [ -1.552 ], [ -1.484 ], [ -1.248 ], [ 0.56 ], [ -0.312 ], [ 0.812 ] ],
[ [ -0.504 ], [ 1.156 ], [ 0.016 ], [ 1.352 ], [ 1.324 ], [ -1.656 ], [ -0.968 ], [ -1.808 ] ],
[ [ -1.156 ], [ 0.972 ], [ 1.288 ], [ -0.888 ], [ 0.344 ], [ -0.856 ], [ -0.892 ], [ 0.644 ] ],
[ [ 0.184 ], [ -1.116 ], [ 1.628 ], [ -1.256 ], [ -1.34 ], [ -1.16 ], [ -0.808 ], [ 0.66 ] ],
[ [ 1.98 ], [ 0.52 ], [ -1.564 ], [ 1.916 ], [ 1.776 ], [ 0.688 ], [ -1.1 ], [ -1.76 ] ],
[ [ -0.628 ], [ -1.456 ], [ -1.764 ], [ -1.724 ], [ 0.52 ], [ -0.124 ], [ -0.968 ], [ 0.82 ] ],
[ [ -0.368 ], [ -2.0 ], [ 0.692 ], [ -1.664 ], [ 1.444 ], [ -1.176 ], [ -0.784 ], [ 1.24 ] ],
[ [ -1.16 ], [ 1.42 ], [ 1.628 ], [ 0.82 ], [ 1.956 ], [ -1.256 ], [ 0.012 ], [ -1.58 ] ]
]
Value Statistics: {meanExponent=-0.06999649029273047, negative=36, min=-2.0, max=1.98, mean=-0.19524999999999998, count=64, sum=-12.495999999999999, positive=28, stdDev=1.186466998066107, zeros=0}
Implemented Feedback: [ [ 0.09344, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... ], [ 0.0, 0.9016, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... ], [ 0.0, 0.0, -0.25241600000000003, 0.0, 0.0, 0.0, 0.0, 0.0, ... ], [ 0.0, 0.0, 0.0, 0.333312, 0.0, 0.0, 0.0, 0.0, ... ], [ 0.0, 0.0, 0.0, 0.0, -0.763648, 0.0, 0.0, 0.0, ... ], [ 0.0, 0.0, 0.0, 0.0, 0.0, 2.018016, 0.0, 0.0, ... ], [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.07968, 0.0, ... ], [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.798064, ... ], ... ]
Implemented Statistics: {meanExponent=-0.29843983525061013, negative=31, min=-2.967424, max=2.798064, mean=0.0022253164062500004, count=4096, sum=9.114896000000002, positive=33, stdDev=0.15421185280630859, zeros=4032}
Measured Feedback: [ [ 0.09344000000001407, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... ], [ 0.0, 0.9016000000000579, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... ], [ 0.0, 0.0, -0.25241600000003306, 0.0, 0.0, 0.0, 0.0, 0.0, ... ], [ 0.0, 0.0, 0.0, 0.3333120000000023, 0.0, 0.0, 0.0, 0.0, ... ], [ 0.0, 0.0, 0.0, 0.0, -0.763647999999506, 0.0, 0.0, 0.0, ... ], [ 0.0, 0.0, 0.0, 0.0, 0.0, 2.0180160000027314, 0.0, 0.0, ... ], [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.07967999999997089, 0.0, ... ], [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.7980639999958257, ... ], ... ]
Measured Statistics: {meanExponent=-0.29843983525071677, negative=31, min=-2.9674239999977203, max=2.7980639999958257, mean=0.002225316406250024, count=4096, sum=9.114896000000098, positive=33, stdDev=0.1542118528062695, zeros=4032}
Feedback Error: [ [ 1.4072076837123859E-14, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... ], [ 0.0, 5.795364188543317E-14, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... ], [ 0.0, 0.0, -3.302913498259841E-14, 0.0, 0.0, 0.0, 0.0, 0.0, ... ], [ 0.0, 0.0, 0.0, 2.275957200481571E-15, 0.0, 0.0, 0.0, 0.0, ... ], [ 0.0, 0.0, 0.0, 0.0, 4.939382236557321E-13, 0.0, 0.0, 0.0, ... ], [ 0.0, 0.0, 0.0, 0.0, 0.0, 2.731592729787735E-12, 0.0, 0.0, ... ], [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -2.911559882079473E-14, 0.0, ... ], [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -4.1744385725905886E-12, ... ], ... ]
Error Statistics: {meanExponent=-12.74929135289587, negative=26, min=-4.232614259080947E-12, max=3.9044323330017505E-12, mean=2.3144328250776502E-17, count=4096, sum=9.479916851518055E-14, positive=38, stdDev=1.5726411179734865E-13, zeros=4032}
Feedback for input 2
Inputs Values: [
[ [ 1.168 ], [ -1.34 ], [ 0.656 ], [ -1.104 ], [ 0.784 ], [ 0.412 ], [ 1.652 ], [ -1.384 ] ],
[ [ 1.288 ], [ -1.176 ], [ -0.848 ], [ -0.924 ], [ 0.8 ], [ 0.568 ], [ -0.448 ], [ 0.376 ] ],
[ [ 1.972 ], [ -1.536 ], [ 1.82 ], [ 1.66 ], [ 1.18 ], [ -0.652 ], [ 1.316 ], [ -0.452 ] ],
[ [ 0.672 ], [ -1.808 ], [ -1.976 ], [ 1.132 ], [ 0.632 ], [ 0.184 ], [ 0.464 ], [ 0.448 ] ],
[ [ 1.256 ], [ -0.684 ], [ 0.488 ], [ 1.012 ], [ 1.264 ], [ -0.06 ], [ 1.352 ], [ -0.344 ] ],
[ [ 1.144 ], [ -1.552 ], [ 0.688 ], [ -0.26 ], [ 0.184 ], [ -1.524 ], [ 1.384 ], [ 1.7 ] ],
[ [ 1.66 ], [ 1.144 ], [ -0.488 ], [ 1.596 ], [ -0.212 ], [ 0.324 ], [ 1.432 ], [ 0.356 ] ],
[ [ 1.836 ], [ -1.524 ], [ 0.072 ], [ 0.248 ], [ -1.696 ], [ -0.356 ], [ 0.98 ], [ 1.616 ] ]
]
Value Statistics: {meanExponent=-0.10608747940350909, negative=23, min=-1.976, max=1.972, mean=0.29018750000000004, count=64, sum=18.572000000000003, positive=41, stdDev=1.0924541019391842, zeros=0}
Implemented Feedback: [ [ -0.03776, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... ], [ 0.0, -0.3528, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... ], [ 0.0, 0.0, 0.147968, 0.0, 0.0, 0.0, 0.0, 0.0, ... ], [ 0.0, 0.0, 0.0, 0.091264, 0.0, 0.0, 0.0, 0.0, ... ], [ 0.0, 0.0, 0.0, 0.0, -1.20384, 0.0, 0.0, 0.0, ... ], [ 0.0, 0.0, 0.0, 0.0, 0.0, -1.107792, 0.0, 0.0, ... ], [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.017664, 0.0, ... ], [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -1.7678399999999999, ... ], ... ]
Implemented Statistics: {meanExponent=-0.26234884613983145, negative=36, min=-3.1066559999999996, max=3.376, mean=-0.00374330078125, count=4096, sum=-15.33256, positive=28, stdDev=0.1842207507046874, zeros=4032}
Measured Feedback: [ [ -0.03775999999997004, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... ], [ 0.0, -0.352800000000264, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... ], [ 0.0, 0.0, 0.1479679999999428, 0.0, 0.0, 0.0, 0.0, 0.0, ... ], [ 0.0, 0.0, 0.0, 0.09126399999996593, 0.0, 0.0, 0.0, 0.0, ... ], [ 0.0, 0.0, 0.0, 0.0, -1.203839999999179, 0.0, 0.0, 0.0, ... ], [ 0.0, 0.0, 0.0, 0.0, 0.0, -1.1077919999991082, 0.0, 0.0, ... ], [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.017664000000021385, 0.0, ... ], [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -1.7678400000020744, ... ], ... ]
Measured Statistics: {meanExponent=-0.26234884613990656, negative=36, min=-3.1066559999981536, max=3.3760000000038204, mean=-0.0037433007812469944, count=4096, sum=-15.332559999987689, positive=28, stdDev=0.18422075070467633, zeros=4032}
Feedback Error: [ [ 2.996214387707141E-14, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... ], [ 0.0, -2.6401103525586223E-13, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... ], [ 0.0, 0.0, -5.717648576819556E-14, 0.0, 0.0, 0.0, 0.0, 0.0, ... ], [ 0.0, 0.0, 0.0, -3.406996906818449E-14, 0.0, 0.0, 0.0, 0.0, ... ], [ 0.0, 0.0, 0.0, 0.0, 8.211209490127658E-13, 0.0, 0.0, 0.0, ... ], [ 0.0, 0.0, 0.0, 0.0, 0.0, 8.919531779838508E-13, 0.0, 0.0, ... ], [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -2.1385671011842078E-14, 0.0, ... ], [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -2.0745627438145675E-12, ... ], ... ]
Error Statistics: {meanExponent=-12.75477465303994, negative=32, min=-2.0745627438145675E-12, max=3.820499472340089E-12, mean=3.0062818586822253E-15, count=4096, sum=1.2313730493162395E-11, positive=32, stdDev=1.1666736332958573E-13, zeros=4032}

Returns

    {
      "absoluteTol" : {
        "count" : 12288,
        "sum" : 1.3185826351147859E-10,
        "min" : 0.0,
        "max" : 7.144063118857957E-12,
        "sumOfSquare" : 2.778533852554584E-22,
        "standardDeviation" : 1.499887311279408E-13,
        "average" : 1.0730652955035692E-14
      },
      "relativeTol" : {
        "count" : 192,
        "sum" : 6.514899109107277E-11,
        "min" : 3.080803580298908E-16,
        "max" : 2.656530488997305E-12,
        "sumOfSquare" : 4.703565272804735E-23,
        "standardDeviation" : 3.603344033798684E-13,
        "average" : 3.393176619326707E-13
      }
    }

Learning Validation

We validate the agreement between the implemented derivative of the internal weights apply finite difference estimations:

SingleDerivativeTester.java:133 executed in 0.00 seconds (0.000 gc):

        return testLearning(
            statistics,
            component.addRef(),
            RefUtil.addRef(inputPrototype),
            outputPrototype.addRef());
      },
      outputPrototype.addRef(),
      RefUtil.addRef(inputPrototype),
      component.addRef()));

Returns

    {
      "absoluteTol" : {
        "count" : 12288,
        "sum" : 1.3185826351147859E-10,
        "min" : 0.0,
        "max" : 7.144063118857957E-12,
        "sumOfSquare" : 2.778533852554584E-22,
        "standardDeviation" : 1.499887311279408E-13,
        "average" : 1.0730652955035692E-14
      },
      "relativeTol" : {
        "count" : 192,
        "sum" : 6.514899109107277E-11,
        "min" : 3.080803580298908E-16,
        "max" : 2.656530488997305E-12,
        "sumOfSquare" : 4.703565272804735E-23,
        "standardDeviation" : 3.603344033798684E-13,
        "average" : 3.393176619326707E-13
      }
    }

Total Accuracy

The overall agreement accuracy between the implemented derivative and the finite difference estimations:

SingleDerivativeTester.java:148 executed in 0.00 seconds (0.000 gc):

    //log.info(String.format("Component: %s\nInputs: %s\noutput=%s", component, Arrays.toStream(inputPrototype), outputPrototype));
    log.info(RefString.format("Finite-Difference Derivative Accuracy:"));
    log.info(RefString.format("absoluteTol: %s", statistics.absoluteTol));
    log.info(RefString.format("relativeTol: %s", statistics.relativeTol));
Logging
Finite-Difference Derivative Accuracy:
absoluteTol: 1.0731e-14 +- 1.4999e-13 [0.0000e+00 - 7.1441e-12] (12288#)
relativeTol: 3.3932e-13 +- 3.6033e-13 [3.0808e-16 - 2.6565e-12] (192#)

Frozen and Alive Status

SingleDerivativeTester.java:156 executed in 0.02 seconds (0.000 gc):

    testFrozen(component.addRef(), RefUtil.addRef(inputPrototype));
    testUnFrozen(component.addRef(), RefUtil.addRef(inputPrototype));

LayerTests.java:425 executed in 0.00 seconds (0.000 gc):

    throwException(exceptions.addRef());

Results

classdetailsresult
com.simiacryptus.mindseye.test.unit.SingleDerivativeTesterToleranceStatistics{absoluteTol=1.0731e-14 +- 1.4999e-13 [0.0000e+00 - 7.1441e-12] (12288#), relativeTol=3.3932e-13 +- 3.6033e-13 [3.0808e-16 - 2.6565e-12] (192#)}OK
  {
    "result": "OK",
    "performance": {
      "execution_time": "4.699",
      "gc_time": "0.676"
    },
    "created_on": 1586737486934,
    "file_name": "derivativeTest",
    "report": {
      "simpleName": "Double3",
      "canonicalName": "com.simiacryptus.mindseye.layers.cudnn.NProductLayerTest.Double3",
      "link": "https://github.com/SimiaCryptus/mindseye-cudnn/tree/59d5b3318556370acb2d83ee6ec123ce0fc6974f/src/test/java/com/simiacryptus/mindseye/layers/cudnn/NProductLayerTest.java",
      "javaDoc": ""
    },
    "archive": "s3://code.simiacrypt.us/tests/com/simiacryptus/mindseye/layers/cudnn/NProductLayer/Double3/derivativeTest/202004132446",
    "id": "e57e9ed8-1ebb-4294-9a90-4dec9f7988c1",
    "report_type": "Components",
    "display_name": "Derivative Validation",
    "target": {
      "simpleName": "NProductLayer",
      "canonicalName": "com.simiacryptus.mindseye.layers.cudnn.NProductLayer",
      "link": "https://github.com/SimiaCryptus/mindseye-cudnn/tree/59d5b3318556370acb2d83ee6ec123ce0fc6974f/src/main/java/com/simiacryptus/mindseye/layers/cudnn/NProductLayer.java",
      "javaDoc": ""
    }
  }