Iteration 1 Iteration 1

Code from BasicOptimizer.scala:88 executed in 647.26 seconds (5.503 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: 11062108210559
    Reset training subject: 11069602868077
    Adding measurement 64a1f657 to history. Total: 0
    LBFGS Accumulation History: 1 points
    Constructing line search parameters: GD+Trust
    th(0)=-0.3446217179298401;dx=-2.1064774834278528E-8
    Armijo: th(2.154434690031884)=-0.3446216881275177; dx=-2.1064500704861713E-8 evalInputDelta=-2.9802322387695312E-8
    Armijo: th(1.077217345015942)=-0.3446217179298401; dx=-2.1059759946760235E-8 evalInputDelta=0.0
    Armijo: th(0.3590724483386473)=-0.3446216583251953; dx=-2.1057970809614095E-8 evalInputDelta=-5.9604644775390625E-8
    New Minimum: -0.3446217179298401 > -0.3446217477321625
    WOLFE (weak): th(0.08976811208466183)=-0.3446217477321625; dx=-2.1060493875156856E-8 evalInputDelta=2.9802322387695312E-8
    WOLFE (weak): th(0.22442028021165458)=-0.3446217477321625; dx=-2.1061099889608553E-8 evalInputDelta=2.9802322387695312E-8
    Armijo: th(0.29174636427515094)=-0.3446217179298401; dx=-2.1026022971739047E-8 evalInputDelta=0.0
    New Minimum: -0.3446217477321625 > -0.34462180733680725
    WOLFE (weak): th(0.25808332224340275)=-0.34462180733680725; dx=-2.1067195950082716E-8 evalInputDelta=8.940696716308594E-8
    Armijo: th(0.27491484325927684)=-0.3446217179298401; dx=-2.1066444613390834E-8 evalInputDelta=0.0
    WOLFE (weak): th(0.2664990827513398)=-0.3446217477321625; dx=-2.0988160868141187E-8 evalInputDelta=2.9802322387695312E-8
    WOLFE (weak): th(0.27070696300530833)=-0.34462180733680725; dx=-2.1061428903166036E-8 evalInputDelta=8.940696716308594E-8
    Armijo: th(0.2728109031322926)=-0.3446217179298401; dx=-2.105539991950145E-8 evalInputDelta=0.0
    WOLFE (weak): th(0.2717589330688005)=-0.34462177753448486; dx=-2.106103568331302E-8 evalInputDelta=5.9604644775390625E-8
    Armijo: th(0.27228491810054656)=-0.3446217179298401; dx=-2.106132282778991E-8 evalInputDelta=0.0
    WOLFE (weak): th(0.27202192558467353)=-0.34462180733680725; dx=-2.1057706405592814E-8 evalInputDelta=8.940696716308594E-8
    WOLFE (weak): th(0.27215342184261004)=-0.34462180733680725; dx=-2.105200634399987E-8 evalInputDelta=8.94069

...skipping 5076 bytes...

    80725; dx=-2.105886832396419E-8 evalInputDelta=0.0
    Armijo: th(3.3767217734674484E-4)=-0.3446217477321625; dx=-2.1057139018123596E-8 evalInputDelta=-5.9604644775390625E-8
    Armijo: th(3.303314778392069E-4)=-0.3446217477321625; dx=-2.1056961004498266E-8 evalInputDelta=-5.9604644775390625E-8
    WOLFE (weak): th(3.2666112808543794E-4)=-0.34462180733680725; dx=-2.1049532143154255E-8 evalInputDelta=0.0
    Armijo: th(3.284963029623224E-4)=-0.3446217477321625; dx=-2.105554203802807E-8 evalInputDelta=-5.9604644775390625E-8
    Armijo: th(3.275787155238802E-4)=-0.3446217477321625; dx=-2.105324219892626E-8 evalInputDelta=-5.9604644775390625E-8
    Armijo: th(3.2711992180465904E-4)=-0.3446217477321625; dx=-2.105470455903616E-8 evalInputDelta=-5.9604644775390625E-8
    WOLFE (weak): th(3.268905249450485E-4)=-0.34462180733680725; dx=-2.105528954364745E-8 evalInputDelta=0.0
    WOLFE (weak): th(3.270052233748538E-4)=-0.34462180733680725; dx=-2.1055646187654405E-8 evalInputDelta=0.0
    WOLFE (weak): th(3.270625725897564E-4)=-0.34462180733680725; dx=-2.1058629863702788E-8 evalInputDelta=0.0
    WOLFE (weak): th(3.2709124719720775E-4)=-0.34462180733680725; dx=-2.1043293114308538E-8 evalInputDelta=0.0
    Armijo: th(3.271055845009334E-4)=-0.3446217477321625; dx=-2.105216981960136E-8 evalInputDelta=-5.9604644775390625E-8
    Armijo: th(3.2709841584907057E-4)=-0.3446217477321625; dx=-2.104947355619661E-8 evalInputDelta=-5.9604644775390625E-8
    WOLFE (weak): th(3.270948315231392E-4)=-0.34462180733680725; dx=-2.10532298132798E-8 evalInputDelta=0.0
    Armijo: th(3.2709662368610485E-4)=-0.3446217477321625; dx=-2.1036894114990587E-8 evalInputDelta=-5.9604644775390625E-8
    mu ~= nu (3.270948315231392E-4): th(0.0)=-0.34462180733680725
    Fitness changed from -0.34462180733680725 to -0.34462180733680725
    Static Iteration Total: 197.0460; Orientation: 0.0359; Line Search: 180.5847
    Iteration 3 failed. Error: -0.34462180733680725
    Previous Error: 0.0 -> -0.34462180733680725
    Optimization terminated 3
    Final threshold in iteration 3: -0.34462180733680725 (> -Infinity) after 647.255s (< 3600.000s)
    

Returns:

    -0.34462180733680725