def get_output_size(dataloaders):
	"""
		Infer the expected output size and task to perform

	Args:
		dataloaders: dict of torch.dataloader objects

	Return:
		an int, inferred output size
		a str, task to carry out
	"""
	# Find the max amount of unique labels among dataloaders
	nb_labels = 0
	labels_data_type = None
	for partition, dataloader in dataloaders.items():
			labels = list(set(dataloader.dataset.labels))
			if isinstance(labels[0], float):	# regression
				return 1, "regression"

			nb_labels = max(len(labels), nb_labels)

	out_size = 1 if nb_labels == 2 else nb_labels
	task = "binary" if nb_labels == 2 else "multilabel"
	return out_size, task