(self)
| 285 | self._post_init() |
| 286 | |
| 287 | def _post_init(self): |
| 288 | self.is_unified_ckpt = check_unified_ckpt(self.model) |
| 289 | self.runner_type = self._get_runner_type(self.architectures, self.runner) |
| 290 | self.convert_type = self._get_convert_type(self.architectures, self.runner_type, self.convert) |
| 291 | registry = self.registry |
| 292 | is_generative_model = registry.is_text_generation_model(self.architectures, self) |
| 293 | is_pooling_model = registry.is_pooling_model(self.architectures, self) |
| 294 | is_multimodal_model = registry.is_multimodal_model(self.architectures, self) |
| 295 | self.is_reasoning_model = registry.is_reasoning_model(self.architectures, self) |
| 296 | |
| 297 | self.enable_mm = is_multimodal_model |
| 298 | |
| 299 | self.kv_cache_quant_scale_path = os.path.join(self.model, "kv_cache_scale.json") |
| 300 | if self.runner_type == "pooling": |
| 301 | os.environ["FD_USE_GET_SAVE_OUTPUT_V1"] = "1" |
| 302 | |
| 303 | if self.runner_type == "generate" and not is_generative_model: |
| 304 | if is_multimodal_model: |
| 305 | pass |
| 306 | elif self.model_impl in ("auto", "paddleformers"): |
| 307 | # Skip check for auto/paddleformers - may fallback to paddleformers which supports any model |
| 308 | pass |
| 309 | else: |
| 310 | generate_converts = _RUNNER_CONVERTS["generate"] |
| 311 | if self.convert_type not in generate_converts: |
| 312 | raise ValueError("This model does not support '--runner generate.") |
| 313 | if self.runner_type == "pooling" and not is_pooling_model: |
| 314 | pooling_converts = _RUNNER_CONVERTS["pooling"] |
| 315 | if self.convert_type not in pooling_converts: |
| 316 | convert_option = "<" + "|".join(pooling_converts) + ">" |
| 317 | raise ValueError( |
| 318 | "This model does not support `--runner pooling`. " |
| 319 | f"You can pass `--convert {convert_option} to adapt " |
| 320 | "it into a pooling model." |
| 321 | ) |
| 322 | |
| 323 | self.supported_tasks = self._get_supported_tasks(self.architectures, self.runner_type, self.convert_type) |
| 324 | model_info, arch = registry.inspect_model_cls(self.architectures, self) |
| 325 | self._model_info = model_info |
| 326 | self._architecture = arch |
| 327 | self.architectures = [arch] |
| 328 | |
| 329 | self.pooler_config = self._init_pooler_config() |
| 330 | self.override_name_from_config() |
| 331 | self.read_from_env() |
| 332 | self.read_model_config() |
| 333 | |
| 334 | @property |
| 335 | def registry(self): |
no test coverage detected