ó
    Eñiˆ	  ã                   óN   • S SK JrJrJr  S SKrSSKJr  SSKJr   " S S\5      r	g)	é    )ÚAnyÚCallableÚOptionalNé   )Ú
transformsé   )ÚVisionDatasetc                   óž   ^ • \ rS rSrSr      SS\S\\\\4   S\S\\   S\\   S	\S
S4U 4S jjjr	S\S
\\
\
4   4S jrS
\4S jrSrU =r$ )ÚFakeDataé	   aÂ  A fake dataset that returns randomly generated images and returns them as PIL images

Args:
    size (int, optional): Size of the dataset. Default: 1000 images
    image_size(tuple, optional): Size of the returned images. Default: (3, 224, 224)
    num_classes(int, optional): Number of classes in the dataset. Default: 10
    transform (callable, optional): A function/transform that takes in a PIL image
        and returns a transformed version. E.g, ``transforms.RandomCrop``
    target_transform (callable, optional): A function/transform that takes in the
        target and transforms it.
    random_offset (int): Offsets the index-based random seed used to
        generate each image. Default: 0

NÚsizeÚ
image_sizeÚnum_classesÚ	transformÚtarget_transformÚrandom_offsetÚreturnc                 óP   >• [         TU ]  XES9  Xl        X0l        X l        X`l        g )N)r   r   )ÚsuperÚ__init__r   r   r   r   )Úselfr   r   r   r   r   r   Ú	__class__s          €ÚZ/home/mande/repo/quber/.venv/lib/python3.13/site-packages/torchvision/datasets/fakedata.pyr   ÚFakeData.__init__   s+   ø€ ô 	‰Ñ 9ÐÑPØŒ	Ø&ÔØ$ŒØ*Õó    Úindexc                 ól  • U[        U 5      :¼  a"  [        U R                  R                   S35      e[        R
                  " 5       n[        R                  " XR                  -   5        [        R                  " U R                  6 n[        R                  " SU R                  S[        R                  S9S   n[        R                  " U5        [        R                  " 5       " U5      nU R                   b  U R!                  U5      nU R"                  b  U R#                  U5      nX4R%                  5       4$ )zt
Args:
    index (int): Index

Returns:
    tuple: (image, target) where target is class_index of the target class.
z index out of ranger   )r   )r   Údtype)ÚlenÚ
IndexErrorr   Ú__name__ÚtorchÚget_rng_stateÚmanual_seedr   Úrandnr   Úrandintr   ÚlongÚset_rng_stater   Ú
ToPILImager   r   Úitem)r   r   Ú	rng_stateÚimgÚtargets        r   Ú__getitem__ÚFakeData.__getitem__(   sï   € ð ”C˜“IÓÜ §¡× 7Ñ 7Ð8Ð8KÐLÓMÐMÜ×'Ò'Ó)ˆ	Ü×Ò˜%×"4Ñ"4Ñ4Ô5Ü�kŠk˜4Ÿ?™?Ð+ˆÜ—’˜q $×"2Ñ"2¸ÄUÇZÁZÑPÐQRÑSˆÜ×Ò˜IÔ&ô ×#Ò#Ô% cÓ*ˆØ�>‰>Ñ%Ø—.‘. Ó%ˆCØ× Ñ Ñ,Ø×*Ñ*¨6Ó2ˆFà—K‘K“MÐ!Ð!r   c                 ó   • U R                   $ )N)r   )r   s    r   Ú__len__ÚFakeData.__len__B   s   € Ø�y‰yÐr   )r   r   r   r   )iè  )é   éà   r4   é
   NNr   )r!   Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__ÚintÚtupler   r   r   r   r.   r1   Ú__static_attributes__Ú__classcell__)r   s   @r   r   r   	   s«   ø† ñð" Ø+8ØØ(,Ø/3Øñ+àð+ð ˜#˜s C˜-Ñ(ð+ð ð	+ð
 ˜HÑ%ð+ð # 8Ñ,ð+ð ð+ð 
÷+ð +ð" ð "¨¨s°C¨x©ô "ð4˜÷ ò r   r   )
Útypingr   r   r   r"   Ú r   Úvisionr	   r   © r   r   Ú<module>rB      s    ðß *Ñ *ã å Ý !ô:ˆ}õ :r   