question: @ Override public WeightVector train ( SLProblem problem , SLParameters params , WeightVector init ) throws Exception { log . info ( "Starting Structured Perceptron learner" ) ; long start = System . currentTimeMillis ( ) ; WeightVector w = init ; int epoch = 0 ; boolean done = false ; int count = 1 ; while ( ! done ) { if ( epoch % params . PROGRESS_REPORT_ITER == 0 ) { log . info ( "Starting epoch {}" , epoch ) ; if ( f != null ) f . run ( w , this . inference ) ; } count = doOneIteration ( w , problem , epoch , count , params ) ; if ( epoch % params . PROGRESS_REPORT_ITER == 0 ) { log . info ( "End of epoch {}. {} updates made" , epoch , epochUpdateCount ) ; } epoch ++ ; done = ! reachedStoppingCriterion ( w , epoch , params ) ; if ( params . PROGRESS_REPORT_ITER > 0 && ( epoch + 1 ) % params . PROGRESS_REPORT_ITER == 0 && this . f != null ) f . run ( w , inference ) ; } long end = System . currentTimeMillis ( ) ; log . info ( "Learning complete. Took {}s" , "" + ( end - start ) * 1.0 / 1000 ) ; return w ; }
target:  To train with a custom (possibly non-zero) initial weight vector