The progress bar is cluttered, too many prints by default. Let's remove some of them.
Hi guys,
I feel the progress bar contains some uninformative prints and leaves little space for user customization.
This is the progress bar print before validation, with empty tqdm_dict (so no user addition to the progress bar metrics):
Epoch 1: 39%|鈻堚枅鈻堚枆 | 343/875 [00:07<00:10, 48.46batch/s, batch_nb=342, gpu=0, loss=0.408, v_nb=18]
This is after a validation step where I add to the tqdm_dict validation accuracy and loss:
Epoch 2: 20%|鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枏 | 171/875 [00:03<00:11, 58.99batch/s, batch_nb=170, gpu=0, loss=0.267, v_nb=21, val_acc=91.8, val_loss=0.278]
To avoid more clutter and make some room for user-defined metrics, I propose to remove the following outputs from the progress bar:
Also, I propose to rename "batch/s" to tqdm default "it/s" to save a few extra characters.
Pinging @tullie @Borda since this discussion almost started in #531 .
Best,
C
great suggestion. let's make all the changes you suggested except:
Submit a PR when ready!
Yeah great suggestion. This is something i've been thinking about as my tqdm dictionaries tend to be pretty big.
@williamFalcon, what's your reasoning for keeping loss? One issue I have with the default loss is that it only displays with 3 precision numbers so I have to put it in the tqdm anyway. Of course, that could be fixed in other ways but this seems like a decent solution. I'd suggest keeping loss as a default only when the tqdm dictionary isn't supplied.
I'd like to hear your justification on keeping v_nb too. It does seem wasteful considering it's constant throughout training.
I would be as lean as possible with the defaults because it is quite easy for the user to add stuff, while it is impossible to remove the defaults.
I'd suggest keeping loss as a default only when the tqdm dictionary isn't supplied.
I like this proposal: with a "default" tqdm_dict that we can override we achieve both convenience and full flexibility
@CarloLucibello @tullie want to submit a PR?
Most helpful comment
I would be as lean as possible with the defaults because it is quite easy for the user to add stuff, while it is impossible to remove the defaults.
I like this proposal: with a "default" tqdm_dict that we can override we achieve both convenience and full flexibility