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

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

Test Modules

Using Seed 3327035881658002432

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.06 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.612 ], [ -1.912 ], [ 0.268 ], [ -1.708 ], [ 0.228 ], [ -0.236 ], [ 1.576 ], [ 0.036 ], ... ],
    	[ [ 1.28 ], [ 0.548 ], [ -0.252 ], [ 0.276 ], [ -0.176 ], [ 0.908 ], [ -1.044 ], [ -1.456 ], ... ],
    	[ [ -1.532 ], [ 1.044 ], [ 0.04 ], [ -0.46 ], [ 1.724 ], [ -0.308 ], [ -0.968 ], [ 0.064 ], ... ],
    	[ [ -1.048 ], [ 1.528 ], [ -1.644 ], [ -0.748 ], [ -1.588 ], [ -0.916 ], [ -0.784 ], [ 0.376 ], ... ],
    	[ [ -0.128 ], [ -0.536 ], [ 1.36 ], [ 0.72 ], [ -1.704 ], [ -0.152 ], [ -1.904 ], [ 1.964 ], ... ],
    	[ [ 1.456 ], [ 0.176 ], [ -1.216 ], [ -0.428 ], [ 0.92 ], [ 1.524 ], [ -0.588 ], [ 1.296 ], ... ],
    	[ [ -1.308 ], [ -1.404 ], [ 1.104 ], [ 0.928 ], [ -1.276 ], [ 1.964 ], [ -1.956 ], [ 1.636 ], ... ],
    	[ [ 0.236 ], [ -1.036 ], [ 0.612 ], [ -1.824 ], [ -1.888 ], [ 0.216 ], [ -0.168 ], [ -0.512 ], ... ],
    	...
    ]
    [
    	[ [ -1.56 ], [ -0.02 ], [ 1.424 ], [ -1.348 ], [ -0.3 ], [ 0.384 ], [ 0.812 ], [ -1.268 ], ... ],
    	[ [ -1.544 ], [ 1.272 ], [ 1.632 ], [ 0.12 ], [ 0.56 ], [ -0.572 ], [ 0.628 ], [ -1.764 ], ... ],
    	[ [ -0.868 ], [ 0.604 ], [ 1.744 ], [ -1.744 ], [ 0.376 ], [ 0.6 ], [ 0.324 ], [ 0.556 ], ... ],
    	[ [ -1.324 ], [ -0.72 ], [ -1.42 ], [ -0.8 ], [ 0.124 ], [ 1.572 ], [ -0.952 ], [ 0.216 ], ... ],
    	[ [ -1.308 ], [ -0.032 ], [ 0.1 ], [ 1.112 ], [ 1.888 ], [ -0.984 ], [ -1.584 ], [ -0.848 ], ... ],
    	[ [ -1.756 ], [ 0.336 ], [ -0.344 ], [ -0.772 ], [ 1.952 ], [ -0.444 ], [ -1.204 ], [ 1.264 ], ... ],
    	[ [ 0.972 ], [ 0.796 ], [ -0.784 ], [ 1.164 ], [ -0.052 ], [ 1.456 ], [ -0.652 ], [ 0.252 ], ... ],
    	[ [ 1.512 ], [ -1.012 ], [ -0.872 ], [ 0.616 ], [ -1.3 ], [ -0.496 ], [ -0.712 ], [ 1.34 ], ... ],
    	...
    ]
    [
    	[ [ -0.968 ], [ 0.384 ], [ 0.272 ], [ 1.856 ], [ 0.252 ], [ -1.928 ], [ 1.56 ], [ -0.048 ], ... ],
    	[ [ -0.292 ], [ 1.004 ], [ -0.012 ], [ -1.76 ], [ -1.928 ], [ -1.296 ], [ -0.72 ], [ -0.376 ], ... ],
    	[ [ -1.94 ], [ 1.964 ], [ -0.928 ], [ 0.652 ], [ -1.528 ], [ 0.544 ], [ -1.028 ], [ -1.624 ], ... ],
    	[ [ 0.7 ], [ 0.296 ], [ -0.132 ], [ 1.736 ], [ 1.748 ], [ 0.548 ], [ -1.8 ], [ -1.924 ], ... ],
    	[ [ -1.54 ], [ -0.144 ], [ -0.324 ], [ 0.352 ], [ -1.256 ], [ 0.48 ], [ 0.776 ], [ -0.512 ], ... ],
    	[ [ -0.236 ], [ 1.264 ], [ -0.988 ], [ 1.528 ], [ -0.968 ], [ 0.68 ], [ -0.888 ], [ 0.984 ], ... ],
    	[ [ -1.66 ], [ 1.192 ], [ -0.964 ], [ 0.224 ], [ 0.756 ], [ 0.116 ], [ -0.156 ], [ 1.328 ], ... ],
    	[ [ -0.188 ], [ -0.728 ], [ -0.74 ], [ 0.004 ], [ -0.236 ], [ 0.876 ], [ 0.292 ], [ 1.716 ], ... ],
    	...
    ]
    [
    	[ [ -0.148 ], [ -0.264 ], [ 0.42 ], [ -1.56 ], [ 1.908 ], [ -0.3 ], [ 1.312 ], [ -1.676 ], ... ],
    	[ [ 1.9 ], [ 0.768 ], [ -1.744 ], [ 0.988 ], [ 1.664 ], [ -0.92 ], [ -0.864 ], [ 1.988 ], ... ],
    	[ [ 1.452 ], [ 0.38 ], [ 1.88 ], [ 1.824 ], [ 1.86 ], [ -1.68 ], [ -0.108 ], [ 1.404 ], ... ],
    	[ [ 0.028 ], [ -0.6 ], [ 1.236 ], [ -1.452 ], [ 1.676 ], [ -0.58 ], [ -1.068 ], [ 0.828 ], ... ],
    	[ [ 0.216 ], [ 1.3 ], [ -0.536 ], [ -0.528 ], [ -0.532 ], [ 1.316 ], [ -1.736 ], [ -0.104 ], ... ],
    	[ [ -1.86 ], [ -1.724 ], [ 0.772 ], [ 0.92 ], [ -1.668 ], [ -0.664 ], [ -0.452 ], [ -0.132 ], ... ],
    	[ [ -1.056 ], [ 1.964 ], [ 0.148 ], [ 0.676 ], [ -0.248 ], [ -1.404 ], [ 1.688 ], [ -0.312 ], ... ],
    	[ [ 1.512 ], [ -1.512 ], [ 1.828 ], [ -0.244 ], [ -1.308 ], [ 1.088 ], [ 0.128 ], [ 0.304 ], ... ],
    	...
    ]
    [
    	[ [ -1.296 ], [ -0.836 ], [ 0.716 ], [ 1.912 ], [ 1.66 ], [ -0.976 ], [ -1.36 ], [ -0.144 ], ... ],
    	[ [ -1.008 ], [ 1.776 ], [ -0.552 ], [ -0.116 ], [ -1.92 ], [ 1.328 ], [ 1.432 ], [ -1.748 ], ... ],
    	[ [ 0.44 ], [ 0.948 ], [ 0.78 ], [ 0.192 ], [ 0.336 ], [ -0.016 ], [ 1.764 ], [ 1.224 ], ... ],
    	[ [ 0.156 ], [ 0.636 ], [ -1.068 ], [ 0.584 ], [ -0.34 ], [ -0.688 ], [ -0.46 ], [ 1.016 ], ... ],
    	[ [ 1.584 ], [ -0.972 ], [ -1.336 ], [ -1.54 ], [ 1.616 ], [ -1.372 ], [ 0.108 ], [ 1.216 ], ... ],
    	[ [ -1.468 ], [ -0.34 ], [ -1.272 ], [ 1.924 ], [ 1.72 ], [ -0.62 ], [ -1.776 ], [ 1.72 ], ... ],
    	[ [ -0.672 ], [ -1.932 ], [ -0.984 ], [ -1.088 ], [ -0.884 ], [ -1.712 ], [ -1.94 ], [ 1.936 ], ... ],
    	[ [ -1.028 ], [ -0.816 ], [ 0.472 ], [ 1.984 ], [ 0.196 ], [ -1.696 ], [ 1.68 ], [ 1.548 ], ... ],
    	...
    ]

Gradient Descent

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

TrainingTester.java:480 executed in 1.39 seconds (0.055 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: 10671809023821

java.lang.reflect.InvocationTargetException
java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
at com.simiacryptus.util.Util.throwException(Util.java:502)
at com.simiacryptus.lang.TimedResult.time(TimedResult.java:57)
at com.simiacryptus.mindseye.eval.BatchedTrainable.measure(BatchedTrainable.java:66)
at com.simiacryptus.mindseye.opt.IterativeTrainer.measure(IterativeTrainer.java:143)
at com.simiacryptus.mindseye.opt.IterativeTrainer.run(IterativeTrainer.java:185)
at com.simiacryptus.mindseye.test.unit.TrainingTester.lambda$trainGD$892d3ca8$1(TrainingTester.java:489)
at com.simiacryptus.notebook.MarkdownNotebookOutput.lambda$eval$dc58be99$1(MarkdownNotebookOutput.java:657)
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.TrainingTester.trainGD(TrainingTester.java:480)
at com.simiacryptus.mindseye.test.unit.TrainingTester.runOpt(TrainingTester.java:658)
at com.simiacryptus.mindseye.test.unit.TrainingTester.train(TrainingTester.java:606)
at com.simiacryptus.mindseye.test.unit.TrainingTester.trainAll(TrainingTester.java:414)
at com.simiacryptus.mindseye.test.unit.TrainingTester.testInputLearning(TrainingTester.java:355)
at com.simiacryptus.mindseye.test.unit.TrainingTester.test(TrainingTester.java:229)
at com.simiacryptus.mindseye.test.unit.TrainingTester.test(TrainingTester.java:58)
at com.simiacryptus.mindseye.test.unit.LayerTests.run(LayerTests.java:369)
at com.simiacryptus.mindseye.test.unit.LayerTests.run(LayerTests.java:418)
at com.simiacryptus.mindseye.test.LayerTestBase.trainingTest(LayerTestBase.java:95)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
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(ArrayList.java:1257)
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(ArrayList.java:1257)
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$

...skipping 1789 bytes...

am.java:354)
at com.simiacryptus.util.Util.runAllParallel(Util.java:397)
at com.simiacryptus.mindseye.layers.cudnn.BinarySumLayer$Accumulator.accept(BinarySumLayer.java:370)
at com.simiacryptus.mindseye.layers.cudnn.BinarySumLayer$Accumulator.accept(BinarySumLayer.java:268)
at com.simiacryptus.mindseye.network.CountingResult$CountingAccumulator.accum(CountingResult.java:115)
at com.simiacryptus.mindseye.network.CountingResult$CountingAccumulator.accept(CountingResult.java:108)
at com.simiacryptus.mindseye.network.CountingResult$CountingAccumulator.accept(CountingResult.java:76)
at com.simiacryptus.mindseye.layers.cudnn.SquareActivationLayer$Accumulator.accept(SquareActivationLayer.java:242)
at com.simiacryptus.mindseye.layers.cudnn.SquareActivationLayer$Accumulator.accept(SquareActivationLayer.java:179)
at com.simiacryptus.mindseye.network.CountingResult$CountingAccumulator.accum(CountingResult.java:115)
at com.simiacryptus.mindseye.network.CountingResult$CountingAccumulator.accept(CountingResult.java:108)
at com.simiacryptus.mindseye.network.CountingResult$CountingAccumulator.accept(CountingResult.java:76)
at com.simiacryptus.mindseye.layers.cudnn.AvgReducerLayer$Accumulator.accept(AvgReducerLayer.java:172)
at com.simiacryptus.mindseye.layers.cudnn.AvgReducerLayer$Accumulator.accept(AvgReducerLayer.java:158)
at com.simiacryptus.mindseye.network.CountingResult$CountingAccumulator.accum(CountingResult.java:115)
at com.simiacryptus.mindseye.network.CountingResult$CountingAccumulator.accept(CountingResult.java:108)
at com.simiacryptus.mindseye.network.CountingResult$CountingAccumulator.accept(CountingResult.java:76)
at com.simiacryptus.mindseye.network.CountingResult$CountingAccumulator.accum(CountingResult.java:115)
at com.simiacryptus.mindseye.network.CountingResult$CountingAccumulator.accept(CountingResult.java:108)
at com.simiacryptus.mindseye.network.CountingResult$CountingAccumulator.accept(CountingResult.java:76)
at com.simiacryptus.mindseye.lang.Result.accumulate(Result.java:136)
at com.simiacryptus.mindseye.lang.Result.accumulate(Result.java:126)
at com.simiacryptus.mindseye.lang.Result.accumulate(Result.java:122)
at com.simiacryptus.mindseye.eval.BasicTrainable.eval(BasicTrainable.java:178)
at com.simiacryptus.mindseye.eval.BasicTrainable.lambda$measure$3f677$1(BasicTrainable.java:127)
at com.simiacryptus.lang.TimedResult.time(TimedResult.java:54)
at com.simiacryptus.mindseye.eval.BasicTrainable.measure(BasicTrainable.java:127)
at com.simiacryptus.mindseye.eval.TrainableWrapper.measure(TrainableWrapper.java:70)
at com.simiacryptus.mindseye.eval.BatchedTrainable.lambda$measure$8766d393$1(BatchedTrainable.java:96)
... 89 more
Caused by: java.lang.reflect.UndeclaredThrowableException
at com.sun.proxy.$Proxy47.run(Unknown Source)
at com.simiacryptus.util.Util.lambda$runAllParallel$4(Util.java:399)
at com.simiacryptus.ref.wrappers.RefStream.lambda$forEach$25(RefStream.java:354)
at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
at java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948)
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482)
at java.util.stream.ForEachOps$ForEachTask.compute(ForEachOps.java:290)
at java.util.concurrent.CountedCompleter.exec(CountedCompleter.java:731)
at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.simiacryptus.ref.lang.RefUtil$RefWrapperHandler.invoke(RefUtil.java:238)
... 12 more
Caused by: java.lang.reflect.UndeclaredThrowableException
at com.sun.proxy.$Proxy53.apply(Unknown Source)
at com.simiacryptus.mindseye.layers.cudnn.conv.ExplodedConvolutionGrid.read(ExplodedConvolutionGrid.java:105)
at com.simiacryptus.mindseye.layers.cudnn.conv.ExplodedConvolutionGrid.read(ExplodedConvolutionGrid.java:132)
at com.simiacryptus.mindseye.layers.cudnn.conv.ConvolutionLayer$Accumulator.accept(ConvolutionLayer.java:352)
at com.simiacryptus.mindseye.layers.cudnn.conv.ConvolutionLayer$Accumulator.accept(ConvolutionLayer.java:331)
at com.simiacryptus.mindseye.network.CountingResult$CountingAccumulator.accum(CountingResult.java:115)
at com.simiacryptus.mindseye.network.CountingResult$CountingAccumulator.accept(CountingResult.java:108)
at com.simiacryptus.mindseye.network.CountingResult$CountingAccumulator.accept(CountingResult.java:76)
at com.simiacryptus.mindseye.layers.java.ImgConcatLayer$Accumulator.accept(ImgConcatLayer.java:234)
at com.simiacryptus.mindseye.layers.java.ImgConcatLayer$Accumulator.accept(ImgConcatLayer.java:177)
at com.simiacryptus.mindseye.network.CountingResult$CountingAccumulator.accum(CountingResult.java:115)
at com.simiacryptus.mindseye.network.CountingResult$CountingAccumulator.accept(CountingResult.java:108)
at com.simiacryptus.mindseye.network.CountingResult$CountingAccumulator.accept(CountingResult.java:76)
at com.simiacryptus.mindseye.layers.java.ImgReshapeLayer$Accumulator.accept(ImgReshapeLayer.java:211)
at com.simiacryptus.mindseye.layers.java.ImgReshapeLayer$Accumulator.accept(ImgReshapeLayer.java:193)
at com.simiacryptus.mindseye.network.CountingResult$CountingAccumulator.accum(CountingResult.java:115)
at com.simiacryptus.mindseye.network.CountingResult$CountingAccumulator.accept(CountingResult.java:108)
at com.simiacryptus.mindseye.network.CountingResult$CountingAccumulator.accept(CountingResult.java:76)
at com.simiacryptus.mindseye.network.CountingResult$CountingAccumulator.accum(CountingResult.java:115)
at com.simiacryptus.mindseye.network.CountingResult$CountingAccumulator.accept(CountingResult.java:108)
at com.simiacryptus.mindseye.network.CountingResult$CountingAccumulator.accept(CountingResult.java:76)
at com.simiacryptus.mindseye.network.CountingResult$CountingAccumulator.accum(CountingResult.java:115)
at com.simiacryptus.mindseye.network.CountingResult$CountingAccumulator.accept(CountingResult.java:108)
at com.simiacryptus.mindseye.network.CountingResult$CountingAccumulator.accept(CountingResult.java:76)
at com.simiacryptus.mindseye.layers.cudnn.BinarySumLayer$Accumulator.lambda$accept$1(BinarySumLayer.java:324)
... 17 more
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.GeneratedMethodAccessor35.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.simiacryptus.ref.lang.RefUtil$RefWrapperHandler.invoke(RefUtil.java:238)
... 42 more
Caused by: java.lang.reflect.UndeclaredThrowableException
at com.sun.proxy.$Proxy58.apply(Unknown Source)
at com.simiacryptus.mindseye.layers.cudnn.conv.ExplodedConvolutionLeg.read(ExplodedConvolutionLeg.java:145)
at com.simiacryptus.mindseye.layers.cudnn.conv.ExplodedConvolutionLeg.read(ExplodedConvolutionLeg.java:174)
at com.simiacryptus.mindseye.layers.cudnn.conv.ExplodedConvolutionGrid.lambda$read$7(ExplodedConvolutionGrid.java:133)
... 46 more
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.simiacryptus.ref.lang.RefUtil$RefWrapperHandler.invoke(RefUtil.java:238)
... 50 more
Caused by: java.lang.RuntimeException: No Delta for SimpleConvolutionLayer
at com.simiacryptus.mindseye.layers.cudnn.conv.ExplodedConvolutionLeg.lambda$read$3(ExplodedConvolutionLeg.java:189)
... 55 more


This training apply resulted in the following configuration:

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

    RefList<double[]> state = network.state();
    assert state != null;
    String description = state.stream().map(RefArrays::toString).reduce((a, b) -> a + "\n" + b)
        .orElse("");
    state.freeRef();
    return description;

Returns

    

And regressed input:

TrainingTester.java:622 executed in 0.01 seconds (0.000 gc):

    return RefArrays.stream(RefUtil.addRef(data)).flatMap(x -> {
      return RefArrays.stream(x);
    }).limit(1).map(x -> {
      String temp_18_0015 = x.prettyPrint();
      x.freeRef();
      return temp_18_0015;
    }).reduce((a, b) -> a + "\n" + b).orElse("");

Returns

    [
    	[ [ -1.908 ], [ -2.0 ], [ -0.848 ], [ -0.368 ], [ 1.832 ], [ -0.94 ], [ 0.128 ], [ 1.552 ], ... ],
    	[ [ 1.092 ], [ 0.668 ], [ -1.616 ], [ 0.8 ], [ -0.28 ], [ -0.68 ], [ -0.568 ], [ -0.62 ], ... ],
    	[ [ 1.34 ], [ -0.284 ], [ -1.084 ], [ 1.392 ], [ -0.748 ], [ 0.056 ], [ 0.312 ], [ -0.416 ], ... ],
    	[ [ 1.532 ], [ -1.62 ], [ -0.728 ], [ -0.504 ], [ -0.136 ], [ -0.052 ], [ -1.3 ], [ 1.096 ], ... ],
    	[ [ -0.884 ], [ -1.908 ], [ 1.96 ], [ -1.316 ], [ 1.572 ], [ 1.22 ], [ 0.492 ], [ 0.14 ], ... ],
    	[ [ -1.524 ], [ -0.624 ], [ 0.336 ], [ 1.132 ], [ -1.632 ], [ -0.972 ], [ 1.84 ], [ -0.216 ], ... ],
    	[ [ 0.372 ], [ -1.52 ], [ 0.748 ], [ -0.808 ], [ 0.7 ], [ 0.492 ], [ -0.648 ], [ 1.504 ], ... ],
    	[ [ 1.256 ], [ -1.004 ], [ 0.008 ], [ 1.348 ], [ 1.344 ], [ -0.7 ], [ -1.552 ], [ 1.928 ], ... ],
    	...
    ]

To produce the following output:

TrainingTester.java:633 executed in 0.80 seconds (0.000 gc):

    Result[] array = ConstantResult.batchResultArray(pop(RefUtil.addRef(data)));
    @Nullable
    Result eval = layer.eval(array);
    assert eval != null;
    TensorList tensorList = Result.getData(eval);
    String temp_18_0016 = tensorList.stream().limit(1).map(x -> {
      String temp_18_0017 = x.prettyPrint();
      x.freeRef();
      return temp_18_0017;
    }).reduce((a, b) -> a + "\n" + b).orElse("");
    tensorList.freeRef();
    return temp_18_0016;
Logging
Not Implemented: com.simiacryptus.mindseye.layers.cudnn.RescaledSubnetLayer

Returns

    [
    	[ [ -7.142704 ], [ -1.2042240000000004 ], [ 0.4004320000000003 ], [ -3.8297920000000003 ], [ 3.8843680000000007 ], [ 0.07502400000000044 ], [ -0.49447999999999964 ], [ 7.131232 ], ... ],
    	[ [ -3.276336 ], [ 2.746608 ], [ -2.3059040000000004 ], [ 0.8224480000000001 ], [ -3.962816 ], [ 0.1277279999999997 ], [ -1.9431359999999998 ], [ -1.5466400000000005 ], ... ],
    	[ [ 3.8985279999999998 ], [ 1.1711199999999997 ], [ 0.18303999999999968 ], [ 4.426175999999999 ], [ -1.9191520000000002 ], [ 0.6988960000000001 ], [ -4.059696 ], [ -0.8837439999999995 ], ... ],
    	[ [ 1.4661279999999999 ], [ -0.48462400000000067 ], [ -3.4181119999999994 ], [ -4.539296 ], [ 1.1085599999999995 ], [ 1.5082720000000003 ], [ -5.431344 ], [ -0.28489599999999976 ], ... ],
    	[ [ 1.6350079999999994 ], [ -4.10112 ], [ 5.510176 ], [ 0.4748000000000004 ], [ 2.6340480000000004 ], [ 3.542176 ], [ -2.080128 ], [ -5.112879999999999 ], ... ],
    	[ [ -3.624496 ], [ 3.7235999999999994 ], [ -0.4308640000000002 ], [ -2.2663840000000004 ], [ -4.087056 ], [ 3.0174079999999996 ], [ 3.696608 ], [ -2.5828320000000002 ], ... ],
    	[ [ -0.6918079999999998 ], [ -6.642448 ], [ 6.212624 ], [ -0.48484800000000006 ], [ 0.2437599999999997 ], [ 5.823936000000001 ], [ -0.57632 ], [ -1.1112320000000002 ], ... ],
    	[ [ -1.4414719999999996 ], [ -1.7329119999999998 ], [ 4.408784 ], [ 1.9116960000000005 ], [ -0.20156799999999953 ], [ 1.1239839999999997 ], [ -3.8565119999999995 ], [ 0.8028160000000006 ], ... ],
    	...
    ]

Conjugate Gradient Descent

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

TrainingTester.java:452 executed in 1.28 seconds (0.093 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: 10674082568855

java.lang.reflect.InvocationTargetException
java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
at com.simiacryptus.util.Util.throwException(Util.java:502)
at com.simiacryptus.lang.TimedResult.time(TimedResult.java:57)
at com.simiacryptus.mindseye.eval.BatchedTrainable.measure(BatchedTrainable.java:66)
at com.simiacryptus.mindseye.opt.IterativeTrainer.measure(IterativeTrainer.java:143)
at com.simiacryptus.mindseye.opt.IterativeTrainer.run(IterativeTrainer.java:185)
at com.simiacryptus.mindseye.test.unit.TrainingTester.lambda$trainCjGD$892d3ca8$1(TrainingTester.java:461)
at com.simiacryptus.notebook.MarkdownNotebookOutput.lambda$eval$dc58be99$1(MarkdownNotebookOutput.java:657)
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.TrainingTester.trainCjGD(TrainingTester.java:452)
at com.simiacryptus.mindseye.test.unit.TrainingTester.runOpt(TrainingTester.java:658)
at com.simiacryptus.mindseye.test.unit.TrainingTester.train(TrainingTester.java:606)
at com.simiacryptus.mindseye.test.unit.TrainingTester.trainAll(TrainingTester.java:416)
at com.simiacryptus.mindseye.test.unit.TrainingTester.testInputLearning(TrainingTester.java:355)
at com.simiacryptus.mindseye.test.unit.TrainingTester.test(TrainingTester.java:229)
at com.simiacryptus.mindseye.test.unit.TrainingTester.test(TrainingTester.java:58)
at com.simiacryptus.mindseye.test.unit.LayerTests.run(LayerTests.java:369)
at com.simiacryptus.mindseye.test.unit.LayerTests.run(LayerTests.java:418)
at com.simiacryptus.mindseye.test.LayerTestBase.trainingTest(LayerTestBase.java:95)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
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(ArrayList.java:1257)
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(ArrayList.java:1257)
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$n

...skipping 1712 bytes...

reamWrapper.java:129)
at com.simiacryptus.ref.wrappers.RefStream.forEach(RefStream.java:354)
at com.simiacryptus.util.Util.runAllParallel(Util.java:397)
at com.simiacryptus.mindseye.layers.cudnn.BinarySumLayer$Accumulator.accept(BinarySumLayer.java:370)
at com.simiacryptus.mindseye.layers.cudnn.BinarySumLayer$Accumulator.accept(BinarySumLayer.java:268)
at com.simiacryptus.mindseye.network.CountingResult$CountingAccumulator.accum(CountingResult.java:115)
at com.simiacryptus.mindseye.network.CountingResult$CountingAccumulator.accept(CountingResult.java:108)
at com.simiacryptus.mindseye.network.CountingResult$CountingAccumulator.accept(CountingResult.java:76)
at com.simiacryptus.mindseye.layers.cudnn.SquareActivationLayer$Accumulator.accept(SquareActivationLayer.java:242)
at com.simiacryptus.mindseye.layers.cudnn.SquareActivationLayer$Accumulator.accept(SquareActivationLayer.java:179)
at com.simiacryptus.mindseye.network.CountingResult$CountingAccumulator.accum(CountingResult.java:115)
at com.simiacryptus.mindseye.network.CountingResult$CountingAccumulator.accept(CountingResult.java:108)
at com.simiacryptus.mindseye.network.CountingResult$CountingAccumulator.accept(CountingResult.java:76)
at com.simiacryptus.mindseye.layers.cudnn.AvgReducerLayer$Accumulator.accept(AvgReducerLayer.java:172)
at com.simiacryptus.mindseye.layers.cudnn.AvgReducerLayer$Accumulator.accept(AvgReducerLayer.java:158)
at com.simiacryptus.mindseye.network.CountingResult$CountingAccumulator.accum(CountingResult.java:115)
at com.simiacryptus.mindseye.network.CountingResult$CountingAccumulator.accept(CountingResult.java:108)
at com.simiacryptus.mindseye.network.CountingResult$CountingAccumulator.accept(CountingResult.java:76)
at com.simiacryptus.mindseye.network.CountingResult$CountingAccumulator.accum(CountingResult.java:115)
at com.simiacryptus.mindseye.network.CountingResult$CountingAccumulator.accept(CountingResult.java:108)
at com.simiacryptus.mindseye.network.CountingResult$CountingAccumulator.accept(CountingResult.java:76)
at com.simiacryptus.mindseye.lang.Result.accumulate(Result.java:136)
at com.simiacryptus.mindseye.lang.Result.accumulate(Result.java:126)
at com.simiacryptus.mindseye.lang.Result.accumulate(Result.java:122)
at com.simiacryptus.mindseye.eval.BasicTrainable.eval(BasicTrainable.java:178)
at com.simiacryptus.mindseye.eval.BasicTrainable.lambda$measure$3f677$1(BasicTrainable.java:127)
at com.simiacryptus.lang.TimedResult.time(TimedResult.java:54)
at com.simiacryptus.mindseye.eval.BasicTrainable.measure(BasicTrainable.java:127)
at com.simiacryptus.mindseye.eval.TrainableWrapper.measure(TrainableWrapper.java:70)
at com.simiacryptus.mindseye.eval.BatchedTrainable.lambda$measure$8766d393$1(BatchedTrainable.java:96)
... 89 more
Caused by: java.lang.reflect.UndeclaredThrowableException
at com.sun.proxy.$Proxy47.run(Unknown Source)
at com.simiacryptus.util.Util.lambda$runAllParallel$4(Util.java:399)
at com.simiacryptus.ref.wrappers.RefStream.lambda$forEach$25(RefStream.java:354)
at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
at java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948)
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482)
at java.util.stream.ForEachOps$ForEachTask.compute(ForEachOps.java:290)
at java.util.concurrent.CountedCompleter.exec(CountedCompleter.java:731)
at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.GeneratedMethodAccessor43.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.simiacryptus.ref.lang.RefUtil$RefWrapperHandler.invoke(RefUtil.java:238)
... 12 more
Caused by: java.lang.reflect.UndeclaredThrowableException
at com.sun.proxy.$Proxy53.apply(Unknown Source)
at com.simiacryptus.mindseye.layers.cudnn.conv.ExplodedConvolutionGrid.read(ExplodedConvolutionGrid.java:105)
at com.simiacryptus.mindseye.layers.cudnn.conv.ExplodedConvolutionGrid.read(ExplodedConvolutionGrid.java:132)
at com.simiacryptus.mindseye.layers.cudnn.conv.ConvolutionLayer$Accumulator.accept(ConvolutionLayer.java:352)
at com.simiacryptus.mindseye.layers.cudnn.conv.ConvolutionLayer$Accumulator.accept(ConvolutionLayer.java:331)
at com.simiacryptus.mindseye.network.CountingResult$CountingAccumulator.accum(CountingResult.java:115)
at com.simiacryptus.mindseye.network.CountingResult$CountingAccumulator.accept(CountingResult.java:108)
at com.simiacryptus.mindseye.network.CountingResult$CountingAccumulator.accept(CountingResult.java:76)
at com.simiacryptus.mindseye.layers.java.ImgConcatLayer$Accumulator.accept(ImgConcatLayer.java:234)
at com.simiacryptus.mindseye.layers.java.ImgConcatLayer$Accumulator.accept(ImgConcatLayer.java:177)
at com.simiacryptus.mindseye.network.CountingResult$CountingAccumulator.accum(CountingResult.java:115)
at com.simiacryptus.mindseye.network.CountingResult$CountingAccumulator.accept(CountingResult.java:108)
at com.simiacryptus.mindseye.network.CountingResult$CountingAccumulator.accept(CountingResult.java:76)
at com.simiacryptus.mindseye.layers.java.ImgReshapeLayer$Accumulator.accept(ImgReshapeLayer.java:211)
at com.simiacryptus.mindseye.layers.java.ImgReshapeLayer$Accumulator.accept(ImgReshapeLayer.java:193)
at com.simiacryptus.mindseye.network.CountingResult$CountingAccumulator.accum(CountingResult.java:115)
at com.simiacryptus.mindseye.network.CountingResult$CountingAccumulator.accept(CountingResult.java:108)
at com.simiacryptus.mindseye.network.CountingResult$CountingAccumulator.accept(CountingResult.java:76)
at com.simiacryptus.mindseye.network.CountingResult$CountingAccumulator.accum(CountingResult.java:115)
at com.simiacryptus.mindseye.network.CountingResult$CountingAccumulator.accept(CountingResult.java:108)
at com.simiacryptus.mindseye.network.CountingResult$CountingAccumulator.accept(CountingResult.java:76)
at com.simiacryptus.mindseye.network.CountingResult$CountingAccumulator.accum(CountingResult.java:115)
at com.simiacryptus.mindseye.network.CountingResult$CountingAccumulator.accept(CountingResult.java:108)
at com.simiacryptus.mindseye.network.CountingResult$CountingAccumulator.accept(CountingResult.java:76)
at com.simiacryptus.mindseye.layers.cudnn.BinarySumLayer$Accumulator.lambda$accept$1(BinarySumLayer.java:324)
... 16 more
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.GeneratedMethodAccessor35.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.simiacryptus.ref.lang.RefUtil$RefWrapperHandler.invoke(RefUtil.java:238)
... 41 more
Caused by: java.lang.reflect.UndeclaredThrowableException
at com.sun.proxy.$Proxy58.apply(Unknown Source)
at com.simiacryptus.mindseye.layers.cudnn.conv.ExplodedConvolutionLeg.read(ExplodedConvolutionLeg.java:145)
at com.simiacryptus.mindseye.layers.cudnn.conv.ExplodedConvolutionLeg.read(ExplodedConvolutionLeg.java:174)
at com.simiacryptus.mindseye.layers.cudnn.conv.ExplodedConvolutionGrid.lambda$read$7(ExplodedConvolutionGrid.java:133)
... 45 more
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.simiacryptus.ref.lang.RefUtil$RefWrapperHandler.invoke(RefUtil.java:238)
... 49 more
Caused by: java.lang.RuntimeException: No Delta for SimpleConvolutionLayer
at com.simiacryptus.mindseye.layers.cudnn.conv.ExplodedConvolutionLeg.lambda$read$3(ExplodedConvolutionLeg.java:189)
... 54 more


This training apply resulted in the following configuration:

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

    RefList<double[]> state = network.state();
    assert state != null;
    String description = state.stream().map(RefArrays::toString).reduce((a, b) -> a + "\n" + b)
        .orElse("");
    state.freeRef();
    return description;

Returns

    

And regressed input:

TrainingTester.java:622 executed in 0.01 seconds (0.000 gc):

    return RefArrays.stream(RefUtil.addRef(data)).flatMap(x -> {
      return RefArrays.stream(x);
    }).limit(1).map(x -> {
      String temp_18_0015 = x.prettyPrint();
      x.freeRef();
      return temp_18_0015;
    }).reduce((a, b) -> a + "\n" + b).orElse("");

Returns

    [
    	[ [ -1.908 ], [ -2.0 ], [ -0.848 ], [ -0.368 ], [ 1.832 ], [ -0.94 ], [ 0.128 ], [ 1.552 ], ... ],
    	[ [ 1.092 ], [ 0.668 ], [ -1.616 ], [ 0.8 ], [ -0.28 ], [ -0.68 ], [ -0.568 ], [ -0.62 ], ... ],
    	[ [ 1.34 ], [ -0.284 ], [ -1.084 ], [ 1.392 ], [ -0.748 ], [ 0.056 ], [ 0.312 ], [ -0.416 ], ... ],
    	[ [ 1.532 ], [ -1.62 ], [ -0.728 ], [ -0.504 ], [ -0.136 ], [ -0.052 ], [ -1.3 ], [ 1.096 ], ... ],
    	[ [ -0.884 ], [ -1.908 ], [ 1.96 ], [ -1.316 ], [ 1.572 ], [ 1.22 ], [ 0.492 ], [ 0.14 ], ... ],
    	[ [ -1.524 ], [ -0.624 ], [ 0.336 ], [ 1.132 ], [ -1.632 ], [ -0.972 ], [ 1.84 ], [ -0.216 ], ... ],
    	[ [ 0.372 ], [ -1.52 ], [ 0.748 ], [ -0.808 ], [ 0.7 ], [ 0.492 ], [ -0.648 ], [ 1.504 ], ... ],
    	[ [ 1.256 ], [ -1.004 ], [ 0.008 ], [ 1.348 ], [ 1.344 ], [ -0.7 ], [ -1.552 ], [ 1.928 ], ... ],
    	...
    ]

To produce the following output:

TrainingTester.java:633 executed in 1.12 seconds (0.273 gc):

    Result[] array = ConstantResult.batchResultArray(pop(RefUtil.addRef(data)));
    @Nullable
    Result eval = layer.eval(array);
    assert eval != null;
    TensorList tensorList = Result.getData(eval);
    String temp_18_0016 = tensorList.stream().limit(1).map(x -> {
      String temp_18_0017 = x.prettyPrint();
      x.freeRef();
      return temp_18_0017;
    }).reduce((a, b) -> a + "\n" + b).orElse("");
    tensorList.freeRef();
    return temp_18_0016;
Logging
Not Implemented: com.simiacryptus.mindseye.layers.cudnn.RescaledSubnetLayer

Returns

    [
    	[ [ -7.142704 ], [ -1.2042240000000004 ], [ 0.4004320000000003 ], [ -3.8297920000000003 ], [ 3.8843680000000007 ], [ 0.07502400000000044 ], [ -0.49447999999999964 ], [ 7.131232 ], ... ],
    	[ [ -3.276336 ], [ 2.746608 ], [ -2.3059040000000004 ], [ 0.8224480000000001 ], [ -3.962816 ], [ 0.1277279999999997 ], [ -1.9431359999999998 ], [ -1.5466400000000005 ], ... ],
    	[ [ 3.8985279999999998 ], [ 1.1711199999999997 ], [ 0.18303999999999968 ], [ 4.426175999999999 ], [ -1.9191520000000002 ], [ 0.6988960000000001 ], [ -4.059696 ], [ -0.8837439999999995 ], ... ],
    	[ [ 1.4661279999999999 ], [ -0.48462400000000067 ], [ -3.4181119999999994 ], [ -4.539296 ], [ 1.1085599999999995 ], [ 1.5082720000000003 ], [ -5.431344 ], [ -0.28489599999999976 ], ... ],
    	[ [ 1.6350079999999994 ], [ -4.10112 ], [ 5.510176 ], [ 0.4748000000000004 ], [ 2.6340480000000004 ], [ 3.542176 ], [ -2.080128 ], [ -5.112879999999999 ], ... ],
    	[ [ -3.624496 ], [ 3.7235999999999994 ], [ -0.4308640000000002 ], [ -2.2663840000000004 ], [ -4.087056 ], [ 3.0174079999999996 ], [ 3.696608 ], [ -2.5828320000000002 ], ... ],
    	[ [ -0.6918079999999998 ], [ -6.642448 ], [ 6.212624 ], [ -0.48484800000000006 ], [ 0.2437599999999997 ], [ 5.823936000000001 ], [ -0.57632 ], [ -1.1112320000000002 ], ... ],
    	[ [ -1.4414719999999996 ], [ -1.7329119999999998 ], [ 4.408784 ], [ 1.9116960000000005 ], [ -0.20156799999999953 ], [ 1.1239839999999997 ], [ -3.8565119999999995 ], [ 0.8028160000000006 ], ... ],
    	...
    ]

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 1.15 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: 10676565312253

java.lang.reflect.InvocationTargetException
java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
at com.simiacryptus.util.Util.throwException(Util.java:502)
at com.simiacryptus.lang.TimedResult.time(TimedResult.java:57)
at com.simiacryptus.mindseye.eval.BatchedTrainable.measure(BatchedTrainable.java:66)
at com.simiacryptus.mindseye.opt.IterativeTrainer.measure(IterativeTrainer.java:143)
at com.simiacryptus.mindseye.opt.IterativeTrainer.run(IterativeTrainer.java:185)
at com.simiacryptus.mindseye.test.unit.TrainingTester.lambda$trainLBFGS$892d3ca8$1(TrainingTester.java:519)
at com.simiacryptus.notebook.MarkdownNotebookOutput.lambda$eval$dc58be99$1(MarkdownNotebookOutput.java:657)
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.TrainingTester.trainLBFGS(TrainingTester.java:509)
at com.simiacryptus.mindseye.test.unit.TrainingTester.runOpt(TrainingTester.java:658)
at com.simiacryptus.mindseye.test.unit.TrainingTester.train(TrainingTester.java:606)
at com.simiacryptus.mindseye.test.unit.TrainingTester.trainAll(TrainingTester.java:418)
at com.simiacryptus.mindseye.test.unit.TrainingTester.testInputLearning(TrainingTester.java:355)
at com.simiacryptus.mindseye.test.unit.TrainingTester.test(TrainingTester.java:229)
at com.simiacryptus.mindseye.test.unit.TrainingTester.test(TrainingTester.java:58)
at com.simiacryptus.mindseye.test.unit.LayerTests.run(LayerTests.java:369)
at com.simiacryptus.mindseye.test.unit.LayerTests.run(LayerTests.java:418)
at com.simiacryptus.mindseye.test.LayerTestBase.trainingTest(LayerTestBase.java:95)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
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(ArrayList.java:1257)
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(ArrayList.java:1257)
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

...skipping 1714 bytes...

reamWrapper.java:129)
at com.simiacryptus.ref.wrappers.RefStream.forEach(RefStream.java:354)
at com.simiacryptus.util.Util.runAllParallel(Util.java:397)
at com.simiacryptus.mindseye.layers.cudnn.BinarySumLayer$Accumulator.accept(BinarySumLayer.java:370)
at com.simiacryptus.mindseye.layers.cudnn.BinarySumLayer$Accumulator.accept(BinarySumLayer.java:268)
at com.simiacryptus.mindseye.network.CountingResult$CountingAccumulator.accum(CountingResult.java:115)
at com.simiacryptus.mindseye.network.CountingResult$CountingAccumulator.accept(CountingResult.java:108)
at com.simiacryptus.mindseye.network.CountingResult$CountingAccumulator.accept(CountingResult.java:76)
at com.simiacryptus.mindseye.layers.cudnn.SquareActivationLayer$Accumulator.accept(SquareActivationLayer.java:242)
at com.simiacryptus.mindseye.layers.cudnn.SquareActivationLayer$Accumulator.accept(SquareActivationLayer.java:179)
at com.simiacryptus.mindseye.network.CountingResult$CountingAccumulator.accum(CountingResult.java:115)
at com.simiacryptus.mindseye.network.CountingResult$CountingAccumulator.accept(CountingResult.java:108)
at com.simiacryptus.mindseye.network.CountingResult$CountingAccumulator.accept(CountingResult.java:76)
at com.simiacryptus.mindseye.layers.cudnn.AvgReducerLayer$Accumulator.accept(AvgReducerLayer.java:172)
at com.simiacryptus.mindseye.layers.cudnn.AvgReducerLayer$Accumulator.accept(AvgReducerLayer.java:158)
at com.simiacryptus.mindseye.network.CountingResult$CountingAccumulator.accum(CountingResult.java:115)
at com.simiacryptus.mindseye.network.CountingResult$CountingAccumulator.accept(CountingResult.java:108)
at com.simiacryptus.mindseye.network.CountingResult$CountingAccumulator.accept(CountingResult.java:76)
at com.simiacryptus.mindseye.network.CountingResult$CountingAccumulator.accum(CountingResult.java:115)
at com.simiacryptus.mindseye.network.CountingResult$CountingAccumulator.accept(CountingResult.java:108)
at com.simiacryptus.mindseye.network.CountingResult$CountingAccumulator.accept(CountingResult.java:76)
at com.simiacryptus.mindseye.lang.Result.accumulate(Result.java:136)
at com.simiacryptus.mindseye.lang.Result.accumulate(Result.java:126)
at com.simiacryptus.mindseye.lang.Result.accumulate(Result.java:122)
at com.simiacryptus.mindseye.eval.BasicTrainable.eval(BasicTrainable.java:178)
at com.simiacryptus.mindseye.eval.BasicTrainable.lambda$measure$3f677$1(BasicTrainable.java:127)
at com.simiacryptus.lang.TimedResult.time(TimedResult.java:54)
at com.simiacryptus.mindseye.eval.BasicTrainable.measure(BasicTrainable.java:127)
at com.simiacryptus.mindseye.eval.TrainableWrapper.measure(TrainableWrapper.java:70)
at com.simiacryptus.mindseye.eval.BatchedTrainable.lambda$measure$8766d393$1(BatchedTrainable.java:96)
... 89 more
Caused by: java.lang.reflect.UndeclaredThrowableException
at com.sun.proxy.$Proxy47.run(Unknown Source)
at com.simiacryptus.util.Util.lambda$runAllParallel$4(Util.java:399)
at com.simiacryptus.ref.wrappers.RefStream.lambda$forEach$25(RefStream.java:354)
at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
at java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948)
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482)
at java.util.stream.ForEachOps$ForEachTask.compute(ForEachOps.java:290)
at java.util.concurrent.CountedCompleter.exec(CountedCompleter.java:731)
at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.GeneratedMethodAccessor43.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.simiacryptus.ref.lang.RefUtil$RefWrapperHandler.invoke(RefUtil.java:238)
... 12 more
Caused by: java.lang.reflect.UndeclaredThrowableException
at com.sun.proxy.$Proxy53.apply(Unknown Source)
at com.simiacryptus.mindseye.layers.cudnn.conv.ExplodedConvolutionGrid.read(ExplodedConvolutionGrid.java:105)
at com.simiacryptus.mindseye.layers.cudnn.conv.ExplodedConvolutionGrid.read(ExplodedConvolutionGrid.java:132)
at com.simiacryptus.mindseye.layers.cudnn.conv.ConvolutionLayer$Accumulator.accept(ConvolutionLayer.java:352)
at com.simiacryptus.mindseye.layers.cudnn.conv.ConvolutionLayer$Accumulator.accept(ConvolutionLayer.java:331)
at com.simiacryptus.mindseye.network.CountingResult$CountingAccumulator.accum(CountingResult.java:115)
at com.simiacryptus.mindseye.network.CountingResult$CountingAccumulator.accept(CountingResult.java:108)
at com.simiacryptus.mindseye.network.CountingResult$CountingAccumulator.accept(CountingResult.java:76)
at com.simiacryptus.mindseye.layers.java.ImgConcatLayer$Accumulator.accept(ImgConcatLayer.java:234)
at com.simiacryptus.mindseye.layers.java.ImgConcatLayer$Accumulator.accept(ImgConcatLayer.java:177)
at com.simiacryptus.mindseye.network.CountingResult$CountingAccumulator.accum(CountingResult.java:115)
at com.simiacryptus.mindseye.network.CountingResult$CountingAccumulator.accept(CountingResult.java:108)
at com.simiacryptus.mindseye.network.CountingResult$CountingAccumulator.accept(CountingResult.java:76)
at com.simiacryptus.mindseye.layers.java.ImgReshapeLayer$Accumulator.accept(ImgReshapeLayer.java:211)
at com.simiacryptus.mindseye.layers.java.ImgReshapeLayer$Accumulator.accept(ImgReshapeLayer.java:193)
at com.simiacryptus.mindseye.network.CountingResult$CountingAccumulator.accum(CountingResult.java:115)
at com.simiacryptus.mindseye.network.CountingResult$CountingAccumulator.accept(CountingResult.java:108)
at com.simiacryptus.mindseye.network.CountingResult$CountingAccumulator.accept(CountingResult.java:76)
at com.simiacryptus.mindseye.network.CountingResult$CountingAccumulator.accum(CountingResult.java:115)
at com.simiacryptus.mindseye.network.CountingResult$CountingAccumulator.accept(CountingResult.java:108)
at com.simiacryptus.mindseye.network.CountingResult$CountingAccumulator.accept(CountingResult.java:76)
at com.simiacryptus.mindseye.network.CountingResult$CountingAccumulator.accum(CountingResult.java:115)
at com.simiacryptus.mindseye.network.CountingResult$CountingAccumulator.accept(CountingResult.java:108)
at com.simiacryptus.mindseye.network.CountingResult$CountingAccumulator.accept(CountingResult.java:76)
at com.simiacryptus.mindseye.layers.cudnn.BinarySumLayer$Accumulator.lambda$accept$1(BinarySumLayer.java:324)
... 16 more
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.GeneratedMethodAccessor35.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.simiacryptus.ref.lang.RefUtil$RefWrapperHandler.invoke(RefUtil.java:238)
... 41 more
Caused by: java.lang.reflect.UndeclaredThrowableException
at com.sun.proxy.$Proxy58.apply(Unknown Source)
at com.simiacryptus.mindseye.layers.cudnn.conv.ExplodedConvolutionLeg.read(ExplodedConvolutionLeg.java:145)
at com.simiacryptus.mindseye.layers.cudnn.conv.ExplodedConvolutionLeg.read(ExplodedConvolutionLeg.java:174)
at com.simiacryptus.mindseye.layers.cudnn.conv.ExplodedConvolutionGrid.lambda$read$7(ExplodedConvolutionGrid.java:133)
... 45 more
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.simiacryptus.ref.lang.RefUtil$RefWrapperHandler.invoke(RefUtil.java:238)
... 49 more
Caused by: java.lang.RuntimeException: No Delta for SimpleConvolutionLayer
at com.simiacryptus.mindseye.layers.cudnn.conv.ExplodedConvolutionLeg.lambda$read$3(ExplodedConvolutionLeg.java:189)
... 54 more


This training apply resulted in the following configuration:

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

    RefList<double[]> state = network.state();
    assert state != null;
    String description = state.stream().map(RefArrays::toString).reduce((a, b) -> a + "\n" + b)
        .orElse("");
    state.freeRef();
    return description;

Returns

    

And regressed input:

TrainingTester.java:622 executed in 0.01 seconds (0.000 gc):

    return RefArrays.stream(RefUtil.addRef(data)).flatMap(x -> {
      return RefArrays.stream(x);
    }).limit(1).map(x -> {
      String temp_18_0015 = x.prettyPrint();
      x.freeRef();
      return temp_18_0015;
    }).reduce((a, b) -> a + "\n" + b).orElse("");

Returns

    [
    	[ [ -1.908 ], [ -2.0 ], [ -0.848 ], [ -0.368 ], [ 1.832 ], [ -0.94 ], [ 0.128 ], [ 1.552 ], ... ],
    	[ [ 1.092 ], [ 0.668 ], [ -1.616 ], [ 0.8 ], [ -0.28 ], [ -0.68 ], [ -0.568 ], [ -0.62 ], ... ],
    	[ [ 1.34 ], [ -0.284 ], [ -1.084 ], [ 1.392 ], [ -0.748 ], [ 0.056 ], [ 0.312 ], [ -0.416 ], ... ],
    	[ [ 1.532 ], [ -1.62 ], [ -0.728 ], [ -0.504 ], [ -0.136 ], [ -0.052 ], [ -1.3 ], [ 1.096 ], ... ],
    	[ [ -0.884 ], [ -1.908 ], [ 1.96 ], [ -1.316 ], [ 1.572 ], [ 1.22 ], [ 0.492 ], [ 0.14 ], ... ],
    	[ [ -1.524 ], [ -0.624 ], [ 0.336 ], [ 1.132 ], [ -1.632 ], [ -0.972 ], [ 1.84 ], [ -0.216 ], ... ],
    	[ [ 0.372 ], [ -1.52 ], [ 0.748 ], [ -0.808 ], [ 0.7 ], [ 0.492 ], [ -0.648 ], [ 1.504 ], ... ],
    	[ [ 1.256 ], [ -1.004 ], [ 0.008 ], [ 1.348 ], [ 1.344 ], [ -0.7 ], [ -1.552 ], [ 1.928 ], ... ],
    	...
    ]

To produce the following output:

TrainingTester.java:633 executed in 0.81 seconds (0.000 gc):

    Result[] array = ConstantResult.batchResultArray(pop(RefUtil.addRef(data)));
    @Nullable
    Result eval = layer.eval(array);
    assert eval != null;
    TensorList tensorList = Result.getData(eval);
    String temp_18_0016 = tensorList.stream().limit(1).map(x -> {
      String temp_18_0017 = x.prettyPrint();
      x.freeRef();
      return temp_18_0017;
    }).reduce((a, b) -> a + "\n" + b).orElse("");
    tensorList.freeRef();
    return temp_18_0016;
Logging
Not Implemented: com.simiacryptus.mindseye.layers.cudnn.RescaledSubnetLayer

Returns

    [
    	[ [ -7.142704 ], [ -1.2042240000000004 ], [ 0.4004320000000003 ], [ -3.8297920000000003 ], [ 3.8843680000000007 ], [ 0.07502400000000044 ], [ -0.49447999999999964 ], [ 7.131232 ], ... ],
    	[ [ -3.276336 ], [ 2.746608 ], [ -2.3059040000000004 ], [ 0.8224480000000001 ], [ -3.962816 ], [ 0.1277279999999997 ], [ -1.9431359999999998 ], [ -1.5466400000000005 ], ... ],
    	[ [ 3.8985279999999998 ], [ 1.1711199999999997 ], [ 0.18303999999999968 ], [ 4.426175999999999 ], [ -1.9191520000000002 ], [ 0.6988960000000001 ], [ -4.059696 ], [ -0.8837439999999995 ], ... ],
    	[ [ 1.4661279999999999 ], [ -0.48462400000000067 ], [ -3.4181119999999994 ], [ -4.539296 ], [ 1.1085599999999995 ], [ 1.5082720000000003 ], [ -5.431344 ], [ -0.28489599999999976 ], ... ],
    	[ [ 1.6350079999999994 ], [ -4.10112 ], [ 5.510176 ], [ 0.4748000000000004 ], [ 2.6340480000000004 ], [ 3.542176 ], [ -2.080128 ], [ -5.112879999999999 ], ... ],
    	[ [ -3.624496 ], [ 3.7235999999999994 ], [ -0.4308640000000002 ], [ -2.2663840000000004 ], [ -4.087056 ], [ 3.0174079999999996 ], [ 3.696608 ], [ -2.5828320000000002 ], ... ],
    	[ [ -0.6918079999999998 ], [ -6.642448 ], [ 6.212624 ], [ -0.48484800000000006 ], [ 0.2437599999999997 ], [ 5.823936000000001 ], [ -0.57632 ], [ -1.1112320000000002 ], ... ],
    	[ [ -1.4414719999999996 ], [ -1.7329119999999998 ], [ 4.408784 ], [ 1.9116960000000005 ], [ -0.20156799999999953 ], [ 1.1239839999999997 ], [ -3.8565119999999995 ], [ 0.8028160000000006 ], ... ],
    	...
    ]

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

    return TestUtil.compare(title + " vs Iteration", runs);
Logging
No Data

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.04 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": "NonConverged", "value": NaN }, "CjGD": { "type": "NonConverged", "value": NaN }, "GD": { "type": "NonConverged", "value": NaN } }, "model":null, "complete":null}

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

    throwException(exceptions.addRef());

Results

detailsresult
{"input":{ "LBFGS": { "type": "NonConverged", "value": NaN }, "CjGD": { "type": "NonConverged", "value": NaN }, "GD": { "type": "NonConverged", "value": NaN } }, "model":null, "complete":null}OK
  {
    "result": "OK",
    "performance": {
      "execution_time": "8.904",
      "gc_time": "0.734"
    },
    "created_on": 1586745301762,
    "file_name": "trainingTest",
    "report": {
      "simpleName": "Basic",
      "canonicalName": "com.simiacryptus.mindseye.layers.cudnn.RescaledSubnetLayerTest.Basic",
      "link": "https://github.com/SimiaCryptus/mindseye-cudnn/tree/59d5b3318556370acb2d83ee6ec123ce0fc6974f/src/test/java/com/simiacryptus/mindseye/layers/cudnn/RescaledSubnetLayerTest.java",
      "javaDoc": ""
    },
    "training_analysis": {
      "input": {
        "LBFGS": {
          "type": "NonConverged",
          "value": "NaN"
        },
        "CjGD": {
          "type": "NonConverged",
          "value": "NaN"
        },
        "GD": {
          "type": "NonConverged",
          "value": "NaN"
        }
      }
    },
    "archive": "s3://code.simiacrypt.us/tests/com/simiacryptus/mindseye/layers/cudnn/RescaledSubnetLayer/Basic/trainingTest/202004133501",
    "id": "1b496ca1-68f2-4d8a-96de-3b3010acb58c",
    "report_type": "Components",
    "display_name": "Comparative Training",
    "target": {
      "simpleName": "RescaledSubnetLayer",
      "canonicalName": "com.simiacryptus.mindseye.layers.cudnn.RescaledSubnetLayer",
      "link": "https://github.com/SimiaCryptus/mindseye-cudnn/tree/59d5b3318556370acb2d83ee6ec123ce0fc6974f/src/main/java/com/simiacryptus/mindseye/layers/cudnn/RescaledSubnetLayer.java",
      "javaDoc": ""
    }
  }