o
    wi                     @   sN   d dl Z d dlZe eZdd Zdd Zdd Zdd	 Z	d
d Z
dd ZdS )    Nc                 C   s,   t | }t |st |rtd | S )Nz!NaN or Inf found in input tensor.)npsumisnanisinfloggerwarning)arraytmp r
   O/home/ubuntu/sommelier/.venv/lib/python3.10/site-packages/tensorboardX/x2num.py	check_nan
   s   

r   c                 C   s   t | trtt| S t | tjrt| S t| r#tt| gS dtt| v r1tt	| S dtt| v r?tt
| S dtt| v rMtt| S dtt| v r\tt| S dtt| v rktt| S tdt|  d)NtorchchainermxnetjaxpaddlezGot z+, but expected numpy array or torch tensor.)
isinstancelistr   r   r   ndarrayisscalarstrtypeprepare_pytorchprepare_chainerprepare_mxnetNotImplementedErrorxr
   r
   r   make_np   s&   

r   c                 C   s,   dd l }t| |jjr| j} |   } | S Nr   )r   r   autogradVariabledatacpunumpy)r   r   r
   r
   r   r   &   s
   r   c                 C   s   dd l }d S r   )theano)r   r%   r
   r
   r   prepare_theano.      r&   c                 C   s   |   } | S )N)asnumpyr   r
   r
   r   r   3   r'   r   c                 C   s   dd l }|j| j} | S r   )r   cudato_cpur"   )r   r   r
   r
   r   r   8   s   r   )loggingr$   r   	getLogger__name__r   r   r   r   r&   r   r   r
   r
   r
   r   <module>   s   
