Code from BasicOptimizer.scala:75 executed in 4008.49 seconds (33.390 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]
Reset training subject: 1043773356711000
Reset training subject: 1043794054572500
Adding measurement 3b9e1476 to history. Total: 0
LBFGS Accumulation History: 1 points
Constructing line search parameters: GD+Trust
th(0)=-1.3697863817214966;dx=-7.399892785914977E-8
New Minimum: -1.3697863817214966 > -1.3697865419089794
WOLFE (weak): th(2.154434690031884)=-1.3697865419089794; dx=-7.387621233666587E-8 evalInputDelta=1.601874828338623E-7
New Minimum: -1.3697865419089794 > -1.3697867281734943
WOLFE (weak): th(4.308869380063768)=-1.3697867281734943; dx=-7.38661943161903E-8 evalInputDelta=3.46451997756958E-7
New Minimum: -1.3697867281734943 > -1.3697874769568443
WOLFE (weak): th(12.926608140191302)=-1.3697874769568443; dx=-7.386000520805095E-8 evalInputDelta=1.0952353477478027E-6
New Minimum: -1.3697874769568443 > -1.3697906993329525
WOLFE (weak): th(51.70643256076521)=-1.3697906993329525; dx=-7.385631295007083E-8 evalInputDelta=4.317611455917358E-6
New Minimum: -1.3697906993329525 > -1.3698083460330963
WOLFE (weak): th(258.53216280382605)=-1.3698083460330963; dx=-7.386936018483794E-8 evalInputDelta=2.1964311599731445E-5
New Minimum: -1.3698083460330963 > -1.3699178770184517
WOLFE (weak): th(1551.1929768229563)=-1.3699178770184517; dx=-7.38569848564948E-8 evalInputDelta=1.3149529695510864E-4
New Minimum: -1.3699178770184517 > -1.37070694565773
WOLFE (weak): th(10858.350837760694)=-1.37070694565773; dx=-7.382396562834629E-8 evalInputDelta=9.205639362335205E-4
New Minimum: -1.37070694565773 > -1.3771335780620575
WOLFE (weak): th(86866.80670208555)=-1.3771335780620575; dx=-7.345307038477765E-8 evalInputDelta=0.007347196340560913
New Minimum: -1.3771335780620575 > -1.4343984499573708
WOLFE (weak): th(781801.26031877)=-1.4343984499573708; dx=-7.007248400071233E-8 evalInputDelta=0.06461206823587418
New Minimum: -1.4343984499573708 > -1.8365745432674885
END: th(7818012.6031877)=-1.8365745432674885; dx=-3.8810012084015966E-8 evalInputDelta=0.4667881615459919
Fitness changed from -1.3697863817214966 to
...skipping 27558 bytes...
235180855; dx=-2.19807899005085E-9 evalInputDelta=-2.8330832719802856E-5
Armijo: th(4008286.9449792523)=-2.498517081141472; dx=-2.2015448326447583E-9 evalInputDelta=-1.32732093334198E-5
Armijo: th(3890396.152479863)=-2.4985240139067173; dx=-2.202152921657322E-9 evalInputDelta=-6.340444087982178E-6
Armijo: th(3831450.756230168)=-2.49852729216218; dx=-2.2027905191208173E-9 evalInputDelta=-3.0621886253356934E-6
Armijo: th(3801978.0581053207)=-2.4985290989279747; dx=-2.203385988452676E-9 evalInputDelta=-1.255422830581665E-6
Armijo: th(3787241.7090428965)=-2.49852979183197; dx=-2.204294216924575E-9 evalInputDelta=-5.62518835067749E-7
Armijo: th(3779873.5345116844)=-2.4985301569104195; dx=-2.204353401648906E-9 evalInputDelta=-1.9744038581848145E-7
WOLFE (weak): th(3776189.4472460784)=-2.4985304102301598; dx=-2.2043676252872484E-9 evalInputDelta=5.587935447692871E-8
Armijo: th(3778031.4908788814)=-2.4985302798449993; dx=-2.204554601483491E-9 evalInputDelta=-7.450580596923828E-8
WOLFE (weak): th(3777110.46906248)=-2.498530361801386; dx=-2.2045569098054647E-9 evalInputDelta=7.450580596923828E-9
Armijo: th(3777570.9799706805)=-2.4985303208231926; dx=-2.2046617312397115E-9 evalInputDelta=-3.3527612686157227E-8
Armijo: th(3777340.7245165803)=-2.4985303170979023; dx=-2.2037268176150213E-9 evalInputDelta=-3.725290298461914E-8
Armijo: th(3777225.5967895305)=-2.4985303431749344; dx=-2.2041011764716567E-9 evalInputDelta=-1.1175870895385742E-8
Armijo: th(3777168.0329260053)=-2.4985303431749344; dx=-2.204124826145515E-9 evalInputDelta=-1.1175870895385742E-8
WOLFE (weak): th(3777139.2509942427)=-2.498530361801386; dx=-2.2053568884807227E-9 evalInputDelta=7.450580596923828E-9
mu ~= nu (3777139.2509942427): th(1886252.6799902364)=-2.4985782392323017
Fitness changed from -2.4985303543508053 to -2.4985782392323017
Iteration 18 complete. Error: -2.4985782392323017 Total: 460.2674; Orientation: 0.7037; Line Search: 439.6899
Final threshold in iteration 18: -2.4985782392323017 (> -Infinity) after 4008.487s (< 3600.000s)
-2.4985782392323017