docs: def convert_svhn_format_2(directory, output_directory,
                            output_filename='svhn_format_2.hdf5'):
      """Converts the SVHN dataset (format 2) to HDF5.
  
      This method assumes the existence of the files
      `{train,test,extra}_32x32.mat`, which are accessible through the
      official website [SVHNSITE].
  
      Parameters
      ----------
      directory : str
          Directory in which input files reside.
      output_directory : str
          Directory in which to save the converted dataset.
      output_filename : str, optional
          Name of the saved dataset. Defaults to 'svhn_format_2.hdf5'.
  
      Returns
      -------
      output_paths : tuple of str
          Single-element tuple containing the path to the converted dataset.
  
      """
      output_path = os.path.join(output_directory, output_filename)
      h5file = h5py.File(output_path, mode='w')
  
      train_set = loadmat(os.path.join(directory, FORMAT_2_TRAIN_FILE))
      train_features = train_set['X'].transpose(3, 2, 0, 1)
      train_targets = train_set['y']
      train_targets[train_targets == 10] = 0
  
      test_set = loadmat(os.path.join(directory, FORMAT_2_TEST_FILE))
      test_features = test_set['X'].transpose(3, 2, 0, 1)
      test_targets = test_set['y']
      test_targets[test_targets == 10] = 0
  
      extra_set = loadmat(os.path.join(directory, FORMAT_2_EXTRA_FILE))
      extra_features = extra_set['X'].transpose(3, 2, 0, 1)
      extra_targets = extra_set['y']
      extra_targets[extra_targets == 10] = 0
  
      data = (('train', 'features', train_features),
              ('test', 'features', test_features),
              ('extra', 'features', extra_features),
              ('train', 'targets', train_targets),
              ('test', 'targets', test_targets),
              ('extra', 'targets', extra_targets))
      fill_hdf5_file(h5file, data)
      for i, label in enumerate(('batch', 'channel', 'height', 'width')):
          h5file['features'].dims[i].label = label
      for i, label in enumerate(('batch', 'index')):
          h5file['targets'].dims[i].label = label
  
      h5file.flush()
      h5file.close()
  
      return (output_path,)