o
    8wi                     @   sb   d dl Z d dlmZ d dlmZmZ d dlZd dlZd dl	m
Z d dlmZ G dd deeZ
dS )    N)Mapping)AnyUnion)SpikeDetection)Callbackc                   @   sJ   e Zd Ze dddddeejeeejf f de	de
dd	fd
dZd	S )r   trainerz
pl.Trainer	pl_modulezpl.LightningModuleoutputsbatch	batch_idxreturnNc                 C   sp   t |tjr| }nt |tr|d  }n
tdt|j | jd u r/t	j
|jd| _t| ||||S )Nlossz8outputs have to be of type torch.Tensor or Mapping, got zskip_batches.json)
isinstancetorchTensordetachr   	TypeErrortype__qualname__exclude_batches_pathospathjoindefault_root_dirFabricSpikeDetectionon_train_batch_end)selfr   r   r	   r
   r   r    r   ^/home/ubuntu/sommelier/.venv/lib/python3.10/site-packages/pytorch_lightning/callbacks/spike.pyr      s   	


z!SpikeDetection.on_train_batch_end)__name__
__module__r   r   no_gradr   r   r   strr   intr   r   r   r   r   r      s    r   )r   collections.abcr   typingr   r   r   pytorch_lightningpl lightning_fabric.utilities.spiker   r   $pytorch_lightning.callbacks.callbackr   r   r   r   r   <module>   s    