def load_model()

in src/neo_loader/xgboost_model_loader.py [0:0]


    def load_model(self) -> None:
        model_file = self.__get_model_file_from_model_artifacts()
        
        try:
            try:
                with open(model_file, "rb") as file:
                    bst = RestrictedUnpickler(file).load()
            except Exception as e:
                logger.info("Un-pickling failed; now try loading it as a regular XGBoost model: {}".format(e))
                self.__model_objects = treelite.Model.load(model_file.as_posix(), 'xgboost')
            else:
                self.__model_objects = treelite.Model.from_xgboost(bst)
            self.update_missing_metadata()
        except Exception as e:
            logger.exception("Failed to convert xgboost model. %s" % repr(e))
            msg = "InputConfiguration: Treelite failed to convert XGBoost model. Please make sure the framework you select is correct. {} " \
            "If you are loading a serialized model (like pickle in Python) generated by older XGBoost, " \
            "please export the model by calling `Booster.save_model` from that version first, " \
            "then load it back in current version.".format(e)
            raise RuntimeError(msg)