o
    wi                     @  sD   d dl mZ d dlZd dlmZ G dd deZG dd deZdS )    )annotationsN)OpRunReduceNumpyc                   @  s   e Zd ZdddZdS )ReduceMean_1Nc                 C  sL   |d urt |nd }tj||||jd}|dkr#t|tjs#t|}|fS )Naxiskeepdimsdtyper   )tuplenpmeanr   
isinstancendarrayarray)selfdataaxesr   res r   ^/home/ubuntu/sommelier/.venv/lib/python3.10/site-packages/onnx/reference/ops/op_reduce_mean.py_run   s
   
zReduceMean_1._run)NN__name__
__module____qualname__r   r   r   r   r   r          r   c                   @  s   e Zd ZdddZdS )ReduceMean_18N   r   c                 C  s   |  |r
|r
|fS | |}|dk}z%tj||||jd}|dkr1t|tjs5t|}W |fS W |fS W |fS  tyT } ztd|j	d|d| d|d }~ww )Nr   r   zUnable to reduce shape z with axes=z and keepdims=.)
is_axes_emptyhandle_axesr
   r   r   r   r   r   	TypeErrorshape)r   r   r   r   noop_with_empty_axesr   er   r   r   r      s*   
zReduceMean_18._run)Nr   r   r   r   r   r   r   r      r   r   )
__future__r   numpyr
   onnx.reference.ops._opr   r   r   r   r   r   r   <module>   s
   
