
    RЦi                         S r SSKrSSKrSSKJr  SSKrSSKJr  SSK	J
r
   SSKrSSKJr  SSKJr  SS	 jr " S
 S\5      rg! \ a  r\" S5        \eSrCff = f)zcDataset reader that wraps Hugging Face datasets

Hacked together by / Copyright 2022 Ross Wightman
    N)Optional)ImagezDPlease install Hugging Face datasets package `pip install datasets`.   )load_class_map)Readerc                     SU R                   ;  a  0 $ U R                   U   nUR                   Vs0 s H  o3UR                  U5      _M     nnU$ s  snf )Nlabel)featuresnamesstr2int)info	label_keyclass_labelnclass_to_idxs        \/var/www/html/ai-image-ml/venv/lib/python3.13/site-packages/timm/data/readers/reader_hfds.pyget_class_labelsr      sW    dmm#	--	*K7B7H7HI7H!{**1--7HLI Js   Ac                      ^  \ rS rSr        SS\S\\   S\S\S\S\S\\\      S	\S
\4U 4S jjjr	S r
S rSS jrSrU =r$ )
ReaderHfds   namerootsplit	class_map	input_key
target_keyadditional_featuresdownloadtrust_remote_codec
                   > [         T
U ]  5         X l        X0l        [        R
                  " UUU R                  U	S9U l        U R                  R                  U[        R                  " SS95      U l        XPl	        X`l
        SU l        U(       a  [        U5      U l        SU l        O/[        U R                  R                  U R                  5      U l        U R                  R                  R                   U   U l        U R"                  R$                  U l        Ub%  [)        U[*        5      (       a  Xpl        gU/U l        gSU l        g)z	
        )r   	cache_dirr   F)decodeTN)super__init__r   r   datasetsload_datasetdatasetcast_columnr   	image_keyr   remap_classr   r   r   r   splits
split_infonum_examplesnum_samples
isinstancelistr   )selfr   r   r   r   r   r   r   r   r   	__class__s             r   r$   ReaderHfds.__init__    s    		
,,ii/	
 ||//	8>>QV;WX"#  .y 9D#D 01B1BDNN SD,,++2259??77*-t44+>(,?+@('+D$    c                    U R                   U   nX R                     nSU;   a$  US   (       a  [        R                  " US   5      nO!SU;   a
  US   (       d   e[	        US   S5      nX R
                     nU R                  (       a  U R                  U   nU R                  b$  U R                   Vs/ s H  oRU   PM	     nnX4/UQ7$ X44$ s  snf )Nbytespathrb)	r'   r)   ioBytesIOopenr   r*   r   r   )r1   indexitemimager	   featr
   s          r   __getitem__ReaderHfds.__getitem__M   s    ||E"^^$egJJuW~.EU?uV}44v-E^^$%%e,E##//3/G/GH/GtT
/GHH*(**< Is   2Cc                 ,    [        U R                  5      $ )N)lenr'   )r1   s    r   __len__ReaderHfds.__len__a   s    4<<  r4   c                 B    U R                   U   nX@R                     S   $ )Nr7   )r'   r)   )r1   r<   basenameabsoluter=   s        r   	_filenameReaderHfds._filenamed   s"    ||E"NN#F++r4   )
r   r   r'   r)   r   r.   r*   r   r   r,   )NtrainNr>   r	   NFF)FF)__name__
__module____qualname____firstlineno__strr   dictr0   boolr$   r@   rD   rI   __static_attributes____classcell__)r2   s   @r   r   r      s    
 #' "$%7;"&++,+, 3-+, 	+,
 +, +, +, "*$s)!4+, +,  $+, +,Z (!, ,r4   r   )r	   )__doc__r9   mathtypingr   torchtorch.distributeddistributeddistPILr   r%   ImportErroreprintr   r   readerr   r   r    r4   r   <module>rb      sa    
       & H, H,  	
PQ
Gs   A A	
AA