§
    1�ÅjlU  ã                  ón   — d dl mZ d dlZd dlZd dlmZ d dlmZ d dl	m
Z
mZmZmZ  G d„ de¦  «        ZdS )é    )ÚannotationsN)ÚBase)Úexpect)Úget_output_shape_auto_padÚ!get_output_shape_explicit_paddingÚget_pad_shapeÚpoolc                  ó¦  — e Zd Zedd„¦   «         Zedd„¦   «         Zedd„¦   «         Zedd„¦   «         Zedd„¦   «         Zedd„¦   «         Z	edd	„¦   «         Z
edd
„¦   «         Zedd„¦   «         Zedd„¦   «         Zedd„¦   «         Zedd„¦   «         Zedd„¦   «         Zedd„¦   «         Zedd„¦   «         Zedd„¦   «         Zedd„¦   «         ZdS )ÚAveragePoolÚreturnÚNonec                 óŒ  — t           j                             ddgdgddgg d¢¬¦  «        } t          j        g d¢g d¢g d	¢g d
¢g d¢ggg¦  «                             t          j        ¦  «        }t          j        g d¢g d¢g d¢g d¢g d¢ggg¦  «                             t          j        ¦  «        }t          | |g|gd¬¦  «         dS )úwinput_shape: [1, 1, 5, 5]
        output_shape: [1, 1, 5, 5]
        pad_shape: [4, 4] -> [2, 2, 2, 2] by axis
        r   ÚxÚyé   ©é   r   r   r   ©ÚinputsÚoutputsÚkernel_shapeÚpads©é   r   é   é   r   ©é   é   é   é	   é
   ©é   é   é   é   é   ©é   é   é   é   é   ©é   é   é   é   é   )r    ç      @r!   g      !@r"   )g      #@r#   g      %@r%   ç      '@)r&   g      )@r'   ç      +@r(   )ç      -@r)   g      /@r+   g     €0@)r,   g     €1@r-   g     €2@r.   Ú$test_averagepool_2d_precomputed_pads©r   r   ÚnameN©ÚonnxÚhelperÚ	make_nodeÚnpÚarrayÚastypeÚfloat32r   ©Únoder   r   s      úXC:\Projects\Historical\venv\Lib\site-packages\onnx/backend/test/case/node/averagepool.pyÚ&export_averagepool_2d_precomputed_padsz2AveragePool.export_averagepool_2d_precomputed_pads   s4  € õ Œ{×$Ò$ØØ�5Ø�EØ˜Q˜Ø��ð %ñ 
ô 
ˆõ ŒHð (˜˜Ø(Ð(Ð(Ø,Ð,Ð,Ø,Ð,Ð,Ø,Ð,Ð,ððð
ñ
ô 
÷ Š&•”Ñ
Ô
ð 	
õ ŒHð ,Ð+Ð+Ø1Ð1Ð1Ø0Ð0Ð0Ø2Ð2Ð2Ø0Ð0Ð0ððð
ñ
ô 
÷ Š&•”Ñ
Ô
ð 	
õ 	Ø˜!˜ q cÐ0Vð	
ñ 	
ô 	
ð 	
ð 	
ð 	
ó    c                 óŽ  — t           j                             ddgdgddgg d¢d¬¦  «        } t          j        g d¢g d	¢g d
¢g d¢g d¢ggg¦  «                             t          j        ¦  «        }t          j        g d¢g d¢g d¢g d¢g d¢ggg¦  «                             t          j        ¦  «        }t          | |g|gd¬¦  «         dS )r   r   r   r   r   r   r   ©r   r   r   r   Úcount_include_padr   r   r$   r*   r0   )g)\�Âõ(@gÍÌÌÌÌÌ@g333333@gR¸…ëQ@gìQ¸…ë	@)g=
×£p=@gš™™™™™@çÍÌÌÌÌÌ @g)\�Âõ(@g®Gáz@)gÍÌÌÌÌÌ@g      $@g      *@çš™™™™™%@rM   )g×£p=
×@g333333#@gÍÌÌÌÌÌ(@g{®Gáz$@g®Gáz®@)g{®Gáz@rM   rN   gÃõ(\�Â!@g\�Âõ(\@Ú6test_averagepool_2d_precomputed_pads_count_include_padr;   Nr=   rE   s      rG   Ú8export_averagepool_2d_precomputed_pads_count_include_padzDAveragePool.export_averagepool_2d_precomputed_pads_count_include_pad@   s:  € õ Œ{×$Ò$ØØ�5Ø�EØ˜Q˜Ø��Øð %ñ 
ô 
ˆõ ŒHð (˜˜Ø(Ð(Ð(Ø,Ð,Ð,Ø,Ð,Ð,Ø,Ð,Ð,ððð
ñ
ô 
÷ Š&•”Ñ
Ô
ð 	
õ ŒHð AÐ@Ð@Ø@Ð@Ð@ØCÐCÐCØBÐBÐBØAÐAÐAððð
ñ
ô 
÷ Š&•”Ñ
Ô
ð 	
õ 	ØØ�3Ø�CØIð		
ñ 	
ô 	
ð 	
ð 	
ð 	
rI   c                 óz  — t           j                             ddgdgddgddg¬¦  «        } t          j        g d¢g d¢g d¢g d	¢g d
¢ggg¦  «                             t          j        ¦  «        }t          j        ddgddgggg¦  «                             t          j        ¦  «        }t          | |g|gd¬¦  «         dS )zEinput_shape: [1, 1, 5, 5]
        output_shape: [1, 1, 2, 2]
        r   r   r   r   ©r   r   r   Ústridesr   r   r$   r*   r0   r   r   r(   r+   Ú'test_averagepool_2d_precomputed_stridesr;   Nr=   rE   s      rG   Ú)export_averagepool_2d_precomputed_stridesz5AveragePool.export_averagepool_2d_precomputed_stridesp   s  € õ
 Œ{×$Ò$ØØ�5Ø�EØ˜Q˜Ø˜�Fð %ñ 
ô 
ˆõ ŒHð (˜˜Ø(Ð(Ð(Ø,Ð,Ð,Ø,Ð,Ð,Ø,Ð,Ð,ððð
ñ
ô 
÷ Š&•”Ñ
Ô
ð 	
õ ŒH˜˜A˜  R Ð)Ð*Ð+Ñ,Ô,×3Ò3µB´JÑ?Ô?ˆåØØ�3Ø�CØ:ð		
ñ 	
ô 	
ð 	
ð 	
ð 	
rI   c                 ó‚  — t           j                             ddgdgddgddgd¬¦  «        } t          j        g d¢g d	¢g d
¢g d¢g d¢ggg¦  «                             t          j        ¦  «        }t          j        g d¢g d¢g d¢ggg¦  «                             t          j        ¦  «        }t          | |g|gd¬¦  «         dS )zwinput_shape: [1, 1, 5, 5]
        output_shape: [1, 1, 3, 3]
        pad_shape: [2, 2] -> [1, 1, 1, 1] by axis
        r   r   r   r   r   Ú
SAME_UPPER)r   r   r   rS   Úauto_padr   r   r$   r*   r0   )r   g      @r    )r7   r'   r9   )r.   g     €4@r2   Ú*test_averagepool_2d_precomputed_same_upperr;   Nr=   rE   s      rG   Ú,export_averagepool_2d_precomputed_same_upperz8AveragePool.export_averagepool_2d_precomputed_same_upper’   s  € õ Œ{×$Ò$ØØ�5Ø�EØ˜Q˜Ø˜�FØ!ð %ñ 
ô 
ˆõ ŒHð (˜˜Ø(Ð(Ð(Ø,Ð,Ð,Ø,Ð,Ð,Ø,Ð,Ð,ððð
ñ
ô 
÷ Š&•”Ñ
Ô
ð 	
õ ŒH˜˜˜Ð%5Ð%5Ð%5°~°~°~ÐFÐGÐHÑIÔI×PÒPÝŒJñ
ô 
ˆõ 	ØØ�3Ø�CØ=ð		
ñ 	
ô 	
ð 	
ð 	
ð 	
rI   c                 ó–  — t           j                             ddgdgdg¬¦  «        } t          j                             ddd¦  «                             t          j        ¦  «        }t          j        |¦  «        }d	}dg}dg}t          ||dd	…         ||¦  «        \  }}|}t          |||||d
¦  «        }	t          | |g|	gd¬¦  «         d	S )zAinput_shape: [1, 3, 32]
        output_shape: [1, 3, 31]
        r   r   r   r   ©r   r   r   r   r   é    NÚAVGÚtest_averagepool_1d_defaultr;   ©r>   r?   r@   rA   ÚrandomÚrandnrC   rD   Úshaper   r	   r   ©
rF   r   Úx_shaper   r   rS   Ú	out_shapeÚ_Úpaddedr   s
             rG   Úexport_averagepool_1d_defaultz)AveragePool.export_averagepool_1d_default¸   sß   € õ
 Œ{×$Ò$ØØ�5Ø�EØ˜ð	 %ñ 
ô 
ˆõ ŒI�OŠO˜A˜q "Ñ%Ô%×,Ò,­R¬ZÑ8Ô8ˆÝ”(˜1‘+”+ˆØˆØ�sˆØ�#ˆÝ8Ø�'˜!˜"˜"”+˜|¨Wñ
ô 
‰ˆ	�1ð ˆÝ�˜ ,°¸ÀEÑJÔJˆåˆt˜Q˜C¨!¨Ð3PÐQÑQÔQÐQÐQÐQrI   c                 ó–  — t           j                             ddgdgddg¬¦  «        } t          j                             dddd¦  «                             t          j        ¦  «        }t          j        |¦  «        }d	}d
}d}t          ||dd	…         ||¦  «        \  }}|}t          |||||d¦  «        }	t          | |g|	gd¬¦  «         d	S )zIinput_shape: [1, 3, 32, 32]
        output_shape: [1, 3, 31, 31]
        r   r   r   r   r\   r   r   r]   N©r   r   ©r   r   r^   Útest_averagepool_2d_defaultr;   r`   rd   s
             rG   Úexport_averagepool_2d_defaultz)AveragePool.export_averagepool_2d_defaultÐ   sß   € õ
 Œ{×$Ò$ØØ�5Ø�EØ˜Q˜ð	 %ñ 
ô 
ˆõ ŒI�OŠO˜A˜q " bÑ)Ô)×0Ò0µ´Ñ<Ô<ˆÝ”(˜1‘+”+ˆØˆØˆØˆÝ8Ø�'˜!˜"˜"”+˜|¨Wñ
ô 
‰ˆ	�1ð ˆÝ�˜ ,°¸ÀEÑJÔJˆåˆt˜Q˜C¨!¨Ð3PÐQÑQÔQÐQÐQÐQrI   c                 ó   — t           j                             ddgdgg d¢¬¦  «        } t          j                             ddddd¦  «                             t          j        ¦  «        }t          j        |¦  «        }d	}g d¢}g d
¢}t          ||dd	…         ||¦  «        \  }}|}t          |||||d¦  «        }	t          | |g|	gd¬¦  «         d	S )zQinput_shape: [1, 3, 32, 32, 32]
        output_shape: [1, 3, 31, 31, 31]
        r   r   r   ©r   r   r   r\   r   r   r]   N©r   r   r   r   r^   Útest_averagepool_3d_defaultr;   r`   rd   s
             rG   Úexport_averagepool_3d_defaultz)AveragePool.export_averagepool_3d_defaultè   sé   € õ
 Œ{×$Ò$ØØ�5Ø�EØ"˜˜ð	 %ñ 
ô 
ˆõ ŒI�OŠO˜A˜q " b¨"Ñ-Ô-×4Ò4µR´ZÑ@Ô@ˆÝ”(˜1‘+”+ˆØˆØ �y�yˆØ�)�)ˆÝ8Ø�'˜!˜"˜"”+˜|¨Wñ
ô 
‰ˆ	�1ð ˆÝ�˜ ,°¸ÀEÑJÔJˆåˆt˜Q˜C¨!¨Ð3PÐQÑQÔQÐQÐQÐQrI   c            
     ó~  — t           j                             ddgdgddgd¬¦  «        } t          j                             ddd	d	¦  «                             t          j        ¦  «        }t          j        |¦  «        }d
}d}t          d|dd…         ||¦  «        }t          d|dd…         |||¦  «        }|d         dz  }|d         |z
  }|d         dz  }	|d         |	z
  }
t          j        |dd||f|	|
ffdt          j        ¬¦  «        }||	||
f}t          |||||d||¬¦  «        }t          | |g|gd¬¦  «         dS )z{input_shape: [1, 3, 32, 32]
        output_shape: [1, 3, 32, 32]
        pad_shape: [1, 1] -> [0, 1, 0, 1] by axis
        r   r   r   r   rW   ©r   r   r   rX   r   r   r]   rk   rl   Nr   ©r   r   Úconstant©ÚmodeÚconstant_valuesr^   ©Úpads_requiredr   Útest_averagepool_2d_same_upperr;   ©r>   r?   r@   rA   ra   rb   rC   rD   rc   r   r   ÚpadÚnanr	   r   )rF   r   re   r   rS   rf   Ú	pad_shapeÚpad_topÚ
pad_bottomÚpad_leftÚ	pad_rightrh   r   r   s                 rG   Ú export_averagepool_2d_same_upperz,AveragePool.export_averagepool_2d_same_upper   sŽ  € õ Œ{×$Ò$ØØ�5Ø�EØ˜Q˜Ø!ð %ñ 
ô 
ˆõ ŒI�OŠO˜A˜q " bÑ)Ô)×0Ò0µ´Ñ<Ô<ˆÝ”(˜1‘+”+ˆØˆØˆÝ-Ø˜' ! " "œ+ |°Wñ
ô 
ˆ	õ "Ø˜' ! " "œ+ |°W¸iñ
ô 
ˆ	ð ˜A”, !Ñ#ˆØ˜q”\ GÑ+ˆ
Ø˜Q”< 1Ñ$ˆØ˜a”L 8Ñ+ˆ	Ý”ØØ�V˜g zÐ2°X¸yÐ4IÐJØÝœFð	
ñ 
ô 
ˆð ˜ :¨yÐ9ˆÝØØØØØØØØð	
ñ 	
ô 	
ˆõ 	ˆt˜Q˜C¨!¨Ð3SÐTÑTÔTÐTÐTÐTrI   c            
     ó~  — t           j                             ddgdgddgd¬¦  «        } t          j                             ddd	d	¦  «                             t          j        ¦  «        }t          j        |¦  «        }d
}d}t          d|dd…         ||¦  «        }t          d|dd…         |||¦  «        }|d         dz  }|d         |z
  }|d         dz  }	|d         |	z
  }
t          j        |dd||f|
|	ffdt          j        ¬¦  «        }||
||	f}t          |||||d||¬¦  «        }t          | |g|gd¬¦  «         dS )z{input_shape: [1, 3, 32, 32]
        output_shape: [1, 3, 32, 32]
        pad_shape: [1, 1] -> [1, 0, 1, 0] by axis
        r   r   r   r   Ú
SAME_LOWERru   r   r   r]   rk   rl   Nr   rv   rw   rx   r^   r{   Útest_averagepool_2d_same_lowerr;   r~   )rF   r   re   r   rS   rf   r�   rƒ   r‚   r…   r„   rh   r   r   s                 rG   Ú export_averagepool_2d_same_lowerz,AveragePool.export_averagepool_2d_same_lower/  sŽ  € õ Œ{×$Ò$ØØ�5Ø�EØ˜Q˜Ø!ð %ñ 
ô 
ˆõ ŒI�OŠO˜A˜q " bÑ)Ô)×0Ò0µ´Ñ<Ô<ˆÝ”(˜1‘+”+ˆØˆØˆÝ-Ø˜' ! " "œ+ |°Wñ
ô 
ˆ	õ "Ø˜' ! " "œ+ |°W¸iñ
ô 
ˆ	ð ˜q”\ QÑ&ˆ
Ø˜A”, Ñ+ˆØ˜a”L AÑ%ˆ	Ø˜Q”< )Ñ+ˆÝ”ØØ�V˜g zÐ2°X¸yÐ4IÐJØÝœFð	
ñ 
ô 
ˆð ˜ :¨yÐ9ˆÝØØØØØØØØð	
ñ 	
ô 	
ˆõ 	ˆt˜Q˜C¨!¨Ð3SÐTÑTÔTÐTÐTÐTrI   c            
     ó>  — t           j                             ddgdgddgg d¢¬¦  «        } t          j                             dddd¦  «                             t          j        ¦  «        }t          j        |¦  «        }d	}d
}d}d}d}d}||||g}	t          |	|dd…         ||d¬¦  «        \  }
}t          j
        |dd|d         |d         f|d         |d         ffdt          j        ¬¦  «        }t          |||||
d||	¬¦  «        }t          | |g|gd¬¦  «         dS )ú{input_shape: [1, 3, 28, 28]
        output_shape: [1, 3, 30, 30]
        pad_shape: [4, 4] -> [2, 2, 2, 2] by axis
        r   r   r   r   r   r   r   é   ©r   r   rl   r   NF©Ú	ceil_moderv   r   rw   rx   r^   r{   Útest_averagepool_2d_padsr;   )r>   r?   r@   rA   ra   rb   rC   rD   rc   r   r   r€   r	   r   )rF   r   re   r   rS   rƒ   r‚   r…   r„   r   rf   Ú
extra_padsrh   r   s                 rG   Úexport_averagepool_2d_padsz&AveragePool.export_averagepool_2d_pads^  sm  € õ Œ{×$Ò$ØØ�5Ø�EØ˜Q˜Ø��ð %ñ 
ô 
ˆõ ŒI�OŠO˜A˜q " bÑ)Ô)×0Ò0µ´Ñ<Ô<ˆÝ”(˜1‘+”+ˆØˆØˆØˆ
ØˆØˆ	ØˆØ˜ :¨yÐ9ˆÝ AØ�'˜!˜"˜"”+˜|¨WÀð!
ñ !
ô !
Ñˆ	�:õ ”ØàØØ˜A” 
¨1¤Ð.Ø˜A” 
¨1¤Ð.ð	ð ÝœFð

ñ 

ô 

ˆõ ØØØØØØØ$Øð	
ñ 	
ô 	
ˆõ 	ˆt˜Q˜C¨!¨Ð3MÐNÑNÔNÐNÐNÐNrI   c                 ó4  — t           j                             ddgdgddgg d¢d¬¦  «        } t          j                             dddd¦  «                             t          j        ¦  «        }t          j        |¦  «        }d	}d
}d	}d}d}d}d}	||	||g}
t          |
|dd…         |||d¬¦  «        \  }}t          j
        |dd|d         |d         f|d         |d         ffdd¬¦  «        }t          |||||d||
d¬¦	  «	        }t          | |g|gd¬¦  «         dS )rŒ   r   r   r   r   r   r   rK   r�   rl   rŽ   r   NFr�   rv   r   rw   rx   r^   )r|   r   rL   Ú*test_averagepool_2d_pads_count_include_padr;   )r>   r?   r@   rA   ra   rb   rC   rD   rc   r   r   r	   r   )rF   r   re   Ú	dilationsr   rS   rƒ   r‚   r…   r„   r   rf   r’   rh   r   s                  rG   Ú,export_averagepool_2d_pads_count_include_padz8AveragePool.export_averagepool_2d_pads_count_include_pad�  s‡  € õ Œ{×$Ò$ØØ�5Ø�EØ˜Q˜Ø��Øð %ñ 
ô 
ˆõ ŒI�OŠO˜A˜q " bÑ)Ô)×0Ò0µ´Ñ<Ô<ˆÝ”(˜1‘+”+ˆØˆ	ØˆØˆØˆ
ØˆØˆ	ØˆØ˜ :¨yÐ9ˆÝ AØ�'˜!˜"˜"”+˜|¨W°iÈ5ð!
ñ !
ô !
Ñˆ	�:õ ”ØàØØ˜A” 
¨1¤Ð.Ø˜A” 
¨1¤Ð.ð	ð Øð

ñ 

ô 

ˆõ ØØØØØØØ$ØØð

ñ 

ô 

ˆõ 	ØØ�3Ø�CØ=ð		
ñ 	
ô 	
ð 	
ð 	
ð 	
rI   c            
     ó¢  — t           j                             ddgdgddgddg¬¦  «        } t          j                             dddd¦  «                             t          j        ¦  «        }t          j        |¦  «        }d	}d
}t          d|dd…         ||d¬¦  «        \  }}|}t          |||||d|d¬¦  «        }t          | |g|gd¬¦  «         dS )zIinput_shape: [1, 3, 32, 32]
        output_shape: [1, 3, 10, 10]
        r   r   r   r   r   rR   r   r]   )r   r   rŽ   Nr   Fr�   r^   r{   Útest_averagepool_2d_stridesr;   r`   )	rF   r   re   r   rS   rf   r   rh   r   s	            rG   Úexport_averagepool_2d_stridesz)AveragePool.export_averagepool_2d_stridesÈ  sÿ   € õ
 Œ{×$Ò$ØØ�5Ø�EØ˜Q˜Ø˜�Fð %ñ 
ô 
ˆõ ŒI�OŠO˜A˜q " bÑ)Ô)×0Ò0µ´Ñ<Ô<ˆÝ”(˜1‘+”+ˆØˆØˆÝ;Ø�'˜!˜"˜"”+˜|¨WÀð
ñ 
ô 
‰ˆ	�4ð ˆÝØØØØØØØØð	
ñ 	
ô 	
ˆõ 	ˆt˜Q˜C¨!¨Ð3PÐQÑQÔQÐQÐQÐQrI   c                 óv  — t           j                             ddgdgddgddgd¬¦  «        } t          j        g d¢g d	¢g d
¢g d¢ggg¦  «                             t          j        ¦  «        }t          j        ddgddgggg¦  «                             t          j        ¦  «        }t          | |g|gd¬¦  «         dS )úEinput_shape: [1, 1, 4, 4]
        output_shape: [1, 1, 2, 2]
        r   r   r   r   r   T)r   r   r   rS   r�   ©r   r   r   r   ©r   r   r    r!   ©r"   r#   r%   r&   ©r'   r(   r)   r+   r   r6   r&   r8   Útest_averagepool_2d_ceilr;   Nr=   rE   s      rG   Úexport_averagepool_2d_ceilz&AveragePool.export_averagepool_2d_ceilé  sê   € õ
 Œ{×$Ò$ØØ�5Ø�EØ˜Q˜Ø˜�FØð %ñ 
ô 
ˆõ ŒHð %˜˜Ø$˜˜Ø'˜˜Ø(Ð(Ð(ð	ðð	ñ
ô 
÷ Š&•”Ñ
Ô
ð 	
õ ŒH˜˜C˜ 2 t *Ð-Ð.Ð/Ñ0Ô0×7Ò7½¼
ÑCÔCˆåˆt˜Q˜C¨!¨Ð3MÐNÑNÔNÐNÐNÐNrI   c            
     ó’  — t           j                             ddgdgddgddgg d¢dd¬¦  «        } t          j        d	d
gddggddgddggddgddgggg¦  «                             t          j        ¦  «        }t          j        dggdggdgggg¦  «                             t          j        ¦  «        }t          | |g|gd¬¦  «         dS )zEinput_shape: [1, 3, 2, 2]
        output_shape: [1, 3, 1, 1]
        r   r   r   r   )r   r   r   r   Tr   )r   r   r   rS   r   r�   rL   gÛù~j¼të?g�1w-!´?g&S£’:Ñ?gê•²q¬Ã?gKê46ì?g$¹ü‡ôÛÛ?gÕ	h"lxâ?go�Å�1å?gùé·¯í?gcÙ=yXî?g´Èv¾Ÿã?gÑ"Ûù~jè?gz6«>WÃ?gXÊ2Ä±.Ò?g•eˆc]ÜÖ?Ú2test_averagepool_2d_ceil_last_window_starts_on_padr;   Nr=   rE   s      rG   Ú4export_averagepool_2d_ceil_last_window_starts_on_padz@AveragePool.export_averagepool_2d_ceil_last_window_starts_on_pad  s  € õ
 Œ{×$Ò$ØØ�5Ø�EØ˜Q˜Ø˜�FØ��ØØð %ñ 	
ô 	
ˆõ ŒHð ˜fÐ%¨°Ð'7Ð8Ø˜fÐ%¨°Ð'7Ð8Ø˜fÐ%¨°Ð'7Ð8ððñ
ô 
÷ Š&•”Ñ
Ô
ð 	
õ ŒH˜˜�z V H :°°¨zÐ:Ð;Ñ<Ô<×CÒCÅBÄJÑOÔOˆåØØ�3Ø�CØEð		
ñ 	
ô 	
ð 	
ð 	
ð 	
rI   c            	     ó|  — t           j                             ddgdgddgddgddgd¬¦  «        } t          j        g d¢g d	¢g d
¢g d¢ggg¦  «                             t          j        ¦  «        }t          j        ddgddgggg¦  «                             t          j        ¦  «        }t          | |g|gd¬¦  «         dS )rœ   r   r   r   r   r   T©r   r   r   rS   r–   r�   r�   rž   rŸ   r    r   r    r#   r%   Útest_averagepool_2d_dilationsr;   Nr=   rE   s      rG   Úexport_averagepool_2d_dilationsz+AveragePool.export_averagepool_2d_dilations'  sñ   € õ
 Œ{×$Ò$ØØ�5Ø�EØ˜Q˜Ø˜�FØ˜!�fØð %ñ 
ô 
ˆõ ŒHð %˜˜Ø$˜˜Ø'˜˜Ø(Ð(Ð(ð	ðð	ñ
ô 
÷ Š&•”Ñ
Ô
ð 	
õ ŒH˜˜A˜  R Ð)Ð*Ð+Ñ,Ô,×3Ò3µB´JÑ?Ô?ˆåˆt˜Q˜C¨!¨Ð3RÐSÑSÔSÐSÐSÐSrI   c            
     óÜ  — t           j                             ddgdgg d¢g d¢g d¢d¬¦  «        } t          j        g d¢g d	¢g d
¢g d¢gg d¢g d	¢g d
¢g d¢gg d¢g d	¢g d
¢g d¢gg d¢g d	¢g d
¢g d¢gggg¦  «                             t          j        ¦  «        }t          j        ddgddggddgddggggg¦  «                             t          j        ¦  «        }t          | |g|gd¬¦  «         dS )rœ   r   r   r   rp   rq   Tr§   r�   rž   rŸ   r    r   r    r#   r%   Ú#test_averagepool_3d_dilations_smallr;   Nr=   rE   s      rG   Úexport_averagepool_3d_dilationsz+AveragePool.export_averagepool_3d_dilationsH  s…  € õ
 Œ{×$Ò$ØØ�5Ø�EØ"˜˜Ø�I�IØ�i�iØð %ñ 
ô 
ˆõ ŒHð
 )˜L˜LØ(˜L˜LØ+˜O˜OØ,Ð,Ð,ð	ð )˜L˜LØ(˜L˜LØ+˜O˜OØ,Ð,Ð,ð	ð )˜L˜LØ(˜L˜LØ+˜O˜OØ,Ð,Ð,ð	ð )˜L˜LØ(˜L˜LØ+˜O˜OØ,Ð,Ð,ð	ð'ððñ
ô 
÷> Š&•”Ñ
Ô
ð? 	
õB ŒH˜!˜Q˜ " b Ð*¨a°¨V°b¸"°XÐ,>Ð?Ð@ÐAÑBÔB×IÒIÍ"Ì*ÑUÔUˆåØ˜!˜ q cÐ0Uð	
ñ 	
ô 	
ð 	
ð 	
ð 	
rI   c                 óJ  — d} d}d}d}d}dD �]}dD �]}t           j                             dd	gd
g|||||¬¦  «        }t          j        j        ddg| ¢R Ž                      t          j        ¦  «        }t          d | ||||¬¦  «        \  }}	t          j	        |dd|	d         |	d         f|	d         |	d         f|	d         |	d         ffd|dk    rdnt          j
        ¬¦  «        }
t          |
ddg| ¢R |||d|	d ||¬¦
  «
        }d|› d|› �}t          ||g|g|¬¦  «         �Œ�Œd S )N)r]   r]   r]   rp   )r   r   r   )r   r   r   r   )r   r   )TFr   r   r   )r   r   r   rS   r–   rL   r�   r   )r–   r�   rv   r   r   r   r   rw   rx   r^   )r|   r   r–   rL   Ú9test_averagepool_3d_dilations_large_count_include_pad_is_Ú_ceil_mode_is_r;   )r>   r?   r@   rA   ra   rb   rC   rD   r   r   r€   r	   r   )re   r–   r   rS   rL   r�   rF   r   rf   r’   rh   r   Ú	test_names                rG   Ú%export_averagepool_3d_dilations_largez1AveragePool.export_averagepool_3d_dilations_large  sÙ  € àˆØˆ	Ø ˆØˆØÐà!'ð 0	Fñ 0	FÐØ*ð /Fñ /F�	Ý”{×,Ò,Ø!Ø˜5Ø ˜EØ!-Ø#Ø'Ø&7Ø'ð -ñ 	ô 	�õ ”I”O A qÐ3¨7Ð3Ð3Ð3×:Ò:½2¼:ÑFÔF�Ý(IØØØ ØØ'Ø'ð)ñ )ô )Ñ%�	˜:õ œØàØØ# Aœ¨
°1¬Ð6Ø# Aœ¨
°1¬Ð6Ø# Aœ¨
°1¬Ð6ðð $Ø):¸aÒ)?Ð)? A AÅRÄVðñ ô �õ ØØ˜Ð$˜GÐ$Ð$Ø ØØØØ",ØØ'Ø&7ðñ ô �ð EÐXið  Eð  Eð  zCð  Eð  E�	Ý�t Q C°!°¸9ÐEÑEÔEÐEÑEñ_/Fð0	Fð 0	FrI   N)r   r   )Ú__name__Ú
__module__Ú__qualname__ÚstaticmethodrH   rP   rU   rZ   ri   rn   rs   r†   rŠ   r“   r—   rš   r¢   r¥   r©   r¬   r±   © rI   rG   r   r      sh  € € € € € Øð)
ð )
ð )
ñ „\ð)
ðV ð-
ð -
ð -
ñ „\ð-
ð^ ð
ð 
ð 
ñ „\ð
ðB ð#
ð #
ð #
ñ „\ð#
ðJ ðRð Rð Rñ „\ðRð. ðRð Rð Rñ „\ðRð. ðRð Rð Rñ „\ðRð. ð,Uð ,Uð ,Uñ „\ð,Uð\ ð,Uð ,Uð ,Uñ „\ð,Uð\ ð.Oð .Oð .Oñ „\ð.Oð` ð6
ð 6
ð 6
ñ „\ð6
ðp ðRð Rð Rñ „\ðRð@ ðOð Oð Oñ „\ðOð8 ð
ð 
ð 
ñ „\ð
ð@ ðTð Tð Tñ „\ðTð@ ð4
ð 4
ð 4
ñ „\ð4
ðl ð7Fð 7Fð 7Fñ „\ð7Fð 7Fð 7FrI   r   )Ú
__future__r   ÚnumpyrA   r>   Úonnx.backend.test.case.baser   Úonnx.backend.test.case.noder   Ú!onnx.reference.ops.op_pool_commonr   r   r   r	   r   r¶   rI   rG   ú<module>r¼      sÖ   ðð #Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð à €€€Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø .Ð .Ð .Ð .Ð .Ð .ðð ð ð ð ð ð ð ð ð ð ð ðd
Fð d
Fð d
Fð d
Fð d
F�$ñ d
Fô d
Fð d
Fð d
Fð d
FrI   