| 1126 | save_model.__doc__ = f"""{Booster.save_model.__doc__}""" |
| 1127 | |
| 1128 | def load_model(self, fname: ModelIn) -> None: |
| 1129 | # pylint: disable=attribute-defined-outside-init |
| 1130 | if not self.__sklearn_is_fitted__(): |
| 1131 | self._Booster = Booster({"n_jobs": self.n_jobs}) |
| 1132 | self.get_booster().load_model(fname) |
| 1133 | |
| 1134 | meta_str = self.get_booster().attr("scikit_learn") |
| 1135 | if meta_str is not None: |
| 1136 | meta = json.loads(meta_str) |
| 1137 | t = meta.get("_estimator_type", None) |
| 1138 | if t is not None and t != self._get_type(): |
| 1139 | raise TypeError( |
| 1140 | "Loading an estimator with different type. Expecting: " |
| 1141 | f"{self._get_type()}, got: {t}" |
| 1142 | ) |
| 1143 | |
| 1144 | self.get_booster().set_attr(scikit_learn=None) |
| 1145 | config = json.loads(self.get_booster().save_config()) |
| 1146 | self._load_model_attributes(config) |
| 1147 | |
| 1148 | if Booster.load_model.__doc__ is not None: |
| 1149 | load_model.__doc__ = f"""{Booster.load_model.__doc__}""" |