
    {-j                         d dl mZmZmZmZmZ d dlZddlm	Z	 ddl
mZmZ ddlmZ ddlmZ d	d
lmZ ej         e	d           G d de                                  ZdS )    )AnyDictListOptionalUnionN   )pipeline_requires_extra   )	HPIConfigPaddlePredictorOption)TopkVideoResult)	benchmark   )BasePipelinevideoc                   ,    e Zd ZdZdZddddddddedee         dee         d	eeeef                  d
ee	         de
deeeeef         ef                  ddf fdZ	 ddeeee         ej        eej                 f         deedf         defdZ xZS )VideoClassificationPipelinezVideo Classification Pipelinevideo_classificationNFdeviceengineengine_config	pp_optionuse_hpip
hpi_configconfigr   r   r   r   r   r   returnc          
           t                      j        d||||||d| |d         d         }	|                     |	          | _        dS )a  Initializes the video classification pipeline.

        Args:
            config (Dict): Configuration dictionary containing model and other parameters.
            device (Optional[str], optional): The device to use for prediction. Defaults to `None`.
            engine (Optional[str], optional): Inference engine. Defaults to `None`.
            engine_config (Optional[Dict[str, Any]], optional): Engine-specific config. Defaults to `None`.
            pp_option (Optional[PaddlePredictorOption], optional): Paddle predictor options.
                Defaults to `None`.
            use_hpip (bool, optional): Whether to use HPIP. Defaults to `False`.
            hpi_config (Optional[Union[Dict[str, Any], HPIConfig]], optional):
                HPIP configuration. Defaults to `None`.
        r   
SubModulesVideoClassificationN )super__init__create_modelvideo_classification_model)selfr   r   r   r   r   r   r   kwargs!video_classification_model_config	__class__s             y/var/www/html/banglarbhumi/venv/lib/python3.11/site-packages/paddlex/inference/pipelines/video_classification/pipeline.pyr#   z$VideoClassificationPipeline.__init__!   sz    2 	 	
'!	
 	
 	
 	
 	
 -3<,@AV,W)*.*;*;-+
 +
'''       inputtopkc              +   D   K   |                      ||          E d{V  dS )a  Predicts video classification results for the given input.

        Args:
            input (Union[str, list[str], np.ndarray, list[np.ndarray]]): The input image(s) or path(s) to the images.
            topk: Union[int, None]: The number of top predictions to return. Defaults to 1.
            **kwargs: Additional keyword arguments that can be passed to the function.

        Returns:
            TopkVideoResult: The predicted top k results.
        )r.   N)r%   )r&   r-   r.   r'   s       r*   predictz#VideoClassificationPipeline.predictI   s9      " 225t2DDDDDDDDDDDr+   )r,   )__name__
__module____qualname____doc__entitiesr   r   strr   r   boolr   r   r#   r   npndarrayintr   r0   __classcell__)r)   s   @r*   r   r      sS        ('%H !% $2659AE&
 &
 &
&
 	&

 &
  S#X/&
 12&
 &
 U4S>9#<=>&
 
&
 &
 &
 &
 &
 &
V "#E ES$s)RZbj1AABE CIE
 
E E E E E E E Er+   r   )typingr   r   r   r   r   numpyr8   
utils.depsr	   modelsr   r   "models.video_classification.resultr   utils.benchmarkr   baser   time_methodsr   r!   r+   r*   <module>rD      s   4 3 3 3 3 3 3 3 3 3 3 3 3 3     2 2 2 2 2 2 6 6 6 6 6 6 6 6 A A A A A A ( ( ( ( ( (       !!>E >E >E >E >E, >E >E "! >E >E >Er+   