def default_metric(curriculum_params, input_data, correct_output, output_mask, output, epoch, losses, verbosity):
	""" Default metric to use to evaluate performance when using Curriculum learning.

	Advance is true if accuracy >= threshold, False otherwise.

	Arguments:
		curriculum_params (dict): Dictionary of the :class:`Curriculum` object parameters, containing the following keys:

			:Dictionary Keys:
				* **stop_training** (*bool*) -- True if the network has finished training and completed all stages.
				* **stage** (*int*) -- Current training stage (initial stage is 0).
				* **metric_values** (*list of [float, int]*)  -- List of metric values and the stage at which each metric value was computed.
				* **tasks** (*list of :class:`psychrnn.tasks.task.Task` objects*) -- List of tasks in the curriculum.
				* **metric** (*function*) -- What metric function to use. :func:`default_metric` is an example of one in terms of inputs and outputs taken.
				* **accuracies** (*list of functions with the signature of* :func:`psychrnn.tasks.task.Task.accuracy_function`) -- Accuracy function to use at each stage.
				* **thresholds** (*list of float*) -- Thresholds for each stage that accuracy must reach to move to the next stage.
				* **metric_epoch** (*int*) -- Calculate the metric / test if advance to the next stage every metric_epoch training epochs.
				* **output_file** (*str*) -- Optional path for where to save out metric value and stage.

		input_data (ndarray(dtype=float, shape =(:attr:`N_batch`, :attr:`N_steps`, :attr:`N_out` ))): Task inputs.
		correct_output (ndarray(dtype=float, shape = (:attr:`N_batch`, :attr:`N_steps`, :attr:`N_out`))): Correct (target) task output given input_data.
		output_mask (ndarray(dtype=float, shape = (:attr:`N_batch`, :attr:`N_steps`, :attr:`N_out`))): Output mask for the task. True when the network should aim to match the target output, False when the target output can be ignored.
		output (ndarray(dtype=float, shape = (:attr:`N_batch`, :attr:`N_steps`, :attr:`N_out`))): The network's output given input_data.
		epoch (*int*): The epoch number in training.
		losses (*list of float*): List of losses, computed during training.
		verbosity (*bool*): Whether to print information as training progresses. If True, prints accuracy every time it is computed.

	Returns:
		tuple:

		* **advance** (*bool*) -- True if the accuracy is >= the threshold for the current stage. False otherwise.
		* **metric_value** (*float*) -- Value of the computed accuracy.

	"""
	accuracy = curriculum_params['accuracies'][curriculum_params['stage']](correct_output,output, output_mask)
	threshold = curriculum_params['thresholds'][curriculum_params['stage']]
	if verbosity:
		print("Accuracy: " + str(accuracy))
	return accuracy>=threshold, accuracy