Clarity for add_test, label and show_results

Since add_test does not accept true labels and the first train label is used, it causes confusion when show_results is used with test set (target - as first train label - vs prediction) and in get-preds (2nd tensor).
Why not process true test labels (if provided) or use a non-existing label to indicate a fake target?

If we provide a non-existing label, there’ll be a bug when trying to use all the functions that expect labels (creating a batch, using show_results etc…).
If you have labels, you should create a second validation set in a second data object, then using it to show_results. test set in fastai is supposed to be unlabelled to give convenience methods for quickly getting predictions on new data.

Then, maybe show_results should not accept DatasetType.Test or hide ‘Target’ if DatasetType.Test is passed.

You can still want to see your predictions, understanding that the labels are fake.