o
    Ďi                     @   s:   d dl Zd dlZd dlmZ d dlmZ G dd dZdS )    N)numpy_helper)TensorProtoc                   @   s   e Zd ZdefddZeddejdefddZ	edd	e
jdefd
dZedefddZedefddZdejfddZde
jfddZdS )
OnnxTensoronnx_tensor_protoc                 C   s
   || _ d S N_proto)selfr    r
   R/home/jeff/fluffinator/venv/lib/python3.10/site-packages/onnx2torch/onnx_tensor.py__init__   s   
zOnnxTensor.__init__Narraynamec                 C   s   t j||d}| |S N)r   )r   
from_array)clsr   r   r   r
   r
   r   
from_numpy   s   zOnnxTensor.from_numpytensorc                 C   s   |    }| j||dS r   )detachcpunumpyr   )r   r   r   r   r
   r
   r   
from_torch   s   zOnnxTensor.from_torchreturnc                 C   s   | j S r   r   r	   r
   r
   r   proto   s   zOnnxTensor.protoc                 C   s   | j jS r   )r   r   r   r
   r
   r   r      s   zOnnxTensor.namec                 C   s   t | j S r   )r   to_arrayr   copyr   r
   r
   r   to_numpy   s   zOnnxTensor.to_numpyc                 C   s   t |  S r   )torchr   r   r   r
   r
   r   to_torch    s   zOnnxTensor.to_torchr   )__name__
__module____qualname__r   r   classmethodnpndarraystrr   r   Tensorr   propertyr   r   r   r   r
   r
   r
   r   r      s    r   )r   r$   r   onnxr   onnx.onnx_ml_pb2r   r   r
   r
   r
   r   <module>   s
    