  
  _ENCODERS: list[str] = sorted([
      "densenet121", "densenet169", "densenet201", "efficientnet_b0", "efficientnet_b1",
      "efficientnet_b2", "efficientnet_b3", "efficientnet_b4", "efficientnet_b5", "efficientnet_b6",
      "efficientnet_b7", "efficientnet_v2_b0", "efficientnet_v2_b1", "efficientnet_v2_b2",
      "efficientnet_v2_b3", "efficientnet_v2_l", "efficientnet_v2_m", "efficientnet_v2_s",
      "inception_resnet_v2", "inception_v3", "mobilenet", "mobilenet_v2", "mobilenet_v3_large",
      "mobilenet_v3_small", "nasnet_large", "nasnet_mobile", "resnet50", "resnet50_v2", "resnet101",
 
</s> remove             inter_a = [Concatenate(name="inter_a")([inter_a[0], fc_shared(inputs["a"])])]
            inter_b = [Concatenate(name="inter_b")([inter_b[0], fc_shared(inputs["b"])])]
 </s> add             inter_a = [kl.Concatenate(name="inter_a")([inter_a[0], fc_shared(inputs["a"])])]
            inter_b = [kl.Concatenate(name="inter_b")([inter_b[0], fc_shared(inputs["b"])])] </s> remove             var_x = Dropout(self._config[dropout], name=f"{dropout}_{idx + 1}")(var_x)
            var_x = Dense(nodes)(var_x)
 </s> add             var_x = kl.Dropout(self._config[dropout], name=f"{dropout}_{idx + 1}")(var_x)
            var_x = kl.Dense(nodes)(var_x) </s> remove             var_x = Reshape((dim, dim, int(self._max_nodes / (dim ** 2))))(var_x)
 </s> add             var_x = kl.Reshape((dim, dim, int(self._max_nodes / (dim ** 2))))(var_x) </s> remove                 var_x = KConv2D(filters, 3, padding="same")(var_x)
 </s> add                 var_x = kl.Conv2D(filters, 3, padding="same")(var_x) </s> remove             new_model = clone_model(model)
 </s> add             new_model = keras.models.clone_model(model)
    "clipv_vit-b-16", "clipv_vit-b-32", "clipv_vit-l-14", "clipv_vit-l-14-336px",
    "clipv_farl-b_16-16", "clipv_farl-b_16-64",
  
  _ENCODERS: list[str] = sorted([
    "clipv_vit-b-16", "clipv_vit-b-32", "clipv_vit-l-14", "clipv_vit-l-14-336px",
    "clipv_farl-b_16-16", "clipv_farl-b_16-64",
      "densenet121", "densenet169", "densenet201", "efficientnet_b0", "efficientnet_b1",
      "efficientnet_b2", "efficientnet_b3", "efficientnet_b4", "efficientnet_b5", "efficientnet_b6",
      "efficientnet_b7", "efficientnet_v2_b0", "efficientnet_v2_b1", "efficientnet_v2_b2",
      "efficientnet_v2_b3", "efficientnet_v2_l", "efficientnet_v2_m", "efficientnet_v2_s",
      "inception_resnet_v2", "inception_v3", "mobilenet", "mobilenet_v2", "mobilenet_v3_large",
      "mobilenet_v3_small", "nasnet_large", "nasnet_mobile", "resnet50", "resnet50_v2", "resnet101",
keep add keep keep 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_defaults.py