
    
Ng                     6    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 )	MaxUnpoolNc                 x   t          |j                  dz
  }|dk    rt          d| d          |p| j        }|p| j        }|p| j        }|d |D             }|)d t          t          |          dz            D             }t          j        t          |j                  ft          j	                  }|j        d         |d<   |j        d	         |d	<   t          dt          |                    D ]O}	|j        |	dz            d	z
  ||	         z  ||	         |t          |          |	z            z   z
  ||	         z   ||	dz   <   P||}
n|}
t          j
        |j                  }t          j        t          j
        |          f|j                  }|                                }|                                }t          |          D ]}||         |||         <   |                    t          |                    }t          j        |
|j                  }t          d
 |D                       }|||<   |fS )N      zUnsupported pooling size z for operator MaxUnpool.c                     g | ]}d S )    .0ds     \/var/www/html/ai-engine/env/lib/python3.11/site-packages/onnx/reference/ops/op_max_unpool.py
<listcomp>z"MaxUnpool._run.<locals>.<listcomp>   s    ///Qq///    c                     g | ]}d S )r   r   r   s     r   r   z"MaxUnpool._run.<locals>.<listcomp>   s    <<<!A<<<r   )dtyper   r
   c              3   6   K   | ]}t          d |          V  dS )r   N)slice)r   is     r   	<genexpr>z!MaxUnpool._run.<locals>.<genexpr>6   s*      ;;quQ{{;;;;;;r   )lenshapeNotImplementedErrorkernel_shapepadsstridesrangenpemptyint64prodzerosr   flattenreshapetuple)selfXindicesoutput_shaper   r   r   pooling_dimsinferred_shapedimr   total_elementsYI_dataX_datacur_elemresslicess                     r   _runzMaxUnpool._run   sV   17||a'!%RLRRR   $8t'8 ty)T\?//,///G<<<uS%6%6%:;;<<<D3qw<</BBBGAJqGAJqC--.. 	 	Cq!A%59tC$5$5$;<<>s#$ 37## "EE E))Hbgn--/qw???""n-- 	3 	3H"("2AfXIIeN++,,huAG,,,;;N;;;;;Fvr   )NNNN)__name__
__module____qualname__r5   r   r   r   r   r      s(        , , , , , ,r   r   )numpyr   onnx.reference.op_runr   r   r   r   r   <module>r;      sY        ' ' ' ' ' '- - - - - - - - - -r   