This line of code:
https://github.com/CoderPat/structured-neural-summarization/blob/master/train_and_eval.py#L289
should happen on an else branch. It's no big deal, but it's the equivalent of stopping one epoch early (or as if patience is one unit lower).