o
    'j                     @   s   d dl Z G dd deZdS )    Nc                       s,   e Zd ZdZd fdd	ZdddZ  ZS )	ClsPostProcessz+ Convert between text-label and text-index Nc                    s   t t|   || _|| _d S N)superr   __init__
label_listkey)selfr   r   kwargs	__class__ l/var/www/html/Deteccion_Ine/venv/lib/python3.10/site-packages/paddleocr/ppocr/postprocess/cls_postprocess.pyr      s   
zClsPostProcess.__init__c                    s   | j d ur
| j  | j  d u rdd tjd D  ttjr' jdd} fddt	|D }|d u r?|S  fdd|D }||fS )	Nc                 S   s   i | ]}||qS r   r   .0idxr   r   r   
<dictcomp>   s    z+ClsPostProcess.__call__.<locals>.<dictcomp>   )Zaxisc                    s$   g | ]\}} | ||f fqS r   r   )r   ir   r   predsr   r   
<listcomp>%   s    z+ClsPostProcess.__call__.<locals>.<listcomp>c                    s   g | ]} | d fqS )g      ?r   r   )r   r   r   r   )   s    )
r   r   rangeshape
isinstancepaddleZTensornumpyZargmax	enumerate)r   r   labelargsr	   Z	pred_idxsZ
decode_outr   r   r   __call__   s   

zClsPostProcess.__call__)NNr   )__name__
__module____qualname____doc__r   r    __classcell__r   r   r
   r   r      s    r   )r   objectr   r   r   r   r   <module>   s   