class_docstr: Base class for all featurizers.
class_docstr_tok: ["Base","class","for","all","featurizers","."]
docstr: Validates that the given configurations of featurizers can be used together.
  
  Raises:
    `InvalidConfigException` if the given featurizers should not be used in
      the same graph.
docstr_tok: ["Validates","that","the","given","configurations","of","featurizers","can","be","used","together",".","Raises",":","`","InvalidConfigException","`","if","the","given","featurizers","should","not","be","used","in","the","same","graph","."]
code: def raise_if_featurizer_configs_are_not_compatible(
      featurizer_configs: Iterable[Dict[Text, Any]]
  ) -> None:
      """Validates that the given configurations of featurizers can be used together.
  
      Raises:
        `InvalidConfigException` if the given featurizers should not be used in
          the same graph.
      """
      # NOTE: this assumes the names given via the execution context are unique
      alias_counter = Counter(
          config[FEATURIZER_CLASS_ALIAS]
          for config in featurizer_configs
          if FEATURIZER_CLASS_ALIAS in config
      )
      if not alias_counter:  # no alias found
          return
      if alias_counter.most_common(1)[0][1] > 1:
          raise InvalidConfigException(
              f"Expected the featurizers to have unique names but found "
              f" (name, count): {alias_counter.most_common()}. "
              f"Please update your config such that each featurizer has a unique "
              f"alias."
          )
  
file_path: rasa/rasa/nlu/featurizers/featurizer.py
imports: from __future__ import annotations
  from abc import abstractmethod, ABC
  from collections import Counter
  from typing import Generic, Iterable, Text, Optional, Dict, Any, TypeVar
  from rasa.nlu.constants import FEATURIZER_CLASS_ALIAS
  from rasa.shared.nlu.training_data.features import Features
  from rasa.shared.nlu.training_data.message import Message
  from rasa.shared.exceptions import InvalidConfigException
  from rasa.shared.nlu.constants import FEATURE_TYPE_SENTENCE, FEATURE_TYPE_SEQUENCE
label_desc: Use image node_id 5 for calling the Featurizer obj's underlying member method code with example usage: obj.raise_if_featurizer_configs_are_not_compatible(featurizer_configs) without return types