def METHOD_NAME(batch_size, is_train, is_shuffle):
    name = 'data_batch' if is_train else 'test_batch'
    datasets = cifar10_reader(
        paddle.dataset.common.download(CIFAR10_URL, 'cifar', CIFAR10_MD5),
        name, is_shuffle)
    n = int(math.ceil(len(datasets) //
                      num_workers)) if use_multiprocess else len(datasets)
    datasets_lists = [datasets[i:i + n] for i in range(0, len(datasets), n)]
    multi_readers = []
    for pid in range(len(datasets_lists)):
        multi_readers.append(
            reader_generator(datasets_lists[pid], batch_size, is_train,
                             is_shuffle))
    if use_multiprocess:
        reader = paddle.reader.multiprocess_reader(multi_readers, False)
    else:
        reader = multi_readers[0]
    return reader