code: def test_logging(self):
      train_gen = some_data_generator(20)
      valid_gen = some_data_generator(20)
      logger = TensorBoardLogger(self.writer, split_train_val=True)
      history = self.model.fit_generator(
          train_gen,
          valid_gen,
          epochs=self.num_epochs,
          steps_per_epoch=5,
          callbacks=[logger],
      )
      self._test_logging(history)
  
imports: import csv
  import os
  from tempfile import TemporaryDirectory
  from unittest import TestCase, main, skipIf
  from unittest.mock import MagicMock, call
  import torch
  import torch.nn
  from tests.framework.tools import some_data_generator
  from poutyne import AtomicCSVLogger, Callback
  from poutyne import CSVLogger
  from poutyne import Model, TensorBoardLogger
label_desc: Use image node_id 3 for calling the BaseTensorBoardLoggerWithSplitTrainValTest obj's underlying member method code with example usage: obj.test_logging() without return types