BasicOptimizer.scala:89 executed in 38.61 seconds (0.328 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: 74580927552100
Reset training subject: 74583560289100
Adding measurement 2ab11793 to history. Total: 0
LBFGS Accumulation History: 1 points
Constructing line search parameters: GD+Trust
th(0)=-20.454997297054284;dx=-7.053297149737311E-7
Armijo: th(2.154434690031884)=-20.454997297054284; dx=-5.933647951964314E-7 evalInputDelta=0.0
Armijo: th(1.077217345015942)=-20.454997297054284; dx=-5.933605982539838E-7 evalInputDelta=0.0
Armijo: th(0.3590724483386473)=-20.454997297054284; dx=-5.933677657377697E-7 evalInputDelta=0.0
Armijo: th(0.08976811208466183)=-20.454997297054284; dx=-5.930859052631004E-7 evalInputDelta=0.0
Armijo: th(0.017953622416932366)=-20.454997297054284; dx=-5.932602569936276E-7 evalInputDelta=0.0
Armijo: th(0.002992270402822061)=-20.454997297054284; dx=-5.933521034752236E-7 evalInputDelta=0.0
END: th(4.2746720040315154E-4)=-20.454997297054284; dx=-5.933747998086746E-7 evalInputDelta=0.0
Fitness changed from -20.454997297054284 to -20.454997297054284
Static Iteration Total: 28.5020; Orientation: 0.0597; Line Search: 20.5476
Iteration 1 failed. Error: -20.454997297054284
Previous Error: 0.0 -> -20.454997297054284
Retrying iteration 1
Reset training subject: 74609429709700
Adding measurement 51b1052 to history. Total: 0
LBFGS Accumulation History: 1 points
th(0)=-20.454997297054284;dx=-7.05193455382445E-7
END: th(9.20950165399361E-4)=-20.454997297054284; dx=-5.934004837147997E-7 evalInputDelta=0.0
Fitness changed from -20.454997297054284 to -20.454997297054284
Static Iteration Total: 10.1108; Orientation: 0.0596; Line Search: 5.1198
Iteration 2 failed. Error: -20.454997297054284
Previous Error: 0.0 -> -20.454997297054284
Optimization terminated 2
Final threshold in iteration 2: -20.454997297054284 (> -Infinity) after 38.614s (< 5400.000s)

Returns

    -20.454997297054284