training_epoch_end seems to fail when returning nothing
I'm trying to log weight histograms to tensorboard at the end of each training epoch. I have the following code:
    def training_epoch_end(self, outputs):
        self.log_hists()

This is in line with the documentation. "If you don't need to display anything, Don't return anything"
However when this function runs I get the following error:
...
File "/venv/lib/python3.6/site-packages/pytorch_lightning/trainer/training_loop.py", line 499, in run_training_epoch
│    self.run_training_epoch_end(epoch_output)
│  File "/venv/lib/python3.6/site-packages/pytorch_lightning/trainer/training_loop.py", line 533, in run_training_epoch_end
│    _processed_outputs = self.process_output(epoch_output)
│  File "/venv/lib/python3.6/site-packages/pytorch_lightning/trainer/logging.py", line 106, in process_output
│    for k, v in output.items():
│AttributeError: 'NoneType' object has no attribute 'items'
│Exception ignored in: <object repr() failed>
│Traceback (most recent call last):
│  File "/venv/lib/python3.6/site-packages/tqdm/std.py", line 1086, in __del__
│  File "/venv/lib/python3.6/site-packages/tqdm/std.py", line 1293, in close
│  File "/venv/lib/python3.6/site-packages/tqdm/std.py", line 1471, in display
│  File "/venv/lib/python3.6/site-packages/tqdm/std.py", line 1089, in __repr__
│  File "/venv/lib/python3.6/site-packages/tqdm/std.py", line 1433, in format_dict
│TypeError: 'NoneType' object is not iterable```

The fix that I've found is to return a dictionary according to the expected typed return, as follows:


def training_epoch_end(self, outputs):
    self.log_hists()
    return {'dummy': torch.Tensor()}


This seems like a bandaid rather than a true fix since I don't need to return anything.

1) Is there a better way to log the histograms to tensorboard?
2) Should I be doing something different in this function?