BasicOptimizer.scala:89 executed in 47.69 seconds (0.445 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: 76762178098000
Reset training subject: 76764928858700
Corrupt weights measurement
LBFGS Accumulation History: 0 points
Constructing line search parameters: GD+Trust
New Minimum: -23.03879911449803 > -23.065424561117783
th(0)=-23.065424561117783;dx=-7.770535188418574E-7
Armijo: th(2.154434690031884)=-23.065424561117783; dx=-6.462475317518815E-7 evalInputDelta=0.0
Armijo: th(1.077217345015942)=-23.065424561117783; dx=-6.465842507754855E-7 evalInputDelta=0.0
Armijo: th(0.3590724483386473)=-23.065424561117783; dx=-6.464563083505073E-7 evalInputDelta=0.0
Armijo: th(0.08976811208466183)=-23.065424561117783; dx=-6.465887331231641E-7 evalInputDelta=0.0
Armijo: th(0.017953622416932366)=-23.065424561117783; dx=-6.465895660201855E-7 evalInputDelta=0.0
Armijo: th(0.002992270402822061)=-23.065424561117783; dx=-6.464368511131543E-7 evalInputDelta=0.0
END: th(4.2746720040315154E-4)=-23.065424561117783; dx=-6.463401078102602E-7 evalInputDelta=0.0
Fitness changed from -23.03879911449803 to -23.065424561117783
Iteration 1 complete. Error: -23.065424561117783 Total: 28.5166; Orientation: 0.0370; Line Search: 20.7515
<a id="p-3"></a>Iteration 1
<a id="p-2"></a>
Adding measurement 3455d41d to history. Total: 0
LBFGS Accumulation History: 1 points
th(0)=-23.065424561117783;dx=-7.801563060189147E-7
END: th(9.20950165399361E-4)=-23.065424561117783; dx=-6.499175690689113E-7 evalInputDelta=0.0
Fitness changed from -23.065424561117783 to -23.065424561117783
Static Iteration Total: 8.5269; Orientation: 0.0604; Line Search: 5.1885
Iteration 2 failed. Error: -23.065424561117783
Previous Error: 0.0 -> -23.065424561117783
Retrying iteration 2
Reset training subject: 76799221778500
Adding measurement 3aac1208 to history. Total: 0
LBFGS Accumulation History: 1 points
th(0)=-23.065424561117783;dx=-7.803284100912189E-7
END: th(0.0019841269841269845)=-23.065424561117783; dx=-6.499758113256876E-7 evalInputDelta=0.0
Fitness changed from -23.065424561117783 to -23.065424561117783
Static Iteration Total: 10.6453; Orientation: 0.0706; Line Search: 5.4814
Iteration 3 failed. Error: -23.065424561117783
Previous Error: 0.0 -> -23.065424561117783
Optimization terminated 3
Final threshold in iteration 3: -23.065424561117783 (> -Infinity) after 47.689s (< 5400.000s)
Returns
-23.065424561117783