
    /j=+                    V    d dl mZ d dlZd dlZd dlmZ d dlmZ  G d de          Z	dS )    )annotationsN)Base)expectc                      e Zd ZdZed
d            Zed
d            Zed
d            Zed
d            Zed
d            Z	d	S )Col2ImzCol2Im operator with N-dimension support

    The tests below can be reproduced in Python using https://github.com/f-dangel/unfoldNd/
    returnNonec                 N   t          j        g dg dg dg dg dgg                              t           j                  } t          j        ddg                              t           j                  }t          j        ddg                              t           j                  }t
          j                            dg d	d
g          }t          j        g dg dg dg dg dggg                              t           j                  }t          || ||g|gd           d S )N)      ?      @      &@      0@      5@)       @      @      (@      1@      6@)      @       @      *@      2@      7@)      @      "@      ,@      3@      8@)      @              .@      4@      9@      r   inputimage_shapeblock_shapeoutput)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#   test_col2iminputsoutputsname	nparrayastypefloat32int64onnxhelper	make_noder   )r'   r(   r)   noder*   s        g/home/longshao/multi-rider-rag/.venv/lib/python3.11/site-packages/onnx/backend/test/case/node/col2im.pyexportzCol2Im.export   sl    100000000000000

 

 &

 	 h1v&&--bh77h1v&&--bh77{$$===z
 
  211111666666666

 
 &

 	 	;4H		
 	
 	
 	
 	
 	
    c                 n   t          j        g dg dg dg dg dg dg dg dg dg	g                              t           j                  } t          j        ddg                              t           j                  }t          j        ddg                              t           j                  }t          j        g dg dg dg dg dggg                              t           j                  }t
          j                            d	g d
dgddg          }t          || ||g|gd           d S )N)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*      )stridestest_col2im_stridesr,   r0   r'   r(   r)   r*   r9   s        r:   export_col2im_strideszCol2Im.export_col2im_strides<   s    )((((((((((((((((((((((((((

 
 &

 	 h1v&&--bh77h1v&&--bh77 211111111111111

 
 &

 	 {$$333JF	 % 
 
 	;4H&		
 	
 	
 	
 	
 	
r<   c                 V   t          j        g dg dg dg dg dgg                              t           j                  } t          j        ddg                              t           j                  }t          j        ddg                              t           j                  }t          j        g dg d	g d
g dg dggg                              t           j                  }t
          j                            dg ddgg d          }t          || ||g|gd           d S )N)r   r   r   r   r         $   )   .   3   8   =   B   G   )r   r   r   r   r          %   *   /   4   9   >   C   H   )r   r   r   r   r      !   &   +   0   5   :   ?   D   I   )r   r   r   r   r      "   '   ,   1   6   ;   @   E   J   )r         $@r!   r"   r#      #   (   -   2   7   <   A   F   K   r$   r%   )r   r   r   g      ;@r   )g      C@g     P@g     @Q@g      R@g      K@)g      Q@g     [@     \@g     @]@g      U@)g     X@g     c@g     c@g     @d@rx   )g      `@g      i@g     i@g     i@g      b@r   r&   r*   )r   r%   r   r%   )padstest_col2im_padsr,   r0   rB   s        r:   export_col2im_padszCol2Im.export_col2im_padsk   s     "  "  "  "  KVXZ
 Z
t &

u 	v h1v&&--bh77h1v&&--bh77 655666999:::;;;

 
 &

 	 {$$333J	 % 
 
 	;4H#		
 	
 	
 	
 	
 	
r<   c            	     V   t          j        g dg dg dg dgg                              t           j                  } t          j        ddg                              t           j                  }t          j        ddg                              t           j                  }t          j        g dg dg d	g d
g dg dggg                              t           j                  }t
          j                            dg ddgddg          }t          || ||g|gd           d S )N)r   r   r   r      )r   r   rm   r      )r   r   r   r!      )r   r   r   r         r?   )r   r    r    r    r    r   )r   r    r    r    r    rm   )r   r    r    r    r    r   )r   r    r    r    r    g      :@)g      @@r    r    r    r    g      A@)r   r    r    r    r    r"   r   r&   r*   r%   r$   )	dilationstest_col2im_dilationsr,   r0   rB   s        r:   export_col2im_dilationszCol2Im.export_col2im_dilations   sy    .--.........		
 	
 &

 	 h1v&&--bh77h1v&&--bh77 766777888888888888	
 
 &

 	 {$$333J!f	 % 
 
 	;4H(		
 	
 	
 	
 	
 	
r<   c                    t          j        g dg dg dg dg dg dg dg dg d	g d
g
g                              t           j                  } t          j        g d                              t           j                  }t          j        g d                              t           j                  }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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%g d&d'g          }t          || ||g|gd()           d S )*N)r%   r            rE   rF   rG   rH   rI   rJ   rK   )r?         r}      rO   rP   rQ   rR   rS   rT   rU   )r>         r~      rY   rZ   r[   r\   r]   r^   r_   )   	      r      rc   rd   re   rf   rg   rh   ri   )r$   
      r      rn   ro   rp   rq   rr   rs   rt   )rL   rM   rN   L   Q   V   [   `   e   j   o   t   )rV   rW   rX   M   R   W   \   a   f   k   p   u   )r`   ra   rb   N   S   X   ]   b   g   l   q   v   )rj   rk   rl   O   T   Y   ^   c   h   m   r   w   )ru   rv   rw   P   U   Z   _   d   i   n   s   x   )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   )rE   rO   rY   rc   rn   )rF   rP   rZ   rd   ro   )rG   rQ   r[   re   rp   )rH   rR   r\   rf   rq   )rI   rS   r]   rg   rr   )rJ   rT   r^   rh   rs   )rK   rU   r_   ri   rt   )rL   rV   r`   rj   ru   )rM   rW   ra   rk   rv   )rN   rX   rb   rl   rw   )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   r   r   r   r   r&   r*   test_col2im_5dr,   r0   rB   s        r:   export_col2im_5dzCol2Im.export_col2im_5d  ss    CBBBBBBBBBBBCCCHHHHHHHHHHHHIII
 
 &

 	  hyyy))00::hyyy))00::
 ,OO,,,000000	 100000000000	 100000000000	, 100000000000	 100000000111	 655555555555	+)+-
 -
Z &

[ 	^ {$$===z
 
 	;4H!		
 	
 	
 	
 	
 	
r<   N)r   r	   )
__name__
__module____qualname____doc__staticmethodr;   rC   r{   r   r    r<   r:   r   r      s         
 &
 &
 &
 \&
P ,
 ,
 ,
 \,
\ x
 x
 x
 \x
t (
 (
 (
 \(
T K
 K
 K
 \K
 K
 K
r<   r   )

__future__r   numpyr1   r6   onnx.backend.test.case.baser   onnx.backend.test.case.noder   r   r   r<   r:   <module>r      s    # " " " " "      , , , , , , . . . . . .P
 P
 P
 P
 P
T P
 P
 P
 P
 P
r<   