
    h	                     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          U/var/www/auris/envauris/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88KLMM'')	%"4"445kk4??+q$"2"2UZZPQRSI& ##%c*>>%..%C  ,**62FKKM!!r   c                     U R                   $ )N)r   )r   s    r   __len__FakeData.__len__B   s    yy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++ #sC-(+ 	+
 H%+ #8,+ + 
+ +" "sCx "4  r   r   )
typingr   r   r   r"    r   visionr	   r    r   r   <module>rB      s     * *   !:} :r   