U
    rhH:                     @  sP   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 Z	G dd deZ
dS )	    )annotationsN)Base)expectc                  C  s>  t jddddddddd	d
g
ddddddddddg
ddddddddddg
dd d!d"d#d$d%d&d'd(g
d)d*d+d,d-d.d/d0d1d2g
d3d4d5d6d7d8d9d:d;d<g
d=d>d?d@dAdBdCdDdEdFg
dGdHdIdJdKdLdMdNdOdPg
dQdRdSdTdUdVdWdXdYdZg
d[d\d]d^d_d`dadbdcddg
g
ggt jde} t jdfdfdfgt jde}t jdfdfdgdggdfdhdidggdhdhdgdgggt jde}| ||fS )jNTR'?zG?9EGr???琠1?ݓ?؁sF?q??333333?fa?x?lV}?@߾?gj+?=U?Zd;?(~k	???ǘ?L7A`?H.!?F%u?猹k	?uq?*	?窂QI?y):?(\?ꕲq?0*?jt?/$?1w-!?m4?\ Ac?m4?0*?lxz,C?iq?H.?_L?-?H.?>W[?U? rh?MbX9?_vO?MO?犎?	h"l??37?mV}b?eX?_L?jt?ۊe?瀷@?R'?6[ ????߾?C?Bi?ΪV?l?O@a?S:?Q|?t$~?8gDio?q??Zd;?'1Z?q?1w-!?i o?~:?46<?(y?a+e?X ?x#?Q?гYں?#?绸? ~:p?|гY?编z6?QI&?sh|??V/?:M?_Q?Yڊ?ݵ|г?Zdtyper   	         )nparrayfloat32int64)Xbatch_indicesrois rt   H/tmp/pip-unpacked-wheel-xnis5xre/onnx/backend/test/case/node/roialign.pyget_roi_align_input_values   s    ~ .rv   c                   @  sB   e Zd ZeddddZeddddZeddddZd	S )
RoiAlignNone)returnc                  C  s  t jjddddgdgddddd	d
} t \}}}tjdddddgdddddgdddddgdddddgdd d!d"d#gggd$d%d&d'd(gd)d*d+d,d-gd.d/d0d1d2gd3d4d5d6d7gd8d9d:d;d<gggd=d>d?d@dAgdBdCdDdEdFgdGdHdIdJdKgdLdMdNdOdPgdQdRdSdTdUggggtjdV}t| |||g|gdWdX d S )YNrw   rq   rs   rr   Y      ?rk      output_half_pixelinputsoutputsspatial_scaleoutput_heightoutput_widthsampling_ratiocoordinate_transformation_modeg}b?g0*?gn?g߾3?gBfj?gi o?gt$~?g%C?g\ Ac?gX9v?geX?gUN@?g?ܵ?gTR'?gW2ı?gy)?gqh ?g?grh|?g2U0*?gI.!?g?gr?gFx?g|?5^?gz6>W?gZd;O?g(?gR!u?gݓZ?gڊe?g(\?gI+?g:M?g r?g&S?g|a2U0?gw#?gʡE?giq?g	c?gu?gǺ?g'W?gL
F%u?g(?gTR'?g?ܵ?g6>W[?gMbX?g2%?`TR'?g?gQ?g46<R?gQ?gMbX9?g;pΈ?gk+ݓ?g6[ ?gOe?gT?g0*D?gQ|a?gMb?gA`"?g	h"l?gk	g?gۊe?g
ףp=
?gV-?gw-!l?gz?g2ı.n?gJ4?ri   Ztest_roialign_aligned_falser   r   nameonnxhelper	make_noderv   rm   rn   ro   r   noderq   rr   rs   rz   rt   rt   ru   export_roialign_aligned_false   sT    !z&RoiAlign.export_roialign_aligned_falsec                  C  s  t jjddddgdgddddd	d
} t \}}}tjdddddgdddddgdddddgdddddgdd d!d"d#gggd$d%d&d'd(gd)d*d+d,d-gd.d/d0d1d2gd3d4d5d6d7gd8d9d:d;d<gggd=d>d?d@dAgdBdCdDdEdFgdGdHdIdJdKgdLdMdNdOdPgdQdRdSdTdUggggtjdV}t| |||g|gdWdX d S )YNrw   rq   rs   rr   rz   r{   rk   r|   Z
half_pixelr~   g6;Nё?gё\C?g7d?g3?g:M?g\ Ac?g@a+?gͪV?gxz,C?g:H?g2U0*?g"u?g"~?gm4@?gV-?gq=
ףp?g58EGr?gX?g
F%u?g	g?gǘ?gZB>?gAc]K?g߾3?g}b?gS?g<Nё\?gz6>W[?gZd;?g^I+?gq?gHPs?gz):?g<,?gSt$?g&W?gH}?g!uq?gˡE?g4@?g?gn?g48E?gffffff?g2U0*?gz?gz?gJ4?g9#J{?g1w-!?gea?gGz?r   g)\(?g	cZ?rL   gDJ?gʡE?gCiq?g?gy?gN@?g o_?gı.n?g(\?gJ4?g8EGr?g%䃞?g3?gd`TR?g46<?gܵ|?gp_Q?g=U?gGr?ri   Ztest_roialign_aligned_truer   r   r   rt   rt   ru   export_roialign_aligned_true   sT    !z%RoiAlign.export_roialign_aligned_truec                  C  sF  t jddddddddd	d
g
ddddddddddg
ddddddddddg
dd d!d"d#d$d%d&d'd(g
d)d*d+d,d-d.d/d0d1d2g
d3d4d5d6d7d8d9d:d;d<g
d=d>d?d@dAdBdCdDdEdFg
dGdHdIdJdKdLdMdNdOdPg
dQdRdSdTdUdVdWdXdYdZg
d[d\d]d^d_d`dadbdcddg
g
ggt jde} t jdfdfdgdggdfdhdidggdhdhdgdgggt jde}t jdjdjdjgt jde}t jdkdldmdndogdpdqdrdsdtgdudvdwdxdygdzd{d|d}d~gdddddgggdddddgdd>dddgdddddgddRddTdgdddddgggdddddgddddEdgdddddgdddddgdddddggggt jde}tjjddddgddgdddddd	}t|| ||g|gdd d S )Nr   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   rW   rX   rY   rZ   r[   r\   r]   r^   r_   r`   ra   rb   rc   rd   re   rf   rg   rh   ri   g        g      "@g      @g      @r   g|[?g!?g"s<;?gAѪ?gq
yP?gؔYt?gat?gS<I?g ?gI%Y?gx*?g 1?g@q?gǸ\?gT%_CO?gh#?gHo?gFl?gm ?g0T(?g?gz:?g_㟾J?g7K{?g55?g?g=F?g(mj?g*?g6{?gBsF?gğv2?gֵ?g#g?g^B?gu~?g-u?gֵ?gA&5?gþSW?gU,.?g
g?gV<?֝?g._TW?gGI"?g$T=?gP<?g_vV?giEpw?g<?g-7?g?gd?gI%=?gi2?g?ghL?gP?g.$w?g٨M?g*;"U?g1R0?gP?g.$w?geM?g*;"U?g/Ud?g*D?gV?g}^?gfPLb9?rw   rq   rs   rr   maxrz   r{   rk   r|   r}   )r   moder   r   r   r   r   r   Ztest_roialign_mode_maxr   )rm   rn   ro   rp   r   r   r   r   )rq   rs   rr   rz   r   rt   rt   ru   export_roialign_mode_max  sH   ~  !z!RoiAlign.export_roialign_mode_maxN)__name__
__module____qualname__staticmethodr   r   r   rt   rt   rt   ru   rw      s   66rw   )
__future__r   Znumpyrm   r   Zonnx.backend.test.case.baser   Zonnx.backend.test.case.noder   rv   rw   rt   rt   rt   ru   <module>   s    