a
    þd  ã                   @   sn   d dl mZmZmZ d dlmZ d dlmZ d dlZ	de
ee eee  edœdd„Ze
eejdœd	d
„ZdS )é    )ÚAnyÚOptionalÚType)ÚRequirementCache)ÚnnN)Úmethod_nameÚinstanceÚparentÚreturnc                 C   sv   |d u rdS |d u r^t |tjƒr(tj}n&t |tjƒr<tj}nt |tjƒrNtj}|d u r^tdƒ‚ddlm} || ||ƒS )NFzExpected a parentr   )Úis_overridden)Ú
isinstanceÚplZLightningModuleZLightningDataModuleZCallbackÚ
ValueErrorZ"lightning_utilities.core.overridesr   )r   r   r	   r   © r   úr/var/www/html/stable-diffusion-webui/venv/lib/python3.9/site-packages/pytorch_lightning/utilities/model_helpers.pyr      s    r   )Ú
model_nameÚkwargsr
   c                 K   sZ   ddl m} |stt|ƒƒ‚ddlm} tdƒ}|rF|j| fi |¤ŽS t|| ƒf i |¤ŽS )Nr   )Ú_TORCHVISION_AVAILABLE)Úmodelsztorchvision>=0.14.0)	Z#pytorch_lightning.utilities.importsr   ÚModuleNotFoundErrorÚstrZtorchvisionr   r   Z	get_modelÚgetattr)r   r   r   r   Ztorchvision_greater_equal_0_14r   r   r   Úget_torchvision_model(   s    r   )NN)Útypingr   r   r   Z lightning_utilities.core.importsr   Ztorchr   Zpytorch_lightningr   r   ÚobjectÚboolr   ÚModuler   r   r   r   r   Ú<module>   s
   "