<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 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': """ 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. """

    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