
    Nj                         d dl mZmZ d dlZd dlmZ dej
                  dededeeeeej                  f   f   fdZ
	 dd	ej
                  d
eeeeej                  f   f   defdZ G d deej
                        Zy)    )ABCabstractmethodN)nnmodel
batch_sizesequence_lengthreturnc                     i }| j                         D ].  \  }}t        |t              s|j                  ||      }|||<   0 |S )N)r   )named_modules
isinstanceStatefulModule
init_state)r   r   r   resultmodule_namemodulemodule_states          s/Users/ahmed/devFolder/Ultron/claude-voice/.venv/lib/python3.12/site-packages/pocket_tts/modules/stateful_module.pyinit_statesr      sT     F$224V&.1((_(U*{	  5
 M    r   model_state	incrementc                     | j                         D ]+  \  }} t        | t              s| j                  ||   |       - y N)r   r   r   increment_step)r   r   r   r   s       r   increment_stepsr      s>      &335V&.1k+6	B  6r   c                        e Zd Z fdZededefd       ZddedefdZdee	ee	e
j                  f   f   d	ee	e
j                  f   fd
Z xZS )r   c                 0    d | _         t        |   |i |S r   )_module_absolute_namesuper__init__)selfargskwds	__class__s      r   r    zStatefulModule.__init__   s     %)"w...r   r   r   c                     t         )zInitialize the state.)NotImplementedError)r!   r   r   s      r   r   zStatefulModule.init_state"   s
     "!r   stater   c                      y r    )r!   r'   r   s      r   r   zStatefulModule.increment_step'   s    r   r   r	   c                      || j                      S )z3Get the state for this module from the model state.)r   )r!   r   s     r   	get_statezStatefulModule.get_state*   s    45566r      )__name__
__module____qualname__r    r   intr   dictr   strtorchTensorr+   __classcell__)r$   s   @r   r   r      sz    / "S "3 " "D S 7T#tC4E/F*F%G 7DQTV[VbVbQbLc 7r   r   r,   )abcr   r   r4   r   Moduler1   r2   r3   r5   r   r   r   r)   r   r   <module>r9      s    #  	99	"%	8;		#tC%&
&'	 Z[CIIC$(d33D.E)E$FCSVC7S")) 7r   