def _sample_after_epoch(reader_ids: List[reader.ReaderTuple], source_vocab: Vocabulary, target_vocab: Vocabulary, load_from: str, epoch: int) -> None: """ Samples translations during training. Three sentences are picked at random, translated with the current model and logged. """ input_lines, output_lines = zip(*random.sample(reader_ids, 3)) input_lines = [ " ".join(source_vocab.get_words(input_line)) for input_line in input_lines ] output_lines = [ " ".join(target_vocab.get_words(output_line)) for output_line in output_lines ] translations = translate_lines(load_from=load_from, input_lines=input_lines, train_mode=True) logger.debug("Sampled translations after epoch %s.", epoch) for input_line, output_line, translation in zip(input_lines, output_lines, translations): logger.debug("-" * 30) logger.debug("Input:\t\t%s", input_line) logger.debug("Predicted output:\t%s", translation) logger.debug("Actual output:\t%s", output_line) logger.debug("-" * 30)
def _sample_after_epoch(reader_ids: List[reader.ReaderTuple], source_vocab: Vocabulary, target_vocab: Vocabulary, load_from: str, epoch: int) -> None: """ Samples translations during training. Three sentences are picked at random, translated with the current model and logged. """ input_lines, output_lines = zip(*random.sample(reader_ids, 3)) input_lines = [" ".join(source_vocab.get_words(input_line)) for input_line in input_lines] output_lines = [" ".join(target_vocab.get_words(output_line)) for output_line in output_lines] translations = translate_lines(load_from=load_from, input_lines=input_lines, train_mode=True) logger.debug("Sampled translations after epoch %s.", epoch) for input_line, output_line, translation in zip(input_lines, output_lines, translations): logger.debug("-" * 30) logger.debug("Input:\t\t%s", input_line) logger.debug("Predicted output:\t%s", translation) logger.debug("Actual output:\t%s", output_line) logger.debug("-" * 30)