def summarize_evaluation(metrics, model=None):
    """
    Summary of model evaluation metrics from Keras "evaluate" method;
    the evaluation is typically performed for test dataset.
    Metrics include: loss and accuracy 
    
    # Arguments
        metrics: metrics return by the Keras evaluate() method
        model: the model evaluated;
            if provided the attribute "metrics_names" will be used to
            obtain the metric names                  
                  
    # Returns
        None
    
    # Raise
        None
    """
    print('\nSummary - Model Evaluation:')
    print('-' * 30)
    if model:
        no_metrics = len(model.metrics_names)
        for i in range(no_metrics):
            print('  {} = {:.3f}'.format(model.metrics_names[i], metrics[i]))
    else:
        loss = metrics[0]
        acc = metrics[1] * 100
        print('  (Loss, Accuracy) = ({:.3f}, {:.3f}%)'.format(loss, acc))
