Code from BasicOptimizer.scala:88 executed in 3975.81 seconds (24.482 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: 3317596326537
Reset training subject: 3599250417496
Adding measurement 2e115978 to history. Total: 0
LBFGS Accumulation History: 1 points
Constructing line search parameters: GD+Trust
th(0)=57.24477259069681;dx=-3.222674493773137E-7
New Minimum: 57.24477259069681 > 57.24477205425501
WOLFE (weak): th(2.154434690031884)=57.24477205425501; dx=-3.2633746368045773E-7 evalInputDelta=5.364418029785156E-7
New Minimum: 57.24477205425501 > 57.24477117881179
WOLFE (weak): th(4.308869380063768)=57.24477117881179; dx=-3.188041306588622E-7 evalInputDelta=1.4118850231170654E-6
New Minimum: 57.24477117881179 > 57.244764890521765
WOLFE (weak): th(12.926608140191302)=57.244764890521765; dx=-3.179587032284555E-7 evalInputDelta=7.700175046920776E-6
New Minimum: 57.244764890521765 > 57.24474003538489
WOLFE (weak): th(51.70643256076521)=57.24474003538489; dx=-3.144701465818904E-7 evalInputDelta=3.255531191825867E-5
New Minimum: 57.24474003538489 > 57.24461071565747
WOLFE (weak): th(258.53216280382605)=57.24461071565747; dx=-3.147232631745604E-7 evalInputDelta=1.6187503933906555E-4
New Minimum: 57.24461071565747 > 57.24380461499095
WOLFE (weak): th(1551.1929768229563)=57.24380461499095; dx=-3.209118422849624E-7 evalInputDelta=9.679757058620453E-4
New Minimum: 57.24380461499095 > 57.23800292611122
WOLFE (weak): th(10858.350837760694)=57.23800292611122; dx=-3.1786444232227717E-7 evalInputDelta=0.0067696645855903625
New Minimum: 57.23800292611122 > 57.19067807495594
WOLFE (weak): th(86866.80670208555)=57.19067807495594; dx=-3.195047695182269E-7 evalInputDelta=0.05409451574087143
New Minimum: 57.19067807495594 > 56.76281597837806
WOLFE (weak): th(781801.26031877)=56.76281597837806; dx=-3.080557468086231E-7 evalInputDelta=0.4819566123187542
New Minimum: 56.76281597837806 > 53.05505678802729
END: th(7818012.6031877)=53.05505678802729; dx=-2.1391524575635416E-7 evalInputDelta=4.189715802669525
Fitness changed from 57.24477259069681 to 53.05505678802729
Iteration 1 complete. Error: 53.05505678802729 Total: 3971.3633; Orientation: 0.3258; Line Search: 3121.2282
<a id="p-3"></a>Iteration 1
<a id="p-2"></a>![Iteration 1](etc/f980872b-4046-42c3-8d1e-ba79d2203204.jpg)
Final threshold in iteration 1: 53.05505678802729 (> -Infinity) after 3975.810s (< 1800.000s)
53.05505678802729