code: def get_encoder_conds(
      encoder_classes: Dict[str, Type["BaseEncoderConfig"]]
  ) -> List[Dict[str, Any]]:
      """Returns a JSON schema of conditionals to validate against encoder types for specific feature types."""
      conds = []
      for encoder_type, encoder_cls in encoder_classes.items():
          other_props = (
              schema_utils.unload_jsonschema_from_marshmallow_class(
                  encoder_cls
              )["properties"]
          )
          schema_utils.remove_duplicate_fields(other_props)
          encoder_cond = schema_utils.create_cond(
              {"type": encoder_type},
              other_props,
          )
          conds.append(encoder_cond)
      return conds
  
file_path: ludwig/ludwig/schema/encoders/utils.py
imports: from dataclasses import Field
  from typing import Any, Dict, List, Optional, Type, TYPE_CHECKING, Union
  from ludwig.api_annotations import DeveloperAPI
  from ludwig.constants import MODEL_ECD, TYPE
  from ludwig.schema import utils
  from ludwig.schema.metadata import ENCODER_METADATA
  from ludwig.schema.metadata.parameter_metadata import convert_metadata_to_json
  from ludwig.utils.registry import Registry
label_desc: Use image node_id 5 for calling a global function with example usage: get_encoder_conds(encoder_classes) and returns: conds