o
     ¢i  ã                   @   s¤   d dl mZmZmZmZmZmZmZmZ d dl	m
Z
mZ ddlmZmZ er2ddlmZ ddlmZ eG dd„ deƒƒZeG d	d
„ d
eƒƒZeG dd„ deƒƒZdS )é    )ÚTYPE_CHECKINGÚAnyÚCallableÚDictÚIterableÚListÚOptionalÚSequence)ÚModelÚ	Optimizeré   )ÚProtocolÚruntime_checkable)ÚLanguage)ÚExamplec                   @   st   e Zd ZU eed< eed< ddddœded ded	ee	 d
ee
eef  de
eef f
dd„Zd	e	ddfdd„ZdS )ÚTrainableComponentÚmodelÚis_trainableg        N)ÚdropÚsgdÚlossesÚexamplesr   r   r   r   Úreturnc                C   ó   d S ©N© )Úselfr   r   r   r   r   r   ú</home/ubuntu/.local/lib/python3.10/site-packages/spacy/ty.pyÚupdate   s   zTrainableComponent.updatec                 C   r   r   r   )r   r   r   r   r   Úfinish_update#   ó    z TrainableComponent.finish_update)Ú__name__Ú
__module__Ú__qualname__r   Ú__annotations__Úboolr   Úfloatr   r   r   Ústrr   r   r   r   r   r   r      s$   
 úþüûú

ù	r   c                   @   s.   e Zd Zdeg ed f dddefdd„ZdS )	ÚInitializableComponentÚget_examplesr   Únlpr   Úkwargsc                 K   r   r   r   )r   r)   r*   r+   r   r   r   Ú
initialize(   s   z!InitializableComponent.initializeN)r!   r"   r#   r   r   r   r,   r   r   r   r   r(   &   s    þýür(   c                   @   sx   e Zd ZU eed< ee ed< eeee f ed< e	e ed< dededdfd	d
„Z
dededefdd„Zddd„ZdS )ÚListenedToComponentr   Ú	listenersÚlistener_mapÚlistening_componentsÚlistenerÚcomponent_namer   Nc                 C   r   r   r   ©r   r1   r2   r   r   r   Úadd_listener7   r    z ListenedToComponent.add_listenerc                 C   r   r   r   r3   r   r   r   Úremove_listener9   r    z#ListenedToComponent.remove_listenerc                 C   r   r   r   )r   Ú	componentr   r   r   Úfind_listeners;   r    z"ListenedToComponent.find_listeners)r   N)r!   r"   r#   r   r$   r	   r
   r   r'   r   r4   r%   r5   r7   r   r   r   r   r-   0   s   
 r-   N)Útypingr   r   r   r   r   r   r   r	   Ú	thinc.apir
   r   Úcompatr   r   Úlanguager   Útrainingr   r   r(   r-   r   r   r   r   Ú<module>   s   ( 	