code: def get_scoring_data_iters(sources: List[str],
                             target: str,
                             source_vocabs: List[vocab.Vocab],
                             target_vocab: vocab.Vocab,
                             batch_size: int,
                             batch_num_devices: int,
                             max_seq_len_source: int,
                             max_seq_len_target: int) -> 'BaseParallelSampleIter':
      
      logger.info("==============================")
      logger.info("Creating scoring data iterator")
      logger.info("==============================")
  
      # One bucket to hold them all,
      bucket = (max_seq_len_source, max_seq_len_target)
  
      # ...One loader to raise them,
      data_loader = RawParallelDatasetLoader(buckets=[bucket],
                                             eos_id=target_vocab[C.EOS_SYMBOL],
                                             pad_id=C.PAD_ID,
                                             skip_blanks=False)
  
      # ...one iterator to traverse them all,
      scoring_iter = BatchedRawParallelSampleIter(data_loader=data_loader,
                                                  sources=sources,
                                                  target=target,
                                                  source_vocabs=source_vocabs,
                                                  target_vocab=target_vocab,
                                                  bucket=bucket,
                                                  batch_size=batch_size,
                                                  max_lens=(max_seq_len_source, max_seq_len_target),
                                                  num_factors=len(sources))
  
      # and with the model appraise them.
      return scoring_iter
docs: Returns a data iterator for scoring. The iterator loads data on demand,
      batch by batch, and does not skip any lines. Lines that are too long
      are truncated.
  
      :param sources: Path to source training data (with optional factor data paths).
      :param target: Path to target training data.
      :param source_vocabs: Source vocabulary and optional factor vocabularies.
      :param target_vocab: Target vocabulary.
      :param batch_size: Batch size.
      :param batch_num_devices: Number of devices batches will be parallelized across.
      :param max_seq_len_source: Maximum source sequence length.
      :param max_seq_len_target: Maximum target sequence length.
      :return: The scoring data iterator.