          """ str: The name of this model based on the plugin name. """
          basename = os.path.basename(sys.modules[self.__module__].__file__)
          return os.path.splitext(basename)[0].lower()
  
      @property
      def output_shapes(self):
          """ list: A list of list of shape tuples for the outputs of the model with the batch
          dimension removed. The outer list contains 2 sub-lists (one for each side "a" and "b").
 
</s> remove         autoencoder = KerasModel(inputs, outputs, name=self.name)
 </s> add         autoencoder = KerasModel(inputs, outputs, name=self.model_name)
 </s> remove         autoencoder = KerasModel(inputs, outputs, name=self.name)
 </s> add         autoencoder = KerasModel(inputs, outputs, name=self.model_name) </s> remove         self._name = plugin.name
 </s> add         self._name = plugin.model_name
    @property
    def model_name(self):
        """ str: The name of the keras model. Generally this will be the same as :attr:`name`
        but some plugins will override this when they contain multiple architectures """
        return self.name

          """ str: The name of this model based on the plugin name. """
          basename = os.path.basename(sys.modules[self.__module__].__file__)
          return os.path.splitext(basename)[0].lower()
  
    @property
    def model_name(self):
        """ str: The name of the keras model. Generally this will be the same as :attr:`name`
        but some plugins will override this when they contain multiple architectures """
        return self.name

      @property
      def output_shapes(self):
          """ list: A list of list of shape tuples for the outputs of the model with the batch
          dimension removed. The outer list contains 2 sub-lists (one for each side "a" and "b").
keep keep keep add keep keep keep keep
 Bugfix -Weights freezing/loading for dfl-sae 
plugins/train/model/_base.py