mirror of
				https://github.com/explosion/spaCy.git
				synced 2025-10-31 16:07:41 +03:00 
			
		
		
		
	Auto-fill [nlp] on load from config and from bytes/disk
This commit is contained in:
		
							parent
							
								
									7b36e7c9ec
								
							
						
					
					
						commit
						431c2ecd78
					
				|  | @ -2101,6 +2101,13 @@ class Language: | |||
|         DOCS: https://spacy.io/api/language#from_disk | ||||
|         """ | ||||
| 
 | ||||
|         def deserialize_config(path: Path) -> None: | ||||
|             if path.exists(): | ||||
|                 config = Config().from_disk( | ||||
|                     path, interpolate=False, overrides=overrides | ||||
|                 ) | ||||
|                 self.config.merge(config) | ||||
| 
 | ||||
|         def deserialize_meta(path: Path) -> None: | ||||
|             if path.exists(): | ||||
|                 data = srsly.read_json(path) | ||||
|  | @ -2115,12 +2122,9 @@ class Language: | |||
| 
 | ||||
|         path = util.ensure_path(path) | ||||
|         deserializers = {} | ||||
|         if Path(path / "config.cfg").exists():  # type: ignore[operator] | ||||
|             deserializers["config.cfg"] = lambda p: self.config.from_disk( | ||||
|                 p, interpolate=False, overrides=overrides | ||||
|             ) | ||||
|         deserializers["meta.json"] = deserialize_meta  # type: ignore[assignment] | ||||
|         deserializers["vocab"] = deserialize_vocab  # type: ignore[assignment] | ||||
|         deserializers["config.cfg"] = deserialize_config | ||||
|         deserializers["meta.json"] = deserialize_meta | ||||
|         deserializers["vocab"] = deserialize_vocab | ||||
|         deserializers["tokenizer"] = lambda p: self.tokenizer.from_disk(  # type: ignore[union-attr] | ||||
|             p, exclude=["vocab"] | ||||
|         ) | ||||
|  | @ -2173,6 +2177,10 @@ class Language: | |||
|         DOCS: https://spacy.io/api/language#from_bytes | ||||
|         """ | ||||
| 
 | ||||
|         def deserialize_config(b): | ||||
|             config = Config().from_bytes(b, interpolate=False) | ||||
|             self.config.merge(config) | ||||
| 
 | ||||
|         def deserialize_meta(b): | ||||
|             data = srsly.json_loads(b) | ||||
|             self.meta.update(data) | ||||
|  | @ -2181,9 +2189,7 @@ class Language: | |||
|             self.vocab.vectors.name = data.get("vectors", {}).get("name") | ||||
| 
 | ||||
|         deserializers: Dict[str, Callable[[bytes], Any]] = {} | ||||
|         deserializers["config.cfg"] = lambda b: self.config.from_bytes( | ||||
|             b, interpolate=False | ||||
|         ) | ||||
|         deserializers["config.cfg"] = deserialize_config | ||||
|         deserializers["meta.json"] = deserialize_meta | ||||
|         deserializers["vocab"] = lambda b: self.vocab.from_bytes(b, exclude=exclude) | ||||
|         deserializers["tokenizer"] = lambda b: self.tokenizer.from_bytes(  # type: ignore[union-attr] | ||||
|  |  | |||
|  | @ -532,7 +532,7 @@ def load_model_from_config( | |||
|     disable: Union[str, Iterable[str]] = _DEFAULT_EMPTY_PIPES, | ||||
|     enable: Union[str, Iterable[str]] = _DEFAULT_EMPTY_PIPES, | ||||
|     exclude: Union[str, Iterable[str]] = _DEFAULT_EMPTY_PIPES, | ||||
|     auto_fill: bool = False, | ||||
|     auto_fill: bool = True, | ||||
|     validate: bool = True, | ||||
| ) -> "Language": | ||||
|     """Create an nlp object from a config. Expects the full config file including | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	Block a user