o
    soi8:                     @  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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d} t jg dt jd}t jg dg dg dgt jd}| ||fS )N
gTR'?gzG?g9EGr?g??g1?gݓ?g؁sF?gq?g?g333333?
gfa?gx?glV}?g@߾?ggj+?g=U?gZd;?g(~k	?g??gǘ?
gL7A`?gH.!?gF%u?gk	?guq?g*	?gQI?gy):?g(\?gꕲq?
g0*?gjt?g/$?g1w-!?gm4?g\ Ac?gm4?g0*?glxz,C?giq?
gH.?g_L?g-?gH.?g>W[?gU?g rh?gMbX9?g_vO?gMO?
g?g	h"l?g?g37?gmV}b?geX?g_L?gjt?gۊe?g@?
gR'?6[ ?g??g?߾?gC?gBi?gΪV?gl?O@a?gS:?
gQ|?t$~?g8gDio?gq?g?gZd;?g'1Z?gq?g1w-!?gi o?
g~:?46<?g(y?a+e?gX ?gx#?gQ?gгYں?g#?g?
g ~:p?g|гY?gz6?gQI&?gsh|??gV/?g:M?g_Q?gYڊ?gݵ|г?dtyper   r   r   )r   r   	   r   )r         r   )r   r   r   r   )nparrayfloat32int64)Xbatch_indicesrois r!   X/home/ubuntu/.local/lib/python3.10/site-packages/onnx/backend/test/case/node/roialign.pyget_roi_align_input_values   s(   ~ "
r#   c                   @  s6   e Zd Zed
ddZed
ddZed
ddZd	S )RoiAlignreturnNonec               
   C     t jjdg ddgd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d}t| |||g|gd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?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?r   test_roialign_aligned_falser.   r/   nameonnxhelper	make_noder#   r   r   r   r   noder   r   r    r)   r!   r!   r"   export_roialign_aligned_false   T   !
z&RoiAlign.export_roialign_aligned_falsec               
   C  r'   )Nr$   r(   r)   r*   r   r+   
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?r5   g)\(?g	cZ?)r   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?r   test_roialign_aligned_truer7   r9   r=   r!   r!   r"   export_roialign_aligned_true   r@   z%RoiAlign.export_roialign_aligned_truec                  C  s<  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d} t jg dg dg dgt jd}t jg dt jd}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d}tjjdg d d!d"gd#d$d$d%d&d'	}t|| ||g|gd(d) d S )*Nr   r   r   r   r	   r
   r   r   r   r   r   )        rD         "@rE   )rD         @g      @rE   )rF   rF   rE   rE   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?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?gGI"?g$T=?gP<?)g_vV?giEpw?g<?g-7?g?)gd?gI%=?gi2?r   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?r$   r(   maxr)   r*   r   r+   r,   )r.   moder/   r0   r1   r2   r3   r4   test_roialign_mode_maxr7   )r   r   r   r   r:   r;   r<   r   )r   r    r   r)   r>   r!   r!   r"   export_roialign_mode_max  s   ~ !
z!RoiAlign.export_roialign_mode_maxN)r%   r&   )__name__
__module____qualname__staticmethodr?   rC   rJ   r!   r!   r!   r"   r$      s    66r$   )
__future__r   numpyr   r:   onnx.backend.test.case.baser   onnx.backend.test.case.noder   r#   r$   r!   r!   r!   r"   <module>   s    