o
    'j/                     @   sX  d dl mZ d dl mZ d dl mZ d dl mZ d dlZd dlZd dlZd dl	Z	d dl
Z
d dlZd dlZejejeZejejejed d dlZd dlmZmZmZmZ d dlmZ d dlmZmZ d d	l m!Z!m"Z" d d
l#m$Z$m%Z%m&Z& d dl'm(Z( d dl)m*Z* d dl+m,Z, e!Z-e!Z.e"Z/e*Z0e!Z1g dZ2dd Z3dd Z4dddZ5dS )    )absolute_import)division)print_function)unicode_literalsNz../..)Dataset
DataLoaderBatchSamplerDistributedBatchSampler)	transformcreate_operators)SimpleDataSetMultiScaleDataSet)LMDBDataSetLMDBDataSetSRLMDBDataSetTableMaster)	PGDataSet)PubTabDataSet)MultiScaleSampler)build_dataloaderr
   r   set_signal_handlersc                 C   s8   t  }t t  }td|| t |tj dS )z kill all child processes
    z(main proc {} exit, kill process group {}N)osgetpidgetpgidprintformatkillpgsignalSIGKILL)Zsig_numframepidpgid r!   ^/var/www/html/Deteccion_Ine/venv/lib/python3.10/site-packages/paddleocr/ppocr/data/__init__.pyterm_mp6   s   r#   c                  C   sX   t  } zt | }W n
 ty   Y d S w | |kr*ttjt ttjt d S d S N)r   r   r   AttributeErrorr   SIGINTr#   SIGTERM)r   r    r!   r!   r"   r   ?   s   r   c              	   C   sJ  t | } g d}| | d d }||v sJ td||dv s&J dt|| |||}| | d }|d }	|d	 }
|d
 }|d }d| v rP|d }nd}|dkr{d| | v rr| | d }|d}t||fi |}nt||	||
d}nt||	||
d}d|v rddl	m
} t||d  }nd }t||||d||d}|S )N)r   r   r   r   r   r   r   TextDetDatasetTextRecDatasetMSTextRecDatasetPubTabTableRecDataset
KieDatasetdatasetnamezDataSet only support {})TrainZEvalZTestz#Mode should be Train, Eval or Test.loaderZbatch_size_per_card	drop_lastshufflenum_workersuse_shared_memoryTr/   Zsampler)r-   
batch_sizer2   r1   
collate_fn   )r6   )r-   batch_samplerZplacesr3   Zreturn_listr4   r6   )copydeepcopy	Exceptionr   evalkeyspopr	   r    r6   getattrr   )configmodeZdeviceloggerseedZsupport_dictmodule_namer-   Zloader_configr5   r1   r2   r3   r4   Zconfig_samplerZsampler_namer8   r6   Zdata_loaderr!   r!   r"   r   T   sb   



	r   r$   )6
__future__r   r   r   r   r   sysnumpynpZskimageZpaddler   randompathdirnameabspath__file____dir__appendjoinr9   Z	paddle.ior   r   r   r	   Zpaddle.distributeddistributeddistZppocr.data.imaugr
   r   Zppocr.data.simple_datasetr   r   Zppocr.data.lmdb_datasetr   r   r   Zppocr.data.pgnet_datasetr   Zppocr.data.pubtab_datasetr   Zppocr.data.multi_scale_samplerr   r(   r)   r*   r+   r,   __all__r#   r   r   r!   r!   r!   r"   <module>   s>   	