o
    ϯil                     @   sv   d dl mZmZmZmZ d dlmZ d dlmZ dZ					dded	e
d
e
dedeeeef  dedejfddZdS )    )AnyCallableDictOptionalN)load_state_dict_from_urlz5https://dl.fbaipublicfiles.com/pytorchvideo/model_zooFT model_builder_func
pretrainedprogresscheckpoint_pathdefault_configkwargsreturnc                 K   s~   |rt |dksJ d|dur$| D ]\}}||du r#|||< q| di |}|r=t||dd}	|	d }
||
 |S )a  
    model_builder_func (Callable): Model builder function.
    pretrained (bool): Whether to load a pretrained model or not. Default: False.
    progress (bool): Whether or not to display a progress bar to stderr. Default: True.
    checkpoint_path (str): URL of the model weight to download.
    default_config (Dict): Default model configs that is passed to the model builder.
    **kwargs: (Any): Additional model configs. Do not modify the model configuration
    via the kwargs for pretrained model.
    r   z*Do not change kwargs for pretrained model.Ncpu)r
   map_locationmodel_state )lenitemsgetr   load_state_dict)r   r	   r
   r   r   r   argumentvaluemodel
checkpoint
state_dictr   r   Q/home/ubuntu/.local/lib/python3.10/site-packages/pytorchvideo/models/hub/utils.pyhub_model_builder   s   
r   )FTr   N)typingr   r   r   r   torch.nnnn	torch.hubr   MODEL_ZOO_ROOT_DIRboolstrModuler   r   r   r   r   <module>   s.   