def validation_epoch(self, epoch_info, source: '<STR_LIT>'):
self.eval()<EOL>iterator = tqdm.tqdm(source.val_loader(), desc="<STR_LIT>", unit="<STR_LIT>", file=sys.stdout)<EOL>with torch.no_grad():<EOL><INDENT>for batch_idx, (data, target) in enumerate(iterator):<EOL><INDENT>batch_info = BatchInfo(epoch_info, batch_idx)<EOL>batch_info.on_validation_batch_begin()<EOL>self.feed_batch(batch_info, data, target)<EOL>batch_info.on_validation_batch_end()<EOL><DEDENT><DEDENT>
Run a single evaluation epoch