
    Ng+                     J    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 )    N)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/
    returnNc                  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        ^/var/www/html/ai-engine/env/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*   r.   r%   r&   r'   r(   r7   s        r8   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@rv   )g      `@g      i@g     i@g     i@g      b@r   r$   r(   )r   r#   r   r#   )padstest_col2im_padsr*   r.   r@   s        r8   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
   rk   r      )r   r   r   r      )r   r   r   r         r=   )r	   r   r   r   r   r   )r   r   r   r   r   rk   )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*   r.   r@   s        r8   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            rC   rD   rE   rF   rG   rH   rI   )r=         r{      rM   rN   rO   rP   rQ   rR   rS   )r<         r|      rW   rX   rY   rZ   r[   r\   r]   )   	      r}      ra   rb   rc   rd   re   rf   rg   )r"   
      r~      rl   rm   rn   ro   rp   rq   rr   )rJ   rK   rL   L   Q   V   [   `   e   j   o   t   )rT   rU   rV   M   R   W   \   a   f   k   p   u   )r^   r_   r`   N   S   X   ]   b   g   l   q   v   )rh   ri   rj   O   T   Y   ^   c   h   m   r   w   )rs   rt   ru   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   )rC   rM   rW   ra   rl   )rD   rN   rX   rb   rm   )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   )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*   r.   r@   s        r8   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:   )r   N)
__name__
__module____qualname____doc__staticmethodr9   rA   ry   r   r    r:   r8   r   r      s         
 &
 &
 &
 \&
P ,
 ,
 ,
 \,
\ x
 x
 x
 \x
t (
 (
 (
 \(
T K
 K
 K
 \K
 K
 K
r:   r   )numpyr/   r4   onnx.backend.test.case.baser   onnx.backend.test.case.noder   r   r   r:   r8   <module>r      s~         , , , , , , . . . . . .P
 P
 P
 P
 P
T P
 P
 P
 P
 P
r:   