Subreport: Logs for com.simiacryptus.ref.lang.ReferenceCountingBase
SingleDerivativeTester.java:101 executed in 0.00 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)));
Inputs: [ 0.08, 0.7, -0.128, 0.496 ]
Inputs Statistics: {meanExponent=-0.6122800817139336, negative=1, min=-0.128, max=0.7, mean=0.287, count=4, sum=1.148, positive=3, stdDev=0.3276141022605712, zeros=0}
Output: [ 0.19278888790601265, 0.358380669884858, 0.1565844913571327, 0.29224595085199667 ]
Outputs Statistics: {meanExponent=-0.6250190441116747, negative=0, min=0.1565844913571327, max=0.358380669884858, mean=0.25, count=4, sum=1.0, positive=4, stdDev=0.07989158054844746, zeros=0}
We validate the agreement between the implemented derivative of the inputs apply finite difference estimations:
SingleDerivativeTester.java:117 executed in 0.03 seconds (0.000 gc):
return testFeedback(
statistics,
component.addRef(),
RefUtil.addRef(inputPrototype),
outputPrototype.addRef());
},
outputPrototype.addRef(),
RefUtil.addRef(inputPrototype),
component.addRef()));
Feedback for input 0
Inputs Values: [ 0.08, 0.7, -0.128, 0.496 ]
Value Statistics: {meanExponent=-0.6122800817139336, negative=1, min=-0.128, max=0.7, mean=0.287, count=4, sum=1.148, positive=3, stdDev=0.3276141022605712, zeros=0}
Implemented Feedback: [ [ 0.1556213326059755, -0.06909181079411361, -0.030187749952070263, -0.05634177185979167 ], [ -0.06909181079411361, 0.22994396533773842, -0.05611685490614898, -0.10473529963747587 ], [ -0.030187749952070263, -0.05611685490614898, 0.13206578842356073, -0.04576118356534151 ], [ -0.05634177185979167, -0.10473529963747587, -0.04576118356534151, 0.20683825506260903 ] ]
Implemented Statistics: {meanExponent=-1.1256465449146806, negative=12, min=-0.10473529963747587, max=0.22994396533773842, mean=-6.938893903907228E-18, count=16, sum=-1.1102230246251565E-16, positive=4, stdDev=0.10824155592445873, zeros=0}
Measured Feedback: [ [ 0.15562611348329813, -0.0690939333791718, -0.03018867735654629, -0.0563435027478576 ], [ -0.06909278922440087, 0.2299472216427123, -0.056117649593900865, -0.10473678282552079 ], [ -0.03018878665689284, -0.0561187820657949, 0.1320703238130716, -0.04576275509149408 ], [ -0.05634294236056547, -0.10473747551364987, -0.04576213425394604, 0.20684255212788383 ] ]
Measured Statistics: {meanExponent=-1.1256356877642302, negative=12, min=-0.10473747551364987, max=0.2299472216427123, mean=-1.734723475976807E-13, count=16, sum=-2.7755575615628914E-12, positive=4, stdDev=0.10824390539016497, zeros=0}
Feedback Error: [ [ 4.780877322640986E-6, -2.12258505818963E-6, -9.274044760268496E-7, -1.7308880659316905E-6 ], [ -9.784302872628547E-7, 3.2563049738865146E-6, -7.946877518816287E-7, -1.4831880449234225E-6 ], [ -1.0367048225781716E-6, -1.9271596459202733E-6, 4.53538951086796E-6, -1.5715261525717228E-6 ], [ -1.1705007738060935E-6, -2.175876174001501E-6, -9.506886045340668E-7, 4.297065274799783E-6 ] ]
Error Statistics: {meanExponent=-5.752669768323731, negative=12, min=-2.175876174001501E-6, max=4.780877322640986E-6, mean=-1.7346454134203881E-13, count=16, sum=-2.775432661472621E-12, positive=4, stdDev=2.4863586930765205E-6, zeros=0}
Returns
{
"absoluteTol" : {
"count" : 16,
"sum" : 3.373927693982315E-5,
"min" : 7.946877518816287E-7,
"max" : 4.780877322640986E-6,
"sumOfSquare" : 9.89116728101954E-11,
"standardDeviation" : 1.3173244020507833E-6,
"average" : 2.1087048087389468E-6
},
"relativeTol" : {
"count" : 16,
"sum" : 1.9999610222100564E-4,
"min" : 7.080598772215514E-6,
"max" : 1.7170657358048413E-5,
"sumOfSquare" : 2.755221619326945E-9,
"standardDeviation" : 3.994676636258103E-6,
"average" : 1.2499756388812853E-5
}
}
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" : 16,
"sum" : 3.373927693982315E-5,
"min" : 7.946877518816287E-7,
"max" : 4.780877322640986E-6,
"sumOfSquare" : 9.89116728101954E-11,
"standardDeviation" : 1.3173244020507833E-6,
"average" : 2.1087048087389468E-6
},
"relativeTol" : {
"count" : 16,
"sum" : 1.9999610222100564E-4,
"min" : 7.080598772215514E-6,
"max" : 1.7170657358048413E-5,
"sumOfSquare" : 2.755221619326945E-9,
"standardDeviation" : 3.994676636258103E-6,
"average" : 1.2499756388812853E-5
}
}
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));
Finite-Difference Derivative Accuracy:
absoluteTol: 2.1087e-06 +- 1.3173e-06 [7.9469e-07 - 4.7809e-06] (16#)
relativeTol: 1.2500e-05 +- 3.9947e-06 [7.0806e-06 - 1.7171e-05] (16#)
SingleDerivativeTester.java:156 executed in 0.01 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());
class | details | result |
---|---|---|
com.simiacryptus.mindseye.test.unit.SingleDerivativeTester | ToleranceStatistics{absoluteTol=2.1087e-06 +- 1.3173e-06 [7.9469e-07 - 4.7809e-06] (16#), relativeTol=1.2500e-05 +- 3.9947e-06 [7.0806e-06 - 1.7171e-05] (16#)} | OK |
{
"result": "OK",
"performance": {
"execution_time": "0.159",
"gc_time": "0.097"
},
"created_on": 1586737193258,
"file_name": "derivativeTest",
"report": {
"simpleName": "Basic",
"canonicalName": "com.simiacryptus.mindseye.layers.java.SoftmaxLayerTest.Basic",
"link": "https://github.com/SimiaCryptus/mindseye-java/tree/93db34cedee48c0202777a2b25deddf1dfaf5731/src/test/java/com/simiacryptus/mindseye/layers/java/SoftmaxLayerTest.java",
"javaDoc": ""
},
"archive": "s3://code.simiacrypt.us/tests/com/simiacryptus/mindseye/layers/java/SoftmaxLayer/Basic/derivativeTest/202004131953",
"id": "63dd35ed-4e9d-4cde-a846-c6778879ad54",
"report_type": "Components",
"display_name": "Derivative Validation",
"target": {
"simpleName": "SoftmaxLayer",
"canonicalName": "com.simiacryptus.mindseye.layers.java.SoftmaxLayer",
"link": "https://github.com/SimiaCryptus/mindseye-java/tree/93db34cedee48c0202777a2b25deddf1dfaf5731/src/main/java/com/simiacryptus/mindseye/layers/java/SoftmaxLayer.java",
"javaDoc": ""
}
}