  
  
  _MODEL_MAPPING: dict[str, _EncoderInfo] = {
      "densenet121": _EncoderInfo(
          keras_name="DenseNet121", default_size=224),
      "densenet169": _EncoderInfo(
          keras_name="DenseNet169", default_size=224),
 
</s> remove     def _build_encoders(self, inputs: list[Tensor]) -> dict[str, keras.models.Model]:
 </s> add     def _build_encoders(self, inputs: list[tf.Tensor]) -> dict[str, tf.keras.models.Model]: </s> remove             inputs: dict[str, keras.models.Model]) -> dict[str, list[keras.models.Model]]:
 </s> add             inputs: dict[str, tf.keras.models.Model]) -> dict[str, list[tf.keras.models.Model]]: </s> remove                         inputs: dict[str, list[keras.models.Model] | keras.models.Model]
                        ) -> dict[str, keras.models.Model]:
 </s> add                         inputs: dict[str, list[tf.keras.models.Model] | tf.keras.models.Model]
                        ) -> dict[str, tf.keras.models.Model]: </s> remove         autoencoder = KModel(inputs, outputs, name=self.model_name)
 </s> add         autoencoder = keras.models.Model(inputs, outputs, name=self.model_name) </s> remove                 inputs: dict[str, list[keras.models.Model]]
            ) -> dict[str, list[keras.models.Model] | keras.models.Model]:
 </s> add                 inputs: dict[str, list[tf.keras.models.Model]]
            ) -> dict[str, list[tf.keras.models.Model] | tf.keras.models.Model]:
    "clipv_farl-b-16-16": _EncoderInfo(
        keras_name="FaRL-B-16-16", default_size=224),
    "clipv_farl-b-16-64": _EncoderInfo(
        keras_name="FaRL-B-16-64", default_size=224),
    "clipv_vit-b-16": _EncoderInfo(
        keras_name="ViT-B-16", default_size=224),
    "clipv_vit-b-32": _EncoderInfo(
        keras_name="ViT-B-32", default_size=224),
    "clipv_vit-l-14": _EncoderInfo(
        keras_name="ViT-L-14", default_size=224),
    "clipv_vit-l-14-336px": _EncoderInfo(
        keras_name="ViT-L-14-336px", default_size=336),
  
  
  _MODEL_MAPPING: dict[str, _EncoderInfo] = {
    "clipv_farl-b-16-16": _EncoderInfo(
        keras_name="FaRL-B-16-16", default_size=224),
    "clipv_farl-b-16-64": _EncoderInfo(
        keras_name="FaRL-B-16-64", default_size=224),
    "clipv_vit-b-16": _EncoderInfo(
        keras_name="ViT-B-16", default_size=224),
    "clipv_vit-b-32": _EncoderInfo(
        keras_name="ViT-B-32", default_size=224),
    "clipv_vit-l-14": _EncoderInfo(
        keras_name="ViT-L-14", default_size=224),
    "clipv_vit-l-14-336px": _EncoderInfo(
        keras_name="ViT-L-14-336px", default_size=336),
      "densenet121": _EncoderInfo(
          keras_name="DenseNet121", default_size=224),
      "densenet169": _EncoderInfo(
          keras_name="DenseNet169", default_size=224),
keep keep add keep keep keep keep
 Updates:
    - Remove clipfaker
    - Add clip to Phaze-A
    - streamline clip to vision only
    - update lib.model.networks
    - Docs and tests update
    - Phaze-A - add option to flatten bottleneck 
plugins/train/model/phaze_a.py