code: def check_embedding_parameters(cat_dims, cat_idxs, cat_emb_dim):
      """
      Check parameters related to embeddings and rearrange them in a unique manner.
      """
      if (cat_dims == []) ^ (cat_idxs == []):
          if cat_dims == []:
              msg = "If cat_idxs is non-empty, cat_dims must be defined as a list of same length."
          else:
              msg = "If cat_dims is non-empty, cat_idxs must be defined as a list of same length."
          raise ValueError(msg)
      elif len(cat_dims) != len(cat_idxs):
          msg = "The lists cat_dims and cat_idxs must have the same length."
          raise ValueError(msg)
  
      if isinstance(cat_emb_dim, int):
          cat_emb_dims = [cat_emb_dim] * len(cat_idxs)
      else:
          cat_emb_dims = cat_emb_dim
  
      # check that all embeddings are provided
      if len(cat_emb_dims) != len(cat_dims):
          msg = f"""cat_emb_dim and cat_dims must be lists of same length, got {len(cat_emb_dims)}
                      and {len(cat_dims)}"""
          raise ValueError(msg)
  
      # Rearrange to get reproducible seeds with different ordering
      if len(cat_idxs) > 0:
          sorted_idxs = np.argsort(cat_idxs)
          cat_dims = [cat_dims[i] for i in sorted_idxs]
          cat_emb_dims = [cat_emb_dims[i] for i in sorted_idxs]
  
      return cat_dims, cat_idxs, cat_emb_dims
  
imports: from torch.utils.data import Dataset
  from torch.utils.data import DataLoader, WeightedRandomSampler
  import torch
  import numpy
  import scipy
  import json
  from sklearn.utils import check_array
  import pandas
  import warnings
label_desc: Use image node_id 11 for calling a global function with example usage: check_embedding_parameters(cat_dims, cat_idxs, cat_emb_dim) and returns: cat_dims,  cat_idxs,  cat_emb_dims