
    j                         U d dl mZ d dlmZ d dlmZ ddlmZ ddlm	Z	 dgZ
g d	Zee         ed
<   dededede	fdZ	 	 	 	 ddededededede	fdZdS )    )Any)PreProcessor)_CompiledModule   )recognition   )RecognitionPredictorrecognition_predictor)	crnn_vgg16_bncrnn_mobilenet_v3_smallcrnn_mobilenet_v3_largesar_resnet31mastervitstr_smallvitstr_baseparseq
viptr_tinyARCHSarch
pretrainedkwargsreturnc                 ,   t          | t                    rM| t          vrt          d|  d          t	          j        |          ||                    dd                    }nt          j        t          j        t          j	        t          j
        t          j        t          j        t          g}t          | t          |                    st          dt          |                      | }|                    dd            |                    d|j        d                   |d<   |                    d|j        d                   |d<   |                    d	d
          |d	<   |j        d         dd          }t%          t'          |fddi||          }|S )Nzunknown architecture ''pretrained_backboneT)r   r   zunknown architecture: meanstd
batch_size   input_shapepreserve_aspect_ratio)
isinstancestrr   
ValueErrorr   __dict__getCRNNSARMASTERViTSTRPARSeqVIPTRr   tupletypepopcfgr	   r   )r   r   r   _modelallowed_archsr    	predictors          _/var/www/html/Carbon-Document/venv/lib/python3.11/site-packages/doctr/models/recognition/zoo.py
_predictorr6      s   $ u=d===>>>%d+!vzzBWY]7^7^
 
 
 O
 $m 4 455 	DBd4jjBBCCC
JJ$d+++ZZ
6(:;;F6NJJufj&788F5M!::lC88F<*]+BCC0K$\+%d%dUY%d]c%d%dflmmI    r   Fr   symmetric_padr   c                 $    t          d| |||d|S )a  Text recognition architecture.

    Example::
        >>> import numpy as np
        >>> from doctr.models import recognition_predictor
        >>> model = recognition_predictor(pretrained=True)
        >>> input_page = (255 * np.random.rand(32, 128, 3)).astype(np.uint8)
        >>> out = model([input_page])

    Args:
        arch: name of the architecture or model itself to use (e.g. 'crnn_vgg16_bn')
        pretrained: If True, returns a model pre-trained on our text recognition dataset
        symmetric_pad: if True, pad the image symmetrically instead of padding at the bottom-right
        batch_size: number of samples the model processes in parallel
        **kwargs: optional parameters to be passed to the architecture

    Returns:
        Recognition predictor
    )r   r   r8   r    )r6   )r   r   r8   r   r   s        r5   r
   r
   A   s%    4 u4Jm`juuntuuur7   N)r   FFr   )typingr   doctr.models.preprocessorr   doctr.models.utilsr    r   r4   r	   __all__r   listr$   __annotations__boolr6   intr
   r:   r7   r5   <module>rD      s:          2 2 2 2 2 2 . . . . . .       + + + + + +"
#
 
 
tCy 
 
 
 S  d  c  >R        H  	v v
vv v 	v
 v v v v v v vr7   