code: def get_split_conds():
      """Returns a JSON schema of conditionals to validate against optimizer types defined in
      `ludwig.modules.optimization_modules.optimizer_registry`."""
      conds = []
      for splitter in split_config_registry.data:
          splitter_cls = split_config_registry.data[splitter]
          other_props = (
              schema_utils.unload_jsonschema_from_marshmallow_class(
                  splitter_cls
              )["properties"]
          )
          schema_utils.remove_duplicate_fields(other_props, [TYPE])
          splitter_cond = schema_utils.create_cond(
              {"type": splitter},
              other_props,
          )
          conds.append(splitter_cond)
      return conds
  
imports: from dataclasses import Field
  from typing import Type
  from ludwig.api_annotations import DeveloperAPI
  from ludwig.constants import SPLIT, TYPE
  from ludwig.schema import utils
  from ludwig.schema.metadata import PREPROCESSING_METADATA
  from ludwig.schema.utils import ludwig_dataclass
  from ludwig.utils.registry import Registry
label_desc: Use image node_id 2 for calling a global function with example usage: get_split_conds() and returns: conds