def METHOD_NAME(self, equal_resolution=False, numpify=False, paddleify=False):
    """This function prepares a list of PIL images, or a list of numpy arrays if one specifies numpify=True,
    or a list of PaddlePaddle tensors if one specifies paddleify=True.
    """
    assert not (numpify and paddleify), "You cannot specify both numpy and PaddlePaddle tensors at the same time"
    if equal_resolution:
        image_inputs = []
        for i in range(self.batch_size):
            image_inputs.append(
                np.random.randint(
                    255, size=(self.num_channels, self.max_resolution, self.max_resolution), dtype=np.uint8
                )
            )
    else:
        image_inputs = []
        for i in range(self.batch_size):
            width, height = np.random.choice(np.arange(self.min_resolution, self.max_resolution), 2)
            image_inputs.append(np.random.randint(255, size=(self.num_channels, width, height), dtype=np.uint8))
    if not numpify and not paddleify:
        # PIL expects the channel dimension as last dimension
        image_inputs = [Image.fromarray(np.moveaxis(x, 0, -1)) for x in image_inputs]
    if paddleify:
        image_inputs = [paddle.to_tensor(x) for x in image_inputs]
    return image_inputs