import tensorflow as tf

        Args:
            inputs (tensor): data to be processed

        Returns:
            tensor: output data
        """
        if len(tf.shape(inputs)) > 1:
            # If the input size is not 1-dimensional, unstack the input along its first dimension,
            # recursively call the forward pass on each of the yielded tensors, and then stack the
            # outputs back into the correct shape
            reconstructor = []
            for x in tf.unstack(inputs):
