def save(self, fname: str = None) -> None:
        """
        Save ``self.model`` to the file from ``fname`` or, if not given, ``self.save_path``. \
            If ``self.save_path`` does not have ``.pkl`` extension, then it will be replaced \
            to ``str(Path(self.save_path).stem) + ".pkl"``

        Args:
            fname:  string name of path to model to save to

        Returns:
            None
        """
        if fname is None:
            fname = self.save_path

        fname = Path(fname).with_suffix('.pkl')

        log.info("Saving model to {}".format(str(fname)))
        with open(fname, "wb") as f:
            pickle.dump(self.model, f, protocol=4)
        return

        Save ``self.model`` to the file from ``fname`` or, if not given, ``self.save_path``.             If ``self.save_path`` does not have ``.pkl`` extension, then it will be replaced             to ``str(Path(self.save_path).stem) + ".pkl"``

        Args:
            fname:  string name of path to model to save to

        Returns:
            None
        
deeppavlov/models/sklearn/sklearn_component.py