a
    ==ic                     @   s@  d dl Z 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
ZG dd deZG dd dejZe  Zej	je eedd	eedd	fed
d e	ejZejdd	ejZejdd	ejZejj	jeZejj d  jeejj d jeiZ!e"e!d  Z#e$ed Z%e%e% e Z&ej'(e&e# dS )    N)nn)VariableFunctionc                   @   s$   e Zd Zedd Zedd ZdS )
MyFunctionc                 C   s   || | S N )ctxxyr   r   p/home/droni/.local/share/virtualenvs/DPS-5Je3_V2c/lib/python3.9/site-packages/caffe2/contrib/aten/docs/sample.pyforward   s    zMyFunction.forwardc                 C   s    |  d||}|  d||}|S )Nmuladd)at)graphr	   r
   Zx2rr   r   r   symbolic   s    zMyFunction.symbolicN)__name__
__module____qualname__staticmethodr   r   r   r   r   r   r      s   
r   c                   @   s   e Zd Zdd ZdS )MyModulec                 C   s   t  |}t||S r   )r   ZReLUr   apply)selfr	   r
   r   r   r   r      s    zMyModule.forwardN)r   r   r   r   r   r   r   r   r      s   r         T)verbose   ))tempfilenumpynpZtorchr   Ztorch.autogradr   r   Z
torch.onnxZonnxZcaffe2.python.onnx.backendZcaffe2r   Moduler   NamedTemporaryFilefexportZonesloadnamer   randomZrandnZastypefloat32abpythonbackendprepareZprepared_backendinputWrunZc2_outmaximumr	   r   testingZassert_array_almost_equalr   r   r   r   <module>   s,   
 