Ë
    éÓ^j¾  ã                   ó²   — d Z ddlZddlZddlmZ ddlZddlmZ ddl	m
Z
 	 ddlZddlmZ ddlmZ dd	„Z G d
„ de«      Zy# e$ rZ ed«       e‚dZ[ww xY w)zd Dataset 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                 ó    — d| j                   vri S | j                   |   }|j                  D �ci c]  }||j                  |«      “Œ }}|S c c}w )NÚlabel)ÚfeaturesÚnamesÚstr2int)ÚinfoÚ	label_keyÚclass_labelÚnÚclass_to_idxs        úh/var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/timm/data/readers/reader_hfds.pyÚget_class_labelsr      sV   € Ø�d—m‘mÑ#Øˆ	Ø—-‘- 	Ñ*€KØ7B×7HÑ7HÖI°!�A�{×*Ñ*¨1Ó-Ñ-ÐI€LÐIØÐùò Js   ®Ac                   ó|   ‡ — e Zd Z	 	 	 	 	 	 	 	 ddedee   dededededeee      ded	efˆ fd
„Zd„ Z	d„ Z
dd„Zˆ xZS )Ú
ReaderHfdsÚnameÚrootÚsplitÚ	class_mapÚ	input_keyÚ
target_keyÚadditional_featuresÚdownloadÚtrust_remote_codec
                 óŽ  •— t         ‰
| �  «        || _        || _        t	        j
                  ||| j                  |	¬«      | _        | j                  j                  |t	        j                  d¬«      «      | _        || _	        || _
        d| _        |rt        |«      | _        d| _        n/t        | j                  j                  | j                  «      | _        | j                  j                  j                   |   | _        | j"                  j$                  | _        |�!t)        |t*        «      r|| _        y|g| _        yd| _        y)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#   zReaderHfds.__init__    s	  ø€ ô 	‰ÑÔØˆŒ	ØˆŒ
Ü×,Ñ,ØØØ—i‘iØ/ô	
ˆŒð —|‘|×/Ñ/°	¼8¿>¹>ÐQVÔ;WÓXˆŒà"ˆŒØ#ˆŒØ ˆÔÙÜ .¨yÓ 9ˆDÔØ#ˆDÕä 0°·±×1BÑ1BÀDÇNÁNÓ SˆDÔØŸ,™,×+Ñ+×2Ñ2°5Ñ9ˆŒØŸ?™?×7Ñ7ˆÔàÐ*ÜÐ-¬tÔ4Ø+>�Õ(à,?Ð+@�Õ(à'+ˆDÕ$ó    c                 óz  — | j                   |   }|| j                     }d|v r|d   rt        j                  |d   «      }nd|v r|d   sJ ‚t	        |d   d«      }|| j
                     }| j                  r| j                  |   }| j                  �#| j                  D �cg c]  }||   ‘Œ	 }}||g|¢­S ||fS c c}w )NÚbytesÚpathÚrb)	r&   r(   ÚioÚBytesIOÚopenr   r)   r   r   )r0   ÚindexÚitemÚimager	   Úfeatr
   s          r   Ú__getitem__zReaderHfds.__getitem__M   sÑ   € Ø�|‰|˜EÑ"ˆØ�T—^‘^Ñ$ˆà�eÑ  g¢Ü—J‘J˜u W™~Ó.‰Eà˜U‘? u¨V¢}Ð4Ð4Ü˜˜v™¨Ó-ˆEà�T—^‘^Ñ$ˆØ×ÒØ×%Ñ% eÑ,ˆEà×#Ñ#Ð/Ø/3×/GÑ/GÖH t˜˜T›
ÐHˆHÐHØ˜%Ð* (Ñ*Ð*à˜%�<Ðùò Is   ÂB8c                 ó,   — t        | j                  «      S )N)Úlenr&   )r0   s    r   Ú__len__zReaderHfds.__len__a   s   € Ü�4—<‘<Ó Ð r2   c                 óD   — | j                   |   }|| j                     d   S )Nr5   )r&   r(   )r0   r:   ÚbasenameÚabsoluter;   s        r   Ú	_filenamezReaderHfds._filenamed   s$   € Ø�|‰|˜EÑ"ˆØ�D—N‘NÑ# FÑ+Ð+r2   )NÚtrainNr<   r	   NFF)FF)Ú__name__Ú
__module__Ú__qualname__Ústrr   Údictr/   Úboolr#   r>   rA   rE   Ú__classcell__)r1   s   @r   r   r      s—   ø„ ð
 #'Ø Ø"Ø$Ø%Ø7;Ø"Ø&+ñ+,àð+,ð ˜3‘-ð+,ð ð	+,ð
 ð+,ð ð+,ð ð+,ð "*¨$¨s©)Ñ!4ð+,ð ð+,ð  $õ+,òZ ò(!÷,r2   r   )r	   )Ú__doc__r7   ÚmathÚtypingr   ÚtorchÚtorch.distributedÚdistributedÚdistÚPILr   r$   ÚImportErrorÚeÚprintr   r   Úreaderr   r   r   © r2   r   ú<module>r[      sa   ðñó 
Û Ý ã Ý  Ý ðÛõ &Ý óôH,�õ H,øð ò Ù	Ð
PÔQØ
€Gûðús   ¢A ÁAÁ
AÁA