Iteration 1 Iteration 1

Iteration 2 Iteration 2

Iteration 3 Iteration 3

Iteration 4 Iteration 4

Iteration 5 Iteration 5

Iteration 10 Iteration 10

Iteration 15 Iteration 15

Code from BasicOptimizer.scala:75 executed in 3847.29 seconds (30.857 gc):

    val lineSearchInstance: LineSearchStrategy = lineSearchFactory
    IterativeTrainer.wrap(trainable)
      .setOrientation(orientation())
      .setMonitor(new TrainingMonitor() {
        override def clear(): Unit = trainingMonitor.clear()
  
        override def log(msg: String): Unit = trainingMonitor.log(msg)
  
        override def onStepFail(currentPoint: Step): Boolean = {
          BasicOptimizer.this.onStepFail(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, currentPoint)
          trainingMonitor.onStepComplete(currentPoint)
          super.onStepComplete(currentPoint)
        }
      })
      .setTimeout(trainingMinutes, TimeUnit.MINUTES)
      .setMaxIterations(trainingIterations)
      .setLineSearchFactory((_: CharSequence) => lineSearchInstance)
      .setTerminateThreshold(java.lang.Double.NEGATIVE_INFINITY)
      .runAndFree
      .asInstanceOf[lang.Double]

Logging:

    Reset training subject: 1035819744361400
    Reset training subject: 1035840544042200
    Adding measurement 74c793ca to history. Total: 0
    LBFGS Accumulation History: 1 points
    Constructing line search parameters: GD+Trust
    th(0)=-1.142945796251297;dx=-8.156980350921107E-8
    New Minimum: -1.142945796251297 > -1.1429459974169731
    WOLFE (weak): th(2.154434690031884)=-1.1429459974169731; dx=-8.13709719007318E-8 evalInputDelta=2.0116567611694336E-7
    New Minimum: -1.1429459974169731 > -1.1429461687803268
    WOLFE (weak): th(4.308869380063768)=-1.1429461687803268; dx=-8.136872295964703E-8 evalInputDelta=3.725290298461914E-7
    New Minimum: -1.1429461687803268 > -1.1429470926523209
    WOLFE (weak): th(12.926608140191302)=-1.1429470926523209; dx=-8.136036726936176E-8 evalInputDelta=1.296401023864746E-6
    New Minimum: -1.1429470926523209 > -1.1429506093263626
    WOLFE (weak): th(51.70643256076521)=-1.1429506093263626; dx=-8.136039324816433E-8 evalInputDelta=4.813075065612793E-6
    New Minimum: -1.1429506093263626 > -1.1429699212312698
    WOLFE (weak): th(258.53216280382605)=-1.1429699212312698; dx=-8.136360898334684E-8 evalInputDelta=2.4124979972839355E-5
    New Minimum: -1.1429699212312698 > -1.1430907994508743
    WOLFE (weak): th(1551.1929768229563)=-1.1430907994508743; dx=-8.136012404031272E-8 evalInputDelta=1.4500319957733154E-4
    New Minimum: -1.1430907994508743 > -1.1439612060785294
    WOLFE (weak): th(10858.350837760694)=-1.1439612060785294; dx=-8.131614070763003E-8 evalInputDelta=0.0010154098272323608
    New Minimum: -1.1439612060785294 > -1.1510535925626755
    WOLFE (weak): th(86866.80670208555)=-1.1510535925626755; dx=-8.091726020166604E-8 evalInputDelta=0.008107796311378479
    New Minimum: -1.1510535925626755 > -1.2142350524663925
    WOLFE (weak): th(781801.26031877)=-1.2142350524663925; dx=-7.705161537659581E-8 evalInputDelta=0.07128925621509552
    New Minimum: -1.2142350524663925 > -1.655930109322071
    END: th(7818012.6031877)=-1.655930109322071; dx=-4.154288269451397E-8 evalInputDelta=0.5129843130707741
    Fitness changed from -1.142945796251297 

...skipping 27152 bytes...

    84338326752186; dx=-2.3967117852004917E-9 evalInputDelta=9.287148714065552E-6
    Armijo: th(8695078.61796552)=-2.388384684920311; dx=-2.389024887430373E-9 evalInputDelta=-3.986060619354248E-5
    Armijo: th(8506055.169748876)=-2.3884097039699554; dx=-2.394551284165454E-9 evalInputDelta=-1.4841556549072266E-5
    Armijo: th(8411543.445640557)=-2.3884219750761986; dx=-2.394886021820266E-9 evalInputDelta=-2.5704503059387207E-6
    WOLFE (weak): th(8364287.583586396)=-2.3884278759360313; dx=-2.396279567140184E-9 evalInputDelta=3.330409526824951E-6
    WOLFE (weak): th(8387915.514613476)=-2.388424873352051; dx=-2.396331805417992E-9 evalInputDelta=3.2782554626464844E-7
    Armijo: th(8399729.480127016)=-2.388423413038254; dx=-2.3955921801754498E-9 evalInputDelta=-1.1324882507324219E-6
    Armijo: th(8393822.497370247)=-2.388424165546894; dx=-2.396150164927367E-9 evalInputDelta=-3.7997961044311523E-7
    WOLFE (weak): th(8390869.005991861)=-2.3884245678782463; dx=-2.396062940422763E-9 evalInputDelta=2.2351741790771484E-8
    Armijo: th(8392345.751681054)=-2.388424374163151; dx=-2.3957243237021377E-9 evalInputDelta=-1.7136335372924805E-7
    Armijo: th(8391607.378836457)=-2.388424515724182; dx=-2.3961406396513007E-9 evalInputDelta=-2.9802322387695312E-8
    Armijo: th(8391238.192414159)=-2.388424526900053; dx=-2.3952692247360296E-9 evalInputDelta=-1.862645149230957E-8
    WOLFE (weak): th(8391053.59920301)=-2.3884246200323105; dx=-2.395749687139178E-9 evalInputDelta=7.450580596923828E-8
    Armijo: th(8391145.895808585)=-2.3884245231747627; dx=-2.3959863665764614E-9 evalInputDelta=-2.2351741790771484E-8
    WOLFE (weak): th(8391099.747505797)=-2.3884245604276657; dx=-2.39627955741903E-9 evalInputDelta=1.4901161193847656E-8
    mu ~= nu (8391099.747505797): th(3024375.171466267)=-2.388666555285454
    Fitness changed from -2.3884245455265045 to -2.388666555285454
    Iteration 19 complete. Error: -2.388666555285454 Total: 458.9569; Orientation: 0.7083; Line Search: 438.3107
    Final threshold in iteration 19: -2.388666555285454 (> -Infinity) after 3847.291s (< 3600.000s)
    

Returns:

    -2.388666555285454