
    
Ngh                     >    d dl Z d dlZd dlmZ  G d de          ZdS )    N)OpRunc                       e Zd ZddZdS )LRNNc           	         t          |j                  dk    rt          d|j        d          t          j        |j                                      |j                  }|j        d         }t          t          j	        |dz
  dz                      }t          t          j
        |dz
  dz                      dz   }	t          |j        d                   D ]`}
t          d|
|z
            }t          ||
|	z             }t          j        |d d ||d d d d f         dz  d          |d d |
d d d d f<   a||||z  |z  z   |z  z  }|                    |j                  fS )N   z,LRN only applies on 4D tensors but shape is .      r   )axis)lenshapeRuntimeErrornpzerosastypedtypeintmathfloorceilrangemaxminsum)selfxalphabetabiassize
square_summincc1c2cbeginendys                 U/var/www/html/ai-engine/env/lib/python3.11/site-packages/onnx/reference/ops/op_lrn.py_runzLRN._run   sr   qw<<1KqwKKK   Xag&&--ag66
wqzTAXN++,,D1H>**++a/qwqz"" 	P 	PA1r6NNEdAF##C%'VAaaasAAAqqq.@,AQ,FQ%O%O%OJqqq!QQQz""$%$,*44=>!!##    )NNNN)__name__
__module____qualname__r*    r+   r)   r   r      s(        $ $ $ $ $ $r+   r   )r   numpyr   onnx.reference.op_runr   r   r/   r+   r)   <module>r2      sb         ' ' ' ' ' '$ $ $ $ $% $ $ $ $ $r+   