ó
    Eñiê  ã                   ó„   • S SK Jr  S SKrS/r " S S\R                  R
                  R                  R                  5      rg)é    )ÚAnyNÚLSTMc                   ó  • \ rS rSrSr\R                  R                  R                  R                  r
S\4S jr\S\S\SS4S j5       r\S	\S    S
\R                  R                  R                  R                  SS 4S j5       rSrg)r   é   a&  A quantized long short-term memory (LSTM).

For the description and the argument types, please, refer to :class:`~torch.nn.LSTM`

Attributes:
    layers : instances of the `_LSTMLayer`

.. note::
    To access the weights and biases, you need to access them per layer.
    See examples in :class:`~torch.ao.nn.quantizable.LSTM`

Examples::
    >>> # xdoctest: +SKIP
    >>> custom_module_config = {
    ...     'float_to_observed_custom_module_class': {
    ...         nn.LSTM: nn.quantizable.LSTM,
    ...     },
    ...     'observed_to_quantized_custom_module_class': {
    ...         nn.quantizable.LSTM: nn.quantized.LSTM,
    ...     }
    ... }
    >>> tq.prepare(model, prepare_custom_module_class=custom_module_config)
    >>> tq.convert(model, convert_custom_module_class=custom_module_config)
Úreturnc                 ó   • g)NÚQuantizedLSTM© )Úselfs    Ú^/home/mande/repo/quber/.venv/lib/python3.13/site-packages/torch/ao/nn/quantized/modules/rnn.pyÚ	_get_nameÚLSTM._get_name'   s   € Øó    ÚargsÚkwargsNc                 ó   • [        S5      e)NzrIt looks like you are trying to convert a non-observed LSTM module. Please, see the examples on quantizable LSTMs.)ÚNotImplementedError)Úclsr   r   s      r   Ú
from_floatÚLSTM.from_float*   s   € ô "ð1ó
ð 	
r   r   Úotherc                 óà   • [        XR                  5      (       d$  [        SU R                   S[        U5       35      e[        R
                  R                  R                  USSS9nXl        U$ )NzExpected module type z, got FT)ÚinplaceÚremove_qconfig)	Ú
isinstanceÚ_FLOAT_MODULEÚAssertionErrorÚtypeÚtorchÚaoÚquantizationÚconvertÚ	__class__)r   r   Ú	converteds      r   Úfrom_observedÚLSTM.from_observed4   sq   € ä˜%×!2Ñ!2×3Ñ3Ü Ø'¨×(9Ñ(9Ð':¸&ÄÀeÃÀÐNóð ô —H‘H×)Ñ)×1Ñ1Ø˜5°ð 2ð 
ˆ	ð "ÔØÐr   r
   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r    ÚnnÚquantizabler   r   Ústrr   Úclassmethodr   r   r   r%   Ú__static_attributes__r
   r   r   r   r      s™   † ñð2 —H‘H—K‘K×+Ñ+×0Ñ0€Mð˜3ô ð ð
˜sð 
¨cð 
°dó 
ó ð
ð ð	˜4 ™<ð 	°·±·±×0GÑ0G×0LÑ0Lð 	ÐQWó 	ó ó	r   )Útypingr   r   Ú__all__r    r,   r-   r   r
   r   r   Ú<module>r3      s7   ðÝ ã ð ð€ô
3ˆ5�8‰8�;‰;×"Ñ"×'Ñ'õ 3r   