code: def test_fitting_with_tensor_multi_output(self):
      train_real_steps_per_epoch = 30
      train_batch_size = ModelMultiOutputTest.batch_size
      train_final_batch_missing_samples = 7
      train_size = (
          train_real_steps_per_epoch * train_batch_size
          - train_final_batch_missing_samples
      )
      train_x = torch.rand(train_size, 1)
      train_y = (torch.rand(train_size, 1), torch.rand(train_size, 1))
  
      valid_real_steps_per_epoch = 10
      # valid_batch_size will be the same as train_batch_size in the fit method.
      valid_batch_size = train_batch_size
      valid_final_batch_missing_samples = 3
      valid_size = (
          valid_real_steps_per_epoch * valid_batch_size
          - valid_final_batch_missing_samples
      )
      valid_x = torch.rand(valid_size, 1)
      valid_y = (torch.rand(valid_size, 1), torch.rand(valid_size, 1))
  
      logs = self.model.fit(
          train_x,
          train_y,
          validation_data=(valid_x, valid_y),
          epochs=ModelMultiOutputTest.epochs,
          batch_size=train_batch_size,
          steps_per_epoch=None,
          validation_steps=None,
          callbacks=[self.mock_callback],
      )
      params = {
          "epochs": ModelMultiOutputTest.epochs,
          "steps": train_real_steps_per_epoch,
          "valid_steps": valid_real_steps_per_epoch,
      }
      self._test_callbacks_train(params, logs)
  
imports: import numpy
  import torch
  import torch.nn
  from torch.utils.data import DataLoader
  from poutyne import Model, TensorDataset
  from tests.framework.model.base import ModelFittingTestCase, MultiIOModel
label_desc: Use image node_id 3 for calling the ModelMultiOutputTest obj's underlying member method code with example usage: obj.test_fitting_with_tensor_multi_output() without return types