mirror of
				https://github.com/explosion/spaCy.git
				synced 2025-10-30 15:37:29 +03:00 
			
		
		
		
	* Use isort with Black profile * isort all the things * Fix import cycles as a result of import sorting * Add DOCBIN_ALL_ATTRS type definition * Add isort to requirements * Remove isort from build dependencies check * Typo
		
			
				
	
	
		
			66 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			66 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| from typing import (
 | |
|     TYPE_CHECKING,
 | |
|     Any,
 | |
|     Callable,
 | |
|     Dict,
 | |
|     Iterable,
 | |
|     List,
 | |
|     Optional,
 | |
|     Sequence,
 | |
| )
 | |
| 
 | |
| from thinc.api import Model, Optimizer
 | |
| 
 | |
| from .compat import Protocol, runtime_checkable
 | |
| 
 | |
| if TYPE_CHECKING:
 | |
|     from .language import Language
 | |
|     from .training import Example
 | |
| 
 | |
| 
 | |
| @runtime_checkable
 | |
| class TrainableComponent(Protocol):
 | |
|     model: Any
 | |
|     is_trainable: bool
 | |
| 
 | |
|     def update(
 | |
|         self,
 | |
|         examples: Iterable["Example"],
 | |
|         *,
 | |
|         drop: float = 0.0,
 | |
|         sgd: Optional[Optimizer] = None,
 | |
|         losses: Optional[Dict[str, float]] = None
 | |
|     ) -> Dict[str, float]:
 | |
|         ...
 | |
| 
 | |
|     def finish_update(self, sgd: Optimizer) -> None:
 | |
|         ...
 | |
| 
 | |
| 
 | |
| @runtime_checkable
 | |
| class InitializableComponent(Protocol):
 | |
|     def initialize(
 | |
|         self,
 | |
|         get_examples: Callable[[], Iterable["Example"]],
 | |
|         nlp: "Language",
 | |
|         **kwargs: Any
 | |
|     ):
 | |
|         ...
 | |
| 
 | |
| 
 | |
| @runtime_checkable
 | |
| class ListenedToComponent(Protocol):
 | |
|     model: Any
 | |
|     listeners: Sequence[Model]
 | |
|     listener_map: Dict[str, Sequence[Model]]
 | |
|     listening_components: List[str]
 | |
| 
 | |
|     def add_listener(self, listener: Model, component_name: str) -> None:
 | |
|         ...
 | |
| 
 | |
|     def remove_listener(self, listener: Model, component_name: str) -> bool:
 | |
|         ...
 | |
| 
 | |
|     def find_listeners(self, component) -> None:
 | |
|         ...
 |