
    bIgB                    :    d dl mZ d dlZd dlmZ  G d de      Zy)    )annotationsN)OpRunc                      e Zd Z	 ddZy)	MaxUnpoolNc                |   t        |j                        dz
  }|dkD  rt        d| d      |xs | j                  }|xs | j                  }|xs | j
                  }||D cg c]  }d }}|$t        t        |      dz        D cg c]  }d }}t        j                  t        |j                        ft        j                        }	|j                  d   |	d<   |j                  d   |	d<   t        t        |            D ]A  }
|j                  |
dz      dz
  ||
   z  ||
   |t        |      |
z      z   z
  ||
   z   |	|
dz   <   C ||	}n|}t        j                  |j                        }t        j                  t        j                  |	      f|j                        }|j                         }|j                         }t        |      D ]  }||   |||   <    |j                  t        |	            }t        j                  ||j                        }t        d |	D              }|||<   |fS c c}w c c}w )	N      zUnsupported pooling size z for operator MaxUnpool.   r   )dtypec              3  4   K   | ]  }t        d |        yw)r   N)slice).0is     ]/var/www/html/answerous/venv/lib/python3.12/site-packages/onnx/reference/ops/op_max_unpool.py	<genexpr>z!MaxUnpool._run.<locals>.<genexpr>8   s     ;quQ{;s   )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dinferred_shapedimr   total_elementsYI_dataX_datacur_elemresslicess                      r   _runzMaxUnpool._run   s.    177|a'!%+L>9QR  $8t'8'8 tyy)T\\?"./Qq/G/<$S%6%:;<!A<D<3qww</BGGAJqGGAJq\*+ 	Cq!A%59tC$5$;<<>s#$ 37#	 "E E)HHbggn-/qww?"n- 	3H"("2AfX	3 IIeN+,hhuAGG,;N;;FvC 0<s   #	H4		H9)NNNN)__name__
__module____qualname__r0        r   r   r      s
    SW.r5   r   )
__future__r   numpyr   onnx.reference.op_runr   r   r4   r5   r   <module>r9      s    #  '/ /r5   