a
    d3                     @   sR   d Z ddlZddlZddlmZ eeZejddddZ	ejddddZ
dS )z*Helper functions to detect NaN/Inf values.    N)modelreturnc                 C   sF   |   D ]8}|jdurt|j  rt| d|j  qdS )zVIterates over model parameters and prints out parameter + gradient information if NaN.Nz, )
parametersZgradtorchisnanfloatanyloginfo)r   param r   r/var/www/html/stable-diffusion-webui/venv/lib/python3.9/site-packages/pytorch_lightning/utilities/finite_checks.pyprint_nan_gradients   s    r   c                 C   s<   |   D ].\}}t| st|  td| dqdS )zIterates over model parameters and prints gradients if any parameter is not finite.

    Raises:
        ValueError:
            If ``NaN`` or ``inf`` values are found
    z#Detected nan and/or inf values in `z?`. Check your forward pass for numerically unstable operations.N)Znamed_parametersr   isfiniteallr   
ValueError)r   namer   r   r   r   detect_nan_parameters   s    
r   )__doc__loggingr   Ztorch.nnnn	getLogger__name__r	   Moduler   r   r   r   r   r   <module>   s   
