
    Z j                         S r SSKrSSKJr  SSKJr  SSKJr  SSK	J
r
Jr  SSKJrJrJrJrJrJr  SS	KJrJr  SS
KJrJr  \ " S S\5      5       rS/rg)z#Image processor class for VideoMAE.    N)
functional   )TorchvisionBackend)BatchFeature)group_images_by_shapereorder_images)IMAGENET_STANDARD_MEANIMAGENET_STANDARD_STD
ImageInputPILImageResamplingSizeDictmake_nested_list_of_images)ImagesKwargsUnpack)
TensorTypeauto_docstringc                   F  ^  \ rS rSr\R
                  r\r\	r
SS0rSrSSS.rSrSrSrSrS\\   4U 4S jjrS S	\S
\S\4S jjr\S\S\\   S\4U 4S jj5       rS	\\S      S\S\SSS\S\S\S\S\S\\\   -  S-  S\\\   -  S-  S\S-  S\\ -  S-  S\4S jr!Sr"U =r#$ )!VideoMAEImageProcessor"   shortest_edge   F)heightwidthTkwargsc                 &   > [         TU ]  " S0 UD6  g )N )super__init__)selfr   	__class__s     ڇ/root/GenerationalWealth/GenerationalWealth/venv/lib/python3.13/site-packages/transformers/models/videomae/image_processing_videomae.pyr   VideoMAEImageProcessor.__init__/   s    "6"    imagesexpected_ndimsreturnc                     [        XS9$ )N)r%   )r   )r   r$   r%   s      r!   _prepare_images_structure0VideoMAEImageProcessor._prepare_images_structure2   s    )&PPr#   videosc                 &   > [         TU ]  " U40 UD6$ )aX  
videos (`ImageInput`):
    Video or batch of videos to preprocess. Expects a single video (list of frames) or a batch of videos
    (list of list of frames). Each frame can be a PIL image, numpy array, or torch tensor with pixel values
    ranging from 0 to 255. If passing in frames with pixel values between 0 and 1, set `do_rescale=False`.
)r   
preprocess)r   r*   r   r    s      r!   r,   !VideoMAEImageProcessor.preprocess5   s     w!&3F33r#   ztorch.Tensor	do_resizesizeresamplez7PILImageResampling | tvF.InterpolationMode | int | Nonedo_center_crop	crop_size
do_rescalerescale_factordo_normalize
image_meanN	image_stddisable_groupingreturn_tensorsc           	         [        USUS9u  nn0 nUR                  5        H$  u  nnU(       a  U R                  UX45      nUUU'   M&     [        UUSS9n[        USUS9u  nn0 nUR                  5        H8  u  nnU(       a  U R	                  UU5      nU R                  UXxXU5      nUUU'   M:     [        UUSS9nU Vs/ s H  n[        R                  " U5      PM     nn[        SU0US9$ s  snf )NT)	is_nestedr8   )r;   pixel_values)datatensor_type)	r   itemsresizer   center_croprescale_and_normalizetorchstackr   )r   r$   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r   grouped_imagesgrouped_images_indexresized_images_groupedshapestacked_imagesresized_imagesprocessed_images_groupedprocessed_imagesvideo_framesr<   s                            r!   _preprocess"VideoMAEImageProcessor._preprocess?   s1   " 0Ed5E0
,, "$%3%9%9%;!E>!%^T!L,:"5) &< ((>@T`de/Dd=M0
,, $& %3%9%9%;!E>!%!1!1.)!L!77
LV_N /=$U+ &< **BDXdhi GWWFVlL1FVW.,!?^\\ Xs   ? C-r   )r   )$__name__
__module____qualname____firstlineno__r   BILINEARr0   r	   r6   r
   r7   r/   default_to_squarer2   r.   r1   r3   r5   r   r   r   r   intr(   r   r   r,   listboolr   floatstrr   rN   __static_attributes____classcell__)r    s   @r!   r   r   "   s~   !**H'J%IS!D-IINJL#!5 #Q
 QC QXb Q 4 4vl7K 4P\ 4 4*]T.)**] *] 	*]
 L*] *] *] *] *] *] DK'$.*] 4;&-*] +*] j(4/*]  
!*] *]r#   r   )__doc__rC   torchvision.transforms.v2r   tvFimage_processing_backendsr   image_processing_utilsr   image_transformsr   r   image_utilsr	   r
   r   r   r   r   processing_utilsr   r   utilsr   r   r   __all__r   r#   r!   <module>rg      sX    *  7 ; 2 E  5 / F]/ F] F]R $
$r#   