1. Test Modules
  2. Network Diagram
  3. Training Characteristics
    1. Input Learning
      1. Gradient Descent
      2. Conjugate Gradient Descent
      3. Limited-Memory BFGS
    2. Results
  4. Results

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

Test Modules

Network Diagram

This is a network apply the following layout:

LayerTests.java:203 executed in 10.01 seconds (0.000 gc):

    return Graphviz.fromGraph((Graph) TestUtil.toGraph(((DAGNetwork) layer).addRef())).height(400).width(600)
        .render(Format.PNG).toImage();
java.lang.reflect.InvocationTargetException
java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
at com.simiacryptus.util.Util.throwException(Util.java:502)
at com.simiacryptus.notebook.MarkdownNotebookOutput.lambda$eval$dc58be99$1(MarkdownNotebookOutput.java:659)
at com.simiacryptus.util.test.SysOutInterceptor.withOutput(SysOutInterceptor.java:102)
at com.simiacryptus.notebook.MarkdownNotebookOutput.eval(MarkdownNotebookOutput.java:649)
at com.simiacryptus.notebook.NotebookOutput.eval(NotebookOutput.java:125)
at com.simiacryptus.mindseye.test.unit.LayerTests.renderGraph(LayerTests.java:203)
at com.simiacryptus.mindseye.test.unit.LayerTests.run(LayerTests.java:415)
at com.simiacryptus.mindseye.test.LayerTestBase.trainingTest(LayerTestBase.java:95)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:686)
at org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60)
at org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131)
at org.junit.jupiter.engine.extension.TimeoutInvocation.proceed(TimeoutInvocation.java:46)
at org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:149)
at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod(TimeoutExtension.java:140)
at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestMethod(TimeoutExtension.java:84)
at org.junit.jupiter.engine.execution.ExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(ExecutableInvoker.java:115)
at org.junit.jupiter.engine.execution.ExecutableInvoker.lambda$invoke$0(ExecutableInvoker.java:105)
at org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106)
at org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64)
at org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45)
at org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37)
at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:104)
at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:98)
at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$6(TestMethodTestDescriptor.java:205)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:201)
at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:137)
at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:71)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:135)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125)
at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80)
at java.util.ArrayList.forEach(Unknown Source)
at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125)
at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80)
at java.util.ArrayList.forEach(Unknown Source)
at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125)
at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80)
at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51)
at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:248)
at org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$5(DefaultLauncher.java:211)
at org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:226)
at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:199)
at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:141)
at org.junit.platform.runner.JUnitPlatform.run(JUnitPlatform.java:139)
at com.simiacryptus.util.test.MacroTestRunner.runTest(MacroTestRunner.java:94)
at com.simiacryptus.util.test.MacroTestRunner.lambda$null$8bb7732f$1(MacroTestRunner.java:177)
at com.simiacryptus.aws.TendrilControl.lambda$null$0(TendrilControl.java:86)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.simiacryptus.ref.lang.RefUtil$RefWrapperHandler.invoke(RefUtil.java:238)
at com.sun.proxy.$Proxy44.get(Unknown Source)
at com.simiacryptus.notebook.MarkdownNotebookOutput.lambda$eval$dc58be99$1(MarkdownNotebookOutput.java:657)
... 71 more
Caused by: guru.nidi.graphviz.engine.GraphvizException: Engine took too long to respond, try setting a higher timout
at guru.nidi.graphviz.engine.GraphvizServerEngine.execute(GraphvizServerEngine.java:49)
at guru.nidi.graphviz.engine.Graphviz.execute(Graphviz.java:246)
at guru.nidi.graphviz.engine.Renderer.execute(Renderer.java:134)
at guru.nidi.graphviz.engine.Renderer.toImage(Renderer.java:105)
at com.simiacryptus.mindseye.test.unit.LayerTests.lambda$renderGraph$12c65ef7$1(LayerTests.java:205)
... 78 more


Using Seed 1057349195736932352

Training Characteristics

Input Learning

In this apply, we use a network to learn this target input, given it's pre-evaluated output:

TrainingTester.java:332 executed in 0.00 seconds (0.000 gc):

    return RefArrays.stream(RefUtil.addRef(input_target)).flatMap(RefArrays::stream).map(x -> {
      try {
        return x.prettyPrint();
      } finally {
        x.freeRef();
      }
    }).reduce((a, b) -> a + "\n" + b).orElse("");

Returns

    [
    	[ [ 0.08 ] ]
    ]
    [
    	[ [ 0.08 ] ]
    ]
    [
    	[ [ 0.08 ] ]
    ]
    [
    	[ [ 0.08 ] ]
    ]
    [
    	[ [ 0.08 ] ]
    ]

Gradient Descent

First, we train using basic gradient descent method apply weak line search conditions.

TrainingTester.java:480 executed in 0.12 seconds (0.000 gc):

    IterativeTrainer iterativeTrainer = new IterativeTrainer(trainable.addRef());
    try {
      iterativeTrainer.setLineSearchFactory(label -> new ArmijoWolfeSearch());
      iterativeTrainer.setOrientation(new GradientDescent());
      iterativeTrainer.setMonitor(TrainingTester.getMonitor(history));
      iterativeTrainer.setTimeout(30, TimeUnit.SECONDS);
      iterativeTrainer.setMaxIterations(250);
      iterativeTrainer.setTerminateThreshold(0);
      return iterativeTrainer.run();
    } finally {
      iterativeTrainer.freeRef();
    }
Logging
Reset training subject: 1909200679423
Reset training subject: 1909213201106
Constructing line search parameters: GD
th(0)=0.29321303419972966;dx=-0.20000000000000004
New Minimum: 0.29321303419972966 > 0.0
END: th(2.154434690031884)=0.0; dx=-0.032 evalInputDelta=0.29321303419972966
Fitness changed from 0.29321303419972966 to 0.0
Iteration 1 complete. Error: 0.0 Total: 0.0414; Orientation: 0.0022; Line Search: 0.0136
th(0)=0.0;dx=-0.0051199999999999996
Armijo: th(4.641588833612779)=0.0; dx=-0.0051199999999999996 evalInputDelta=0.0
Armijo: th(2.3207944168063896)=0.0; dx=-0.0051199999999999996 evalInputDelta=0.0
Armijo: th(0.7735981389354633)=0.0; dx=-0.0051199999999999996 evalInputDelta=0.0
Armijo: th(0.1933995347338658)=0.0; dx=-0.0051199999999999996 evalInputDelta=0.0
Armijo: th(0.03867990694677316)=0.0; dx=-0.0051199999999999996 evalInputDelta=0.0
Armijo: th(0.006446651157795527)=0.0; dx=-0.0051199999999999996 evalInputDelta=0.0
Armijo: th(9.20950165399361E-4)=0.0; dx=-0.0051199999999999996 evalInputDelta=0.0
Armijo: th(1.1511877067492013E-4)=0.0; dx=-0.0051199999999999996 evalInputDelta=0.0
Armijo: th(1.279097451943557E-5)=0.0; dx=-0.0051199999999999996 evalInputDelta=0.0
Armijo: th(1.279097451943557E-6)=0.0; dx=-0.0051199999999999996 evalInputDelta=0.0
Armijo: th(1.1628158654032335E-7)=0.0; dx=-0.0051199999999999996 evalInputDelta=0.0
Armijo: th(9.690132211693613E-9)=0.0; dx=-0.0051199999999999996 evalInputDelta=0.0
Armijo: th(7.453947855148933E-10)=0.0; dx=-0.0051199999999999996 evalInputDelta=0.0
Armijo: th(5.324248467963524E-11)=0.0; dx=-0.0051199999999999996 evalInputDelta=0.0
Armijo: th(3.5494989786423493E-12)=0.0; dx=-0.0051199999999999996 evalInputDelta=0.0
Armijo: th(2.2184368616514683E-13)=0.0; dx=-0.0051199999999999996 evalInputDelta=0.0
Armijo: th(1.3049628597949813E-14)=0.0; dx=-0.0051199999999999996 evalInputDelta=0.0
MIN ALPHA (7.249793665527674E-16): th(0.0)=0.0
Fitness changed from 0.0 to 0.0
Static Iteration Total: 0.0687; Orientation: 0.0010; Line Search: 0.0631
Iteration 2 failed. Error: 0.0
Previous Error: 0.0 -> 0.0
Optimization terminated 2
Final threshold in iteration 2: 0.0 (> 0.0) after 0.111s (< 30.000s)

Returns

    0.0

Training Converged

Conjugate Gradient Descent

First, we use a conjugate gradient descent method, which converges the fastest for purely linear functions.

TrainingTester.java:452 executed in 0.14 seconds (0.000 gc):

    IterativeTrainer iterativeTrainer = new IterativeTrainer(trainable.addRef());
    try {
      iterativeTrainer.setLineSearchFactory(label -> new QuadraticSearch());
      iterativeTrainer.setOrientation(new GradientDescent());
      iterativeTrainer.setMonitor(TrainingTester.getMonitor(history));
      iterativeTrainer.setTimeout(30, TimeUnit.SECONDS);
      iterativeTrainer.setMaxIterations(250);
      iterativeTrainer.setTerminateThreshold(0);
      return iterativeTrainer.run();
    } finally {
      iterativeTrainer.freeRef();
    }
Logging
Reset training subject: 1909317081972
Reset training subject: 1909319926748
Constructing line search parameters: GD
F(0.0) = LineSearchPoint{point=PointSample{avg=0.29321303419972966}, derivative=-0.20000000000000004}
New Minimum: 0.29321303419972966 > 0.29321303415972966
F(1.0E-10) = LineSearchPoint{point=PointSample{avg=0.29321303415972966}, derivative=-0.19999999995000003}, evalInputDelta = -4.000000330961484E-11
New Minimum: 0.29321303415972966 > 0.29321303391972964
F(7.000000000000001E-10) = LineSearchPoint{point=PointSample{avg=0.29321303391972964}, derivative=-0.19999999965000004}, evalInputDelta = -2.800000231673039E-10
New Minimum: 0.29321303391972964 > 0.29321303223972967
F(4.900000000000001E-9) = LineSearchPoint{point=PointSample{avg=0.29321303223972967}, derivative=-0.19999999755000009}, evalInputDelta = -1.9599999956376735E-9
New Minimum: 0.29321303223972967 > 0.2932130204797302
F(3.430000000000001E-8) = LineSearchPoint{point=PointSample{avg=0.2932130204797302}, derivative=-0.1999999828500015}, evalInputDelta = -1.3719999469863353E-8
New Minimum: 0.2932130204797302 > 0.2932129381597584
F(2.4010000000000004E-7) = LineSearchPoint{point=PointSample{avg=0.2932129381597584}, derivative=-0.1999998799500721}, evalInputDelta = -9.603997125351427E-8
New Minimum: 0.2932129381597584 > 0.293212361921142
F(1.6807000000000003E-6) = LineSearchPoint{point=PointSample{avg=0.293212361921142}, derivative=-0.19999915965353096}, evalInputDelta = -6.722785876878135E-7
New Minimum: 0.293212361921142 > 0.2932083283089347
F(1.1764900000000001E-5) = LineSearchPoint{point=PointSample{avg=0.2932083283089347}, derivative=-0.19999411772301104}, evalInputDelta = -4.7058907949870665E-6
New Minimum: 0.2932083283089347 > 0.2931800958703796
F(8.235430000000001E-5) = LineSearchPoint{point=PointSample{avg=0.2931800958703796}, derivative=-0.19995883132604333}, evalInputDelta = -3.2938329350085116E-5
New Minimum: 0.2931800958703796 > 0.2929826081649038
F(5.764801000000001E-4) = LineSearchPoint{point=PointSample{avg=0.2929826081649038}, derivative=-0.1997121747638024}, evalInputDelta = -2.304260348258702E-4
New Minimum: 0.2929826081649038 > 0.2916069776384341
F(0.004035360700000001) = LineSearchPoint{point=PointSample{avg=0.2916069776384341}, derivative=-0.19800247151981518}, evalInputDelta = -0.001606056561295588
New Minimum: 0.2916069776384341 > 0.28229514451788384
F(0.028247524900000005) = LineSearchPoint{point=PointSample{avg=0.28229514451788384}, derivative=-0.1868078514141577}, evalInputDelta = -0.010917889681845816
New Minimum: 0.28229514451788384 > 0.22894438236765097
F(0.19773267430000002) = LineSearchPoint{point=PointSample{avg=0.22894438236765097}, derivative=-0.13383909469845756}, evalInputDelta = -0.0642686518320787
New Minimum: 0.22894438236765097 > 0.05397768764748541
F(1.3841287201) = LineSearchPoint{point=PointSample{avg=0.05397768764748541}, derivative=-0.04483981402166769}, evalInputDelta = -0.23923534655224427
New Minimum: 0.05397768764748541 > 0.0
F(9.688901040700001) = LineSearchPoint{point=PointSample{avg=0.0}, derivative=-0.032}, evalInputDelta = -0.29321303419972966
F(67.8223072849) = LineSearchPoint{point=PointSample{avg=0.0}, derivative=-0.032}, evalInputDelta = -0.29321303419972966
F(474.7561509943) = LineSearchPoint{point=PointSample{avg=0.0}, derivative=-0.032}, evalInputDelta = -0.29321303419972966
F(3323.2930569601003) = LineSearchPoint{point=PointSample{avg=0.0}, derivative=-0.032}, evalInputDelta = -0.29321303419972966
F(23263.0513987207) = LineSearchPoint{point=PointSample{avg=0.0}, derivative=-0.032}, evalInputDelta = -0.29321303419972966
F(162841.3597910449) = LineSearchPoint{point=PointSample{avg=0.0}, derivative=-0.032}, evalInputDelta = -0.29321303419972966
F(1139889.5185373144) = LineSearchPoint{point=PointSample{avg=0.0}, derivative=-0.032}, evalInputDelta = -0.29321303419972966
F(7979226.6297612) = LineSearchPoint{point=PointSample{avg=0.0}, derivative=-0.032}, evalInputDelta = -0.29321303419972966
F(5.58545864083284E7) = LineSearchPoint{point=PointSample{avg=0.0}, derivative=-0.032}, evalInputDelta = -0.29321303419972966
F(3.909821048582988E8) = LineSearchPoint{point=PointSample{avg=0.0}, derivative=-0.032}, evalInputDelta = -0.29321303419972966
F(2.7368747340080914E9) = LineSearchPoint{point=PointSample{avg=0.0}, derivative=-0.032}, evalInputDelta = -0.29321303419972966
F(1.915812313805664E10) = LineSearchPoint{point=PointSample{avg=0.0}, derivative=-0.032}, evalInputDelta = -0.29321303419972966
0.0 <= 0.29321303419972966
F(1.0E10) = LineSearchPoint{point=PointSample{avg=0.0}, derivative=-0.032}, evalInputDelta = -0.29321303419972966
Right bracket at 1.0E10
Converged to right
Fitness changed from 0.29321303419972966 to 0.0
Iteration 1 complete. Error: 0.0 Total: 0.0856; Orientation: 0.0009; Line Search: 0.0767
F(0.0) = LineSearchPoint{point=PointSample{avg=0.0}, derivative=-0.0051199999999999996}
F(1.0E10) = LineSearchPoint{point=PointSample{avg=0.0}, derivative=-0.0051199999999999996}, evalInputDelta = 0.0
0.0 <= 0.0
F(5.0E9) = LineSearchPoint{point=PointSample{avg=0.0}, derivative=-0.0051199999999999996}, evalInputDelta = 0.0
Right bracket at 5.0E9
F(2.5E9) = LineSearchPoint{point=PointSample{avg=0.0}, derivative=-0.0051199999999999996}, evalInputDelta = 0.0
Right bracket at 2.5E9
F(1.25E9) = LineSearchPoint{point=PointSample{avg=0.0}, derivative=-0.0051199999999999996}, evalInputDelta = 0.0
Right bracket at 1.25E9
F(6.25E8) = LineSearchPoint{point=PointSample{avg=0.0}, derivative=-0.0051199999999999996}, evalInputDelta = 0.0
Right bracket at 6.25E8
F(3.125E8) = LineSearchPoint{point=PointSample{avg=0.0}, derivative=-0.0051199999999999996}, evalInputDelta = 0.0
Right bracket at 3.125E8
F(1.5625E8) = LineSearchPoint{point=PointSample{avg=0.0}, derivative=-0.0051199999999999996}, evalInputDelta = 0.0
Right bracket at 1.5625E8
F(7.8125E7) = LineSearchPoint{point=PointSample{avg=0.0}, derivative=-0.0051199999999999996}, evalInputDelta = 0.0
Right bracket at 7.8125E7
F(3.90625E7) = LineSearchPoint{point=PointSample{avg=0.0}, derivative=-0.0051199999999999996}, evalInputDelta = 0.0
Right bracket at 3.90625E7
F(1.953125E7) = LineSearchPoint{point=PointSample{avg=0.0}, derivative=-0.0051199999999999996}, evalInputDelta = 0.0
Right bracket at 1.953125E7
F(9765625.0) = LineSearchPoint{point=PointSample{avg=0.0}, derivative=-0.0051199999999999996}, evalInputDelta = 0.0
Right bracket at 9765625.0
F(4882812.5) = LineSearchPoint{point=PointSample{avg=0.0}, derivative=-0.0051199999999999996}, evalInputDelta = 0.0
Right bracket at 4882812.5
F(2441406.25) = LineSearchPoint{point=PointSample{avg=0.0}, derivative=-0.0051199999999999996}, evalInputDelta = 0.0
Loops = 12
Fitness changed from 0.0 to 0.0
Static Iteration Total: 0.0551; Orientation: 0.0008; Line Search: 0.0524
Iteration 2 failed. Error: 0.0
Previous Error: 0.0 -> 0.0
Optimization terminated 2
Final threshold in iteration 2: 0.0 (> 0.0) after 0.141s (< 30.000s)

Returns

    0.0

Training Converged

Limited-Memory BFGS

Next, we apply the same optimization using L-BFGS, which is nearly ideal for purely second-order or quadratic functions.

TrainingTester.java:509 executed in 0.07 seconds (0.000 gc):

    IterativeTrainer iterativeTrainer = new IterativeTrainer(trainable.addRef());
    try {
      iterativeTrainer.setLineSearchFactory(label -> new ArmijoWolfeSearch());
      iterativeTrainer.setOrientation(new LBFGS());
      iterativeTrainer.setMonitor(TrainingTester.getMonitor(history));
      iterativeTrainer.setTimeout(30, TimeUnit.SECONDS);
      iterativeTrainer.setIterationsPerSample(100);
      iterativeTrainer.setMaxIterations(250);
      iterativeTrainer.setTerminateThreshold(0);
      return iterativeTrainer.run();
    } finally {
      iterativeTrainer.freeRef();
    }
Logging
Reset training subject: 1909464158569
Reset training subject: 1909466544657
Adding measurement 3f8a8935 to history. Total: 0
LBFGS Accumulation History: 1 points
Constructing line search parameters: GD
Non-optimal measurement 0.29321303419972966 < 0.29321303419972966. Total: 1
th(0)=0.29321303419972966;dx=-0.20000000000000004
Adding measurement 58c848b1 to history. Total: 1
New Minimum: 0.29321303419972966 > 0.0
END: th(2.154434690031884)=0.0; dx=-0.032 evalInputDelta=0.29321303419972966
Fitness changed from 0.29321303419972966 to 0.0
Iteration 1 complete. Error: 0.0 Total: 0.0151; Orientation: 0.0034; Line Search: 0.0063
Non-optimal measurement 0.0 < 0.0. Total: 2
LBFGS Accumulation History: 2 points
Non-optimal measurement 0.0 < 0.0. Total: 2
th(0)=0.0;dx=-0.0051199999999999996
Non-optimal measurement 0.0 < 0.0. Total: 2
Armijo: th(4.641588833612779)=0.0; dx=-0.0051199999999999996 evalInputDelta=0.0
Non-optimal measurement 0.0 < 0.0. Total: 2
Armijo: th(2.3207944168063896)=0.0; dx=-0.0051199999999999996 evalInputDelta=0.0
Non-optimal measurement 0.0 < 0.0. Total: 2
Armijo: th(0.7735981389354633)=0.0; dx=-0.0051199999999999996 evalInputDelta=0.0
Non-optimal measurement 0.0 < 0.0. Total: 2
Armijo: th(0.1933995347338658)=0.0; dx=-0.0051199999999999996 evalInputDelta=0.0
Non-optimal measurement 0.0 < 0.0. Total: 2
Armijo: th(0.03867990694677316)=0.0; dx=-0.0051199999999999996 evalInputDelta=0.0
Non-optimal measurement 0.0 < 0.0. Total: 2
Armijo: th(0.006446651157795527)=0.0; dx=-0.0051199999999999996 evalInputDelta=0.0
Non-optimal measurement 0.0 < 0.0. Total: 2
Armijo: th(9.20950165399361E-4)=0.0; dx=-0.0051199999999999996 evalInputDelta=0.0
Non-optimal measurement 0.0 < 0.0. Total: 2
Armijo: th(1.1511877067492013E-4)=0.0; dx=-0.0051199999999999996 evalInputDelta=0.0
Non-optimal measurement 0.0 < 0.0. Total: 2
Armijo: th(1.279097451943557E-5)=0.0; dx=-0.0051199999999999996 evalInputDelta=0.0
Non-optimal measurement 0.0 < 0.0. Total: 2
Armijo: th(1.279097451943557E-6)=0.0; dx=-0.0051199999999999996 evalInputDelta=0.0
Non-optimal measurement 0.0 < 0.0. Total: 2
Armijo: th(1.1628158654032335E-7)=0.0; dx=-0.0051199999999999996 evalInputDelta=0.0
Non-optimal measurement 0.0 < 0.0. Total: 2
Armijo: th(9.690132211693613E-9)=0.0; dx=-0.0051199999999999996 evalInputDelta=0.0
Non-optimal measurement 0.0 < 0.0. Total: 2
Armijo: th(7.453947855148933E-10)=0.0; dx=-0.0051199999999999996 evalInputDelta=0.0
Non-optimal measurement 0.0 < 0.0. Total: 2
Armijo: th(5.324248467963524E-11)=0.0; dx=-0.0051199999999999996 evalInputDelta=0.0
Non-optimal measurement 0.0 < 0.0. Total: 2
Armijo: th(3.5494989786423493E-12)=0.0; dx=-0.0051199999999999996 evalInputDelta=0.0
Non-optimal measurement 0.0 < 0.0. Total: 2
Armijo: th(2.2184368616514683E-13)=0.0; dx=-0.0051199999999999996 evalInputDelta=0.0
Non-optimal measurement 0.0 < 0.0. Total: 2
Armijo: th(1.3049628597949813E-14)=0.0; dx=-0.0051199999999999996 evalInputDelta=0.0
Non-optimal measurement 0.0 < 0.0. Total: 2
MIN ALPHA (7.249793665527674E-16): th(0.0)=0.0
Fitness changed from 0.0 to 0.0
Static Iteration Total: 0.0512; Orientation: 0.0018; Line Search: 0.0473
Iteration 2 failed. Error: 0.0
Previous Error: 0.0 -> 0.0
Optimization terminated 2
Final threshold in iteration 2: 0.0 (> 0.0) after 0.067s (< 30.000s)

Returns

    0.0

Training Converged

TrainingTester.java:432 executed in 0.09 seconds (0.000 gc):

    return TestUtil.compare(title + " vs Iteration", runs);
Logging
Plotting range=[0.0, 0.0], [2.0, 1.0]; valueStats=DoubleSummaryStatistics{count=0, sum=0.000000, min=Infinity, average=0.000000, max=-Infinity}
Only 0 points for GD
Only 0 points for CjGD
Only 0 points for LBFGS

Returns

Result

TrainingTester.java:435 executed in 0.00 seconds (0.000 gc):

    return TestUtil.compareTime(title + " vs Time", runs);
Logging
No Data

Results

TrainingTester.java:255 executed in 0.00 seconds (0.000 gc):

    return grid(inputLearning, modelLearning, completeLearning);

Returns

Result

TrainingTester.java:258 executed in 0.00 seconds (0.000 gc):

    return new ComponentResult(null == inputLearning ? null : inputLearning.value,
        null == modelLearning ? null : modelLearning.value, null == completeLearning ? null : completeLearning.value);

Returns

    {"input":{ "LBFGS": { "type": "Converged", "value": 0.0 }, "CjGD": { "type": "Converged", "value": 0.0 }, "GD": { "type": "Converged", "value": 0.0 } }, "model":null, "complete":null}

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

    throwException(exceptions.addRef());

Results

detailsresult
{"input":{ "LBFGS": { "type": "Converged", "value": 0.0 }, "CjGD": { "type": "Converged", "value": 0.0 }, "GD": { "type": "Converged", "value": 0.0 } }, "model":null, "complete":null}OK
  {
    "result": "OK",
    "performance": {
      "execution_time": "10.805",
      "gc_time": "0.197"
    },
    "created_on": 1586736487000,
    "file_name": "trainingTest",
    "report": {
      "simpleName": "OnePlusOne",
      "canonicalName": "com.simiacryptus.mindseye.layers.java.SumInputsLayerTest.OnePlusOne",
      "link": "https://github.com/SimiaCryptus/mindseye-java/tree/93db34cedee48c0202777a2b25deddf1dfaf5731/src/test/java/com/simiacryptus/mindseye/layers/java/SumInputsLayerTest.java",
      "javaDoc": ""
    },
    "training_analysis": {
      "input": {
        "LBFGS": {
          "type": "Converged",
          "value": 0.0
        },
        "CjGD": {
          "type": "Converged",
          "value": 0.0
        },
        "GD": {
          "type": "Converged",
          "value": 0.0
        }
      }
    },
    "archive": "s3://code.simiacrypt.us/tests/com/simiacryptus/mindseye/layers/java/SumInputsLayer/OnePlusOne/trainingTest/202004130806",
    "id": "67751d59-432d-49e3-93b1-c9146e0931d9",
    "report_type": "Components",
    "display_name": "Comparative Training",
    "target": {
      "simpleName": "SumInputsLayer",
      "canonicalName": "com.simiacryptus.mindseye.layers.java.SumInputsLayer",
      "link": "https://github.com/SimiaCryptus/mindseye-java/tree/93db34cedee48c0202777a2b25deddf1dfaf5731/src/main/java/com/simiacryptus/mindseye/layers/java/SumInputsLayer.java",
      "javaDoc": ""
    }
  }