§
    1�Åjö;  ã                  ó\   — d dl mZ d dlZd dlZd dlmZ d dlmZ d„ Z	 G d„ de¦  «        Z
dS )é    )ÚannotationsN)ÚBase)Úexpectc                 ó"  — t          j        g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d	¢g d
¢g
ggt           j        ¬¦  «        } t          j        g d¢t           j        ¬¦  «        }t          j        g d¢g d¢g d¢gt           j        ¬¦  «        }| ||fS )N©
gTR' ‰°Ñ?gáz®Gáæ?g9EGrùÉ?g?ÆÜÕ?g� ø1æ®Ý?gö—Ý“‡…š?gØ�sF”öÒ?g³q¬‹Ûä?g£¼ß?g333333ç?©
gf÷äa¡Öî?g¶óýÔxé¶?gôlV}®Ò?g@¤ß¾œå?ggÕçj+ö—?gÈ=›UŸã?g¬Zd;ßé?g(~Œ¹k	á?g¼?Æì?g‚âÇ˜»–Ü?©
gL7‰A`åÔ?g§èH.ÿ!ë?gF%ušï?gŒ¹k	ù Ï?gŽuqàí?g™*•Ô	È?gª‚QI�€Þ?g§yÇ):’Û?gÃõ(\�ÂÕ?gê•²q¬Ë?©
g¾0™*•?gj¼t“Æ?g/Ý$�•Ë?g�1w-!Ü?gÖÅm4€·°?g\ AñcÌÕ?gÖÅm4€·è?g¾0™*Ù?glxz¥,CÐ?g­iÞqŠŽâ?©
g§èH.ÿÙ?g÷_˜LÌ?gà-� Ü?g§èH.ÿÝ?g«>W[±¿æ?g›UŸ«­Øí?gœÄ °rhï?gÓMbX9ä?g®Ø_vOÆ?gM„O¯”ã?©
gŠŽäòÒÓ?g•Ô	h"lÀ?g½ãÉåß?gœ3¢´7à?gmV}®¶bÛ?geâX·‘?g÷_˜LÜ?gj¼t“¦?gÛŠýe÷äÝ?g€·@‚âÇæ?©
gR' ‰°á¹?çã6À[ ë?g¼?Þ?gÉå?¤ß¾Æ?gþCúíëÀï?gÊÃB­iÞÙ?gÎªÏÕVìÇ?g‹lçû©ñè?çO@aÃÓï?gS£’:ï?©
gÎQÚ|Á?çt$—ÿ�~×?g8gDioæ?gÞqŠŽäòã?g‰ÒÞà“ï?g¬Zd;ßá?g'1¬Zæ?gÞqŠŽäòá?g�1w-!ì?gi o�Åï?©
g—ÿ�~û:â?çê46<ë?g(µ¦yå?çaÃÓ+eî?gâX·Ñ ì?gxœ¢#¹üç?g…ëQ¸Å?gÐ³Yõ¹Úº?g£#¹ü‡ôÃ?g»¸�ðÐ?©
g ‘~û:pæ?g…|Ð³YõÙ?g¼–�z6é?gƒQI�€&Ö?gsh‘í|?¥?g«ÏÕVì/Ó?g£’:Mà?g_ÎQÚ×?g´Yõ¹ÚŠá?gÝµ„|Ð³©?©Údtype©r   r   r   )r   r   é	   r   )r   é   é   r   )r   r   r   r   )ÚnpÚarrayÚfloat32Úint64)ÚXÚbatch_indicesÚroiss      úUC:\Projects\Historical\venv\Lib\site-packages\onnx/backend/test/case/node/roialign.pyÚget_roi_align_input_valuesr$      s   € Ý
Œðð ð ðð ð ðð ð ðð ð ðð ð ðð ð ðð ð ðð ð ðð ð ðð ð ð[yð{ð}	
õ| Œjð@	ñ @	ô @	€AõB ”H˜Y˜Y˜Y­b¬hÐ7Ñ7Ô7€MÝŒ8�\�\�\ < < <°°°Ð>ÅbÄjÐQÑQÔQ€DØˆm˜TÐ!Ð!ó    c                  óV   — e Zd Zedd„¦   «         Zedd„¦   «         Zedd„¦   «         ZdS )ÚRoiAlignÚreturnÚNonec            
     óR  — t           j                             dg d¢dgddddd¬¦  «        } t          ¦   «         \  }}}t	          j        g d	¢g d
¢g d¢g d¢g d¢ggg d¢g d¢g d¢g d¢g d¢ggg d¢g d¢g d¢g d¢g d¢gggt          j        ¬¦  «        }t          | |||g|gd¬¦  «         d S )Nr'   ©r    r"   r!   ÚYç      ð?r   é   Úoutput_half_pixel©ÚinputsÚoutputsÚspatial_scaleÚoutput_heightÚoutput_widthÚsampling_ratioÚcoordinate_transformation_mode)g}®¶bÙÝ?g¾0™*•Ü?g˜nƒÀÊÕ?g¤ß¾œ3â?gBÏfÕçjã?)gi o�Å×?gt$—ÿ�~Û?g%�•C‹Ø?g\ AñcÌá?gX9´ÈvÖ?)geâX·Ñ?gUÁ¨¤N@ß?g?ÆÜµà?gTR' ‰°á?g¨WÊ2Ä±Ú?)gµ¦yÇ)Þ?gq¬‹Ûh ß?g�¥½Áæ?g°rh‘í|ß?g2U0*©ì?)gI.ÿ!ýöã?gÍÌÌÌÌÌæ?grŠŽäòä?gF¶óýÔxÕ?g‘í|?5^Ö?)gz6«>WÓ?gZd;ßO�Û?gçŒ(íÞ?g½R–!ŽuÙ?g˜Ý“‡…Zá?)gõ¹ÚŠýe×?g�Âõ(\�æ?gºI+‡à?g£’:MÔ?g¦›Ä °ræ?)gÂ&S£Ò?g|a2U0à?gšwœ¢#¹ä?gÁÊ¡E¶óã?g­iÞqŠŽê?)g	Šcîâ?g÷uàœ¥ç?gËÇº¸�æ?g'Â†§WÊê?gL¦
F%uì?)g°çŒ(íã?gTR' ‰°ã?g?ÆÜµæ?g6«>W[±ã?gòÒMbXÝ?)g2æ®%äƒÎ?çª`TR' Õ?gµûËîÉ×?g…ëQ¸…ã?g46<½Rè?)gÎQÚØ?gÓMbX9Ø?g;pÎˆÒÞæ?gk+ö—Ý“í?gã6À[ ï?)g„O¯”eâ?g†ÉTÁ¨¤â?g0*©ÐDâ?gQÚ|aè?gªñÒMbì?)g‰A`åÐ"á?g•Ô	h"lÐ?gºk	ù gË?gÛŠýe÷äÑ?g
×£p=
×?)gV-²�ïÛ?gw-!ôlÖ?g™»–�zÒ?gÊ2Ä±.n×?gŒJê4Î?r   Útest_roialign_aligned_false©r1   r2   Úname©ÚonnxÚhelperÚ	make_noder$   r   r   r   r   ©Únoder    r!   r"   r,   s        r#   Úexport_roialign_aligned_falsez&RoiAlign.export_roialign_aligned_false•   s[  € åŒ{×$Ò$ØØ1Ð1Ð1Ø�EØØØØØ+>ð %ñ 	
ô 	
ˆõ "<Ñ!=Ô!=Ñˆˆ=˜$åŒHð AÐ@Ð@Ø@Ð@Ð@Ø@Ð@Ð@Ø@Ð@Ð@Ø@Ð@Ð@ððð AÐ@Ð@Ø@Ð@Ð@Ø@Ð@Ð@Ø@Ð@Ð@Ø@Ð@Ð@ððð AÐ@Ð@Ø@Ð@Ð@Ø@Ð@Ð@Ø@Ð@Ð@Ø@Ð@Ð@ððð'õ: ”*ð=
ñ 
ô 
ˆõB 	ØØ�t˜]Ð+Ø�CØ.ð		
ñ 	
ô 	
ð 	
ð 	
ð 	
r%   c            
     óR  — t           j                             dg d¢dgddddd¬¦  «        } t          ¦   «         \  }}}t	          j        g d	¢g d
¢g d¢g d¢g d¢ggg d¢g d¢g d¢g d¢g d¢ggg d¢g d¢g d¢g d¢g d¢gggt          j        ¬¦  «        }t          | |||g|gd¬¦  «         d S )Nr'   r+   r,   r-   r   r.   Ú
half_pixelr0   )g6Í;NÑ‘à?gÑ‘\þCúÕ?gµ7øÂdªÔ?gà¾œ3¢Ü?g£’:Mä?)g\ AñcÌÙ?g@aÃÓ+á?gŸÍªÏÕVÜ?gxz¥,Cß?g:’ËH¿Ù?)g2U0*©Ð?g"ýöuàœÙ?gåÐ"Ûù~à?gÆm4€·@æ?g“V-Ö?)gq=
×£pÕ?g5ï8EGrÝ?gâX·Ñâ?g¦
F%uÖ?g	ù g³êå?)gãÇ˜»–�ß?gîZB>èÙæ?gAñcÌ]Kê?g¤ß¾œ3Þ?g}®¶bÙÙ?)gÙÎ÷Sã¥Ó?g<NÑ‘\þË?gz6«>W[Õ?g¬Zd;ß?g^ºI+ß?)gÞqŠŽäòÇ?gHPüsß?gzÇ):’Ëá?gÀìž<,ÔÚ?góŽSt$—×?)g�&Â†§WÂ?g’ËH¿}Ý?g–!Žuqã?gË¡E¶óýà?g4€·@‚âß?)g¹ü‡ôÛ×Ñ?gn£¼Ü?g¡Ö4ï8Eã?gffffffæ?g2U0*©è?)g™»–�zâ?g™»–�zæ?gŒJê4ç?gìÀ9#J{ç?g�1w-!ê?)gþe÷äa¡Î?g®GázÚ?r8   g)\�Âõ(Ð?g	ŠcîZÞ?)r   gÐDØðôJÑ?gƒÀÊ¡EÚ?gC­iÞqŠä?g ‰°áé•ê?)gµ¦yÇá?gÁ¨¤N@Ý?g Òo_Îá?gÄ±.n£è?gÃõ(\�Âí?)gŒJê4å?gï8EGrùá?g¯%äƒžÍÞ?g¿œ3¢´ß?gÃdª`TRå?)gê46<å?gÆÜµ„|Ð×?gp_ÎQÊ?g=›UŸ«­È?gGrùé·Ï?r   Útest_roialign_aligned_truer:   r<   r@   s        r#   Úexport_roialign_aligned_truez%RoiAlign.export_roialign_aligned_trueÌ   s[  € åŒ{×$Ò$ØØ1Ð1Ð1Ø�EØØØØØ+7ð %ñ 	
ô 	
ˆõ "<Ñ!=Ô!=Ñˆˆ=˜$åŒHð AÐ@Ð@Ø@Ð@Ð@Ø@Ð@Ð@Ø@Ð@Ð@Ø@Ð@Ð@ððð AÐ@Ð@Ø@Ð@Ð@Ø@Ð@Ð@Ø@Ð@Ð@Ø@Ð@Ð@ððð AÐ@Ð@Ø@Ð@Ð@Ø@Ð@Ð@Ø@Ð@Ð@Ø@Ð@Ð@ððð'õ: ”*ð=
ñ 
ô 
ˆõB 	ØØ�t˜]Ð+Ø�CØ-ð		
ñ 	
ô 	
ð 	
ð 	
ð 	
r%   c                 óF  — t          j        g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d	¢g d
¢g
ggt           j        ¬¦  «        } t          j        g d¢g d¢g d¢gt           j        ¬¦  «        }t          j        g d¢t           j        ¬¦  «        }t          j        g d¢g d¢g d¢g d¢g d¢ggg d¢g d¢g d¢g d¢g d¢ggg d¢g d¢g d¢g d¢g d¢gggt           j        ¬¦  «        }t          j                             dg d ¢d!d"gd#d$d$d%d&¬'¦	  «	        }t          || ||g|gd(¬)¦  «         d S )*Nr   r   r	   r
   r   r   r   r   r   r   r   )ç        rH   ç      "@rI   )rH   ç      @g      @rI   )rJ   rJ   rI   rI   r   )g€|®[©Ö?gÂ!Èÿìà×?gâ"s<Ñ;Ø?gÌAÐÑª–Ü?gžq
ÀyPØ?)gØ”ÐYtÚ?g÷äa¡Ötá?g“ÔSõ<Iå?gÁ€± žÛá?g˜�I%ÀYÑ?)gð�xª*Ë?g �Øþ 1Ú?gü´@q¶ïê?gÇ¸ââ¨\é?gT%_COÎ×?)g‡h¶#ƒùÝ?gÇãHoÙ?gFlð¤é?gmØ ¶Íß?g0T´(¢•á?)g‡Ôþ„×?gî÷z­:¡à?g¶_ãŸ¾Já?gâ7Kê€{Î?g�5‘ü5—É?)gÁ“³ð‡Ó?g†“=�Fà?gø(m»jÔ?gƒ*»òÙ?gõœ6ÛÃ{Þ?)g»íBs�Fà?r   gù€ÄŸv2Ø?gçÖµëÏ?g¦Õ€#gé?)g^Bü�Æ?guÄ~§ËÒ?g-uœ‘·Ü?gçÖµëß?gAÞ&5ä?)gŽõÃ¾SWà?r   gUñë,.á?r   g
éø�gæ?)gV<?Ö�¸Ü?g.¥Ó_TWà?gGßI°Ý"à?gÛ$õT=â?gP<„âÚ?)g_vÓVºõÊ?g—iEåpwÖ?gùŽþ<ò×?g-Â7¨ã?g¥¶»¤½ÃÝ?)g¢dî±Ô?gIÐ%=ˆôÓ?gØi2ˆôã?r   gá¯àÈÍè?)ghøä›LàÖ?gˆP¿°áá?g.˜Ï$wùÖ?g¨Ù¨óMæ?gÅ*”;"Uä?)güû1R”0ã?gˆP¿°áÑ?g.˜Ï$wùÆ?g¡eþMÖ?gÅ*”;"UÔ?)g/Ud×?gï*÷DÏÚ?gƒ¨VºˆÎ?g}ë�^Ü?gfPLb9×Ð?r'   r+   Úmaxr,   r-   r   r.   r/   )r1   Úmoder2   r3   r4   r5   r6   r7   Útest_roialign_mode_maxr:   )r   r   r   r   r=   r>   r?   r   )r    r"   r!   r,   rA   s        r#   Úexport_roialign_mode_maxz!RoiAlign.export_roialign_mode_max  so  € åŒHðð ð ðð ð ðð ð ðð ð ðð ð ðð ð ðð ð ðð ð ðð ð ðð ð ð[yð{ð}õ| ”*ð@
ñ @
ô @
ˆõB ŒxØ!Ð!Ð!Ð#7Ð#7Ð#7Ð9MÐ9MÐ9MÐNÝ”*ð
ñ 
ô 
ˆõ œ   µ"´(Ð;Ñ;Ô;ˆåŒHð RÐQÐQØQÐQÐQØQÐQÐQØQÐQÐQØQÐQÐQððð RÐQÐQØMÐMÐMØSÐSÐSØKÐKÐKØQÐQÐQððð SÐRÐRØNÐNÐNØQÐQÐQØSÐSÐSØRÐRÐRððð'õ: ”*ð=
ñ 
ô 
ˆõB Œ{×$Ò$ØØ1Ð1Ð1ØØ�EØØØØØ+>ð %ñ 

ô 

ˆõ 	ØØ�t˜]Ð+Ø�CØ)ð		
ñ 	
ô 	
ð 	
ð 	
ð 	
r%   N)r(   r)   )Ú__name__Ú
__module__Ú__qualname__ÚstaticmethodrB   rF   rN   © r%   r#   r'   r'   ”   sz   € € € € € Øð4
ð 4
ð 4
ñ „\ð4
ðl ð4
ð 4
ð 4
ñ „\ð4
ðl ðz
ð z
ð z
ñ „\ðz
ð z
ð z
r%   r'   )Ú
__future__r   Únumpyr   r=   Úonnx.backend.test.case.baser   Úonnx.backend.test.case.noder   r$   r'   rS   r%   r#   ú<module>rX      s£   ðð #Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð à €€€Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø .Ð .Ð .Ð .Ð .Ð .ðD"ð D"ð D"ðNj
ð j
ð j
ð j
ð j
ˆtñ j
ô j
ð j
ð j
ð j
r%   