BasicOptimizer.scala:89 executed in 44.06 seconds (0.343 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
Logging
Reset training subject: 111676748721800
Reset training subject: 111679634669600
Adding measurement 3e6be2f9 to history. Total: 0
LBFGS Accumulation History: 1 points
Constructing line search parameters: GD+Trust
th(0)=-31.24518564858983;dx=-1.1516516047106968E-6
Armijo: th(2.154434690031884)=-31.24518564858983; dx=-8.834594170856665E-7 evalInputDelta=0.0
Armijo: th(1.077217345015942)=-31.24518564858983; dx=-8.830165297671774E-7 evalInputDelta=0.0
Armijo: th(0.3590724483386473)=-31.24518564858983; dx=-8.834663184908048E-7 evalInputDelta=0.0
Armijo: th(0.08976811208466183)=-31.24518564858983; dx=-8.833958863197421E-7 evalInputDelta=0.0
Armijo: th(0.017953622416932366)=-31.24518564858983; dx=-8.830746298433939E-7 evalInputDelta=0.0
Armijo: th(0.002992270402822061)=-31.24518564858983; dx=-8.830413526413884E-7 evalInputDelta=0.0
END: th(4.2746720040315154E-4)=-31.24518564858983; dx=-8.835030003862874E-7 evalInputDelta=0.0
Fitness changed from -31.24518564858983 to -31.24518564858983
Static Iteration Total: 32.7180; Orientation: 0.0661; Line Search: 23.9824
Iteration 1 failed. Error: -31.24518564858983
Previous Error: 0.0 -> -31.24518564858983
Retrying iteration 1
Reset training subject: 111709466945700
Adding measurement 1340cccd to history. Total: 0
LBFGS Accumulation History: 1 points
th(0)=-31.24518564858983;dx=-1.1523965626659805E-6
END: th(9.20950165399361E-4)=-31.24518564858983; dx=-8.835033266833848E-7 evalInputDelta=0.0
Fitness changed from -31.24518564858983 to -31.24518564858983
Static Iteration Total: 11.3410; Orientation: 0.0540; Line Search: 5.3012
Iteration 2 failed. Error: -31.24518564858983
Previous Error: 0.0 -> -31.24518564858983
Optimization terminated 2
Final threshold in iteration 2: -31.24518564858983 (> -Infinity) after 44.059s (< 5400.000s)

Returns

    -31.24518564858983