'Generates output predictions for the input samples.
Computation is done in batches.
# Arguments
x: the input data, as a Numpy array
(or list of Numpy arrays if the model has multiple outputs).
batch_size: integer.
verbose: verbosity mode, 0 or 1.
# Returns
Numpy array(s) of predictions.
# Raises
ValueError: In case of mismatch between the provided
input data and the model\'s expectations,
or in case a stateful model receives a number of samples
that is not a multiple of the batch size.'

def predict(self, x, batch_size=32, verbose=0):

    x = _standardize_input_data(x, self._feed_input_names, self._feed_input_shapes, check_batch_axis=False)
    if self.stateful:
        if ((x[0].shape[0] > batch_size) and ((x[0].shape[0] % batch_size) != 0)):
            raise ValueError((((('In    a    stateful    network,    you    should    only    pass    inputs    with    a    number    of    samples    that    can    be    divided    by    the    batch    size.    Found:    ' + str(x[0].shape[0])) + '    samples.    Batch    size:    ') + str(batch_size)) + '.'))
    if (self.uses_learning_phase and (not isinstance(K.learning_phase(), int))):
        ins = (x + [0.0])
    else:
        ins = x
    self._make_predict_function()
    f = self.predict_function
    return self._predict_loop(f, ins, batch_size=batch_size, verbose=verbose)
