Code from BasicOptimizer.scala:88 executed in 2466.47 seconds (7.508 gc):
val lineSearchInstance: LineSearchStrategy = lineSearchFactory
val trainer = new IterativeTrainer(trainable)
trainer.setOrientation(orientation())
trainer.setMonitor(new TrainingMonitor() {
override def clear(): Unit = trainingMonitor.clear()
override def log(msg: String): Unit = {
trainingMonitor.log(msg)
BasicOptimizer.this.log(msg)
}
override def onStepFail(currentPoint: Step): Boolean = {
BasicOptimizer.this.onStepFail(trainable.addRef().asInstanceOf[Trainable], currentPoint)
}
override def onStepComplete(currentPoint: Step): Unit = {
if (0 < logEvery && (0 == currentPoint.iteration % logEvery || currentPoint.iteration < logEvery)) {
val image = currentImage()
timelineAnimation += image
val caption = "Iteration " + currentPoint.iteration
out.p(caption + "\n" + out.jpg(image, caption))
}
BasicOptimizer.this.onStepComplete(trainable.addRef().asInstanceOf[Trainable], currentPoint)
trainingMonitor.onStepComplete(currentPoint)
super.onStepComplete(currentPoint)
}
})
trainer.setTimeout(trainingMinutes, TimeUnit.MINUTES)
trainer.setMaxIterations(trainingIterations)
trainer.setLineSearchFactory((_: CharSequence) => lineSearchInstance)
trainer.setTerminateThreshold(java.lang.Double.NEGATIVE_INFINITY)
val result = trainer.run.asInstanceOf[lang.Double]
trainer.freeRef()
result
Reset training subject: 5279130137115
Reset training subject: 5467157575931
Adding measurement 53136513 to history. Total: 0
LBFGS Accumulation History: 1 points
Constructing line search parameters: GD+Trust
th(0)=16.491851300001144;dx=-1.3138804055933142E-6
New Minimum: 16.491851300001144 > 16.49184639751911
WOLFE (weak): th(2.154434690031884)=16.49184639751911; dx=-1.3166800550721018E-6 evalInputDelta=4.902482032775879E-6
New Minimum: 16.49184639751911 > 16.491840109229088
WOLFE (weak): th(4.308869380063768)=16.491840109229088; dx=-1.3127780539018447E-6 evalInputDelta=1.119077205657959E-5
New Minimum: 16.491840109229088 > 16.49181630462408
WOLFE (weak): th(12.926608140191302)=16.49181630462408; dx=-1.298607068513703E-6 evalInputDelta=3.499537706375122E-5
New Minimum: 16.49181630462408 > 16.491710901260376
WOLFE (weak): th(51.70643256076521)=16.491710901260376; dx=-1.3284130761822496E-6 evalInputDelta=1.4039874076843262E-4
New Minimum: 16.491710901260376 > 16.491147331893444
WOLFE (weak): th(258.53216280382605)=16.491147331893444; dx=-1.3283533220737295E-6 evalInputDelta=7.039681077003479E-4
New Minimum: 16.491147331893444 > 16.487629786133766
WOLFE (weak): th(1551.1929768229563)=16.487629786133766; dx=-1.3019811047439582E-6 evalInputDelta=0.004221513867378235
New Minimum: 16.487629786133766 > 16.46231073886156
WOLFE (weak): th(10858.350837760694)=16.46231073886156; dx=-1.3018053586398738E-6 evalInputDelta=0.029540561139583588
New Minimum: 16.46231073886156 > 16.256735153496265
WOLFE (weak): th(86866.80670208555)=16.256735153496265; dx=-1.3049485686333625E-6 evalInputDelta=0.235116146504879
New Minimum: 16.256735153496265 > 14.5017549097538
END: th(781801.26031877)=14.5017549097538; dx=-1.1311775485004187E-6 evalInputDelta=1.990096390247345
Fitness changed from 16.491851300001144 to 14.5017549097538
Iteration 1 complete. Error: 14.5017549097538 Total: 2464.1123; Orientation: 0.1741; Line Search: 1895.1797
<a id="p-3"></a>Iteration 1
<a id="p-2"></a>![Iteration 1](etc/d951d8ff-1fe2-40aa-8623-0bf6fcf01cc0.jpg)
Final threshold in iteration 1: 14.5017549097538 (> -Infinity) after 2466.471s (< 1800.000s)
14.5017549097538