docs: def create_tensorboard_process(self):
          """Create a TensorBoard process.
  
          Returns:
              tuple: A tuple containing:
                  int: The port number.
                  process: The TensorBoard process.
  
          Raises:
              OSError: If no ports between 6006 and 6105 are available for starting TensorBoard.
          """
          port = 6006
  
          for _ in range(100):
              p = subprocess.Popen(
                  ["tensorboard", "--logdir", self.logdir, "--host", "localhost", "--port",
                   str(port)],
                  stdout=subprocess.PIPE,
                  stderr=subprocess.PIPE
              )
              self.event.wait(5)
              if p.poll():
                  port += 1
              else:
                  return port, p
  
          raise OSError(
              'No available ports to start TensorBoard. Attempted all ports between 6006 and 6105')