
    2Vh                     \    d dl Zd dlmZ d dlmZ d dlmZ  ed       G d de             Zy)    N)keras_export)Callback)io_utilszkeras.callbacks.TerminateOnNaNc                       e Zd ZdZddZy)TerminateOnNaNzACallback that terminates training when a NaN loss is encountered.Nc                     |xs i }|j                  d      }|Vt        j                  |      st        j                  |      r+t	        j
                  d| d       d| j                  _        y y y )NlosszBatch z$: Invalid loss, terminating trainingT)getnpisnanisinfr   	print_msgmodelstop_training)selfbatchlogsr	   s       T/home/dcms/DCMS/lib/python3.12/site-packages/keras/src/callbacks/terminate_on_nan.pyon_batch_endzTerminateOnNaN.on_batch_end   sg    zrxxxx~$""UG#GH ,0

(	 "0     )N)__name__
__module____qualname____doc__r    r   r   r   r      s
    K0r   r   )	numpyr   keras.src.api_exportr   keras.src.callbacks.callbackr   keras.src.utilsr   r   r   r   r   <module>r       s2     - 1 $ ./0X 0 00r   