
    h                       S SK r S SKJr  S SKJr  S SKrS SKJr  S SK	J
r
JrJrJr  S SKJr  S SKJr  S SKJrJrJrJrJrJr  S S	KJr  \" \" S
S5      5      r\" \" SS5      5      r\" \" SS5      5      r\" 5       S-
  rSr \" S\5      \" S\ 5      /r!S r"S r# " S S\ RH                  5      r%\&S:X  a  \ RN                  " SS9  gg)    Nwraps)getenv)assert_allclose)ONNX_MLTensorProto	TypeProtoValueInfoProto)check_model)onnx_opset_version)
make_graphmake_model_gen_version	make_nodemake_opsetidmake_tensormake_tensor_value_info)ReferenceEvaluatorORT_MAX_IR_SUPPORTED_VERSION8$ORT_MAX_ONNX_OPSET_SUPPORTED_VERSION18"ORT_MAX_ML_OPSET_SUPPORTED_VERSION3       
ai.onnx.mlc                  0     SS K n A g! [         a     gf = f)Nr   TF)onnxruntimeImportError)r   s    _/var/www/fran/franai/venv/lib/python3.13/site-packages/onnx/test/reference_evaluator_ml_test.pyhas_onnxruntimer"   *   s"     s    
c                 0   ^  [        T 5      U 4S j5       nU$ )Nc                  `   > [        5       (       d  [        R                  " S5      eT" U 0 UD6  g )Nzonnxruntime not installed)r"   unittestSkipTest)argskwargsfns     r!   wrapper'skip_if_no_onnxruntime.<locals>.wrapper6   s+      ##$?@@
DF    r   )r)   r*   s   ` r!   skip_if_no_onnxruntimer-   5   s     
2Y 
 Nr,   c                      \ rS rSr\S0S j5       r\R                  " \(       + SS9S 5       r	\R                  " \(       + SS9S 5       r
\R                  " \(       + SS9S 5       r\R                  " \(       + SS9S 5       r\R                  " \(       + SS9S	 5       r\R                  " \(       + SS9S
 5       r\R                  " \(       + SS9S 5       r\R                  " \(       + SS9S 5       r\R                  " \(       + SS9S 5       r\R                  " \(       + SS9S 5       r\R                  " \(       + SS9S 5       r\R                  " \(       + SS9S 5       r\R                  " \(       + SS9S 5       r\R                  " \(       + SS9S 5       r\R                  " \(       + SS9S 5       r\R                  " \(       + SS9S 5       r\R                  " \(       + SS9S 5       r\R                  " \(       + SS9S 5       r\R                  " \(       + SS9S 5       r\R                  " \(       + SS9S 5       r\ S1S j5       r\R                  " \(       + SS9S 5       r\R                  " \(       + SS9S 5       r\R                  " \(       + SS9S 5       r \R                  " \(       + SS9S 5       r!\S 5       r"\R                  " \(       + SS9S 5       r#\S  5       r$\R                  " \(       + SS9S! 5       r%\S" 5       r&\R                  " \(       + SS9S# 5       r'\S2S$ j5       r(\R                  " \(       + SS9S% 5       r)\R                  " \(       + SS9S& 5       r*\R                  " \(       + SS9S' 5       r+\R                  " \(       + SS9S( 5       r,\S3S) j5       r-\R                  " \(       + SS9S* 5       r.\S4S+ j5       r/\R                  " \(       + SS9S, 5       r0\R                  " \(       + SS9S- 5       r1S.r2g/)5TestReferenceEvaluatorAiOnnxMl?   c                 N   [        5       (       d  g SSKJn  [        n[        nU R
                   H!  n	U	R                  S;   d  M  U	R                  n  O   U R
                   H!  n	U	R                  S:X  d  M  U	R                  n  O   U R                  [        :  d  U[        :  d
  U[        :  a  g U" U R                  5       S/S9n
[        U 5      nU
R                  S U5      nUR                  S U5      n[        U5      [        U5      :w  a$  [        S[        U5       S[        U5       S	35      eU(       a  [        [!        U5      [!        U5      5      O
[        X5      n[#        U5       H  u  nu  nnUR$                  UR$                  :w  a1  [        S
UR$                   SU SUR$                   SU< SU< S35      eU(       a8  UR'                  5       UR'                  5       :w  a  [        SU SU SU 35      eM  [)        UUUUSU SUR+                  5       S    S3S9  M     g )Nr   )InferenceSession)r   zai.onnxr   CPUExecutionProvider)	providersz1onnxruntime returns a different number of output z != z (ReferenceEvaluator).zUnexpected shape z for output z (expecting z)
z
---
.zDiscrepancies for output z
expected=
z
!=
results=
z expected[0]=)actualdesiredatolrtolerr_msg)r"   r   r2   r   r   opset_importdomainversion
ir_versionr   SerializeToStringr   runlenAssertionErrorzipreversed	enumerateshapetolistr   ravel)onxfeedsr8   r9   equalrevr2   onnx_domain_opsetml_domain_opsetopsetortsessexpectedgotlookiegs                     r!   
_check_ort)TestReferenceEvaluatorAiOnnxMl._check_ort@   s     0@<%%E||.$)MM! & %%E|||+"'-- & NN99 #GG!CC!!#0F/G
 "#&774'hhtU#x=CH$ Cx=/c$i[0FH  :=s8H%x}5#hBT"4IAv1ww!''!$'yQC @""#''#aU'!aA  88:+(3A3's*:1#?  ,  7s-	RS~UVW )r,   z!onnx not compiled with ai.onnx.ml)reasonc                 H   [        S[        R                  S S /5      n[        S[        R                  S S /5      n[        SS/S/SSS9n[	        U/SU/U/5      n[        U[        S9n[        U5        [        R                  " S	5      R                  S
5      R                  [        R                  5      n[        R                  " / SQ/ SQ/ SQ/[        R                  S9nU R                  USU05        [        U5      nUR!                  S SU05      S   n	[#        Xy5        g )NXY	Binarizerg      @r   )	thresholdr<   mlopset_imports      r   )r   r   r   r   )r   r      rf   )rf   rf   rf   rf   dtyper   r   r   FLOATr   r   r   OPSETSr   nparangereshapeastypefloat32arrayrX   r   r@   r   
selfr\   r]   node1graphrI   xrR   rQ   rS   s
             r!   test_binarizer-TestReferenceEvaluatorAiOnnxMl.test_binarizery   s    "3(9(9D$<H"3(9(9D$<H+uses<XE7D1#s3$U&ACIIbM!!&)00<88<6bjj
 	c1X&!#&hhtc1X&q)&r,   c           	      N   [        S[        R                  S S /5      n[        S[        R                  S S /5      n[        SS/S/S/S/SS9n[	        U/SU/U/5      n[        U[        S	9n[        U5        [        R                  " S
5      R                  S5      R                  [        R                  5      n[        R                  " / SQ/ SQ/ SQ/[        R                  S9nU R                  USU05        [        U5      nUR!                  S SU05      S   n	[#        Xy5        g )Nr\   r]   Scaler      ?g      r   )scaleoffsetr<   r`   ra   rc   rd   )g      @g      @g      
@g      @)g      @g      @g      @g      @)g      @g      @g      @g      @rg   r   ri   rr   s
             r!   test_scaler*TestReferenceEvaluatorAiOnnxMl.test_scaler   s   "3(9(9D$<H"3(9(9D$<HsecU3%|
 E7D1#s3$U&ACIIbM!!&)00<88(((
 **
 	c1X&!#&hhtc1X&q)&r,   c           	      @   [        S[        R                  S S /5      n[        S[        R                  S /5      n[        S[        R                  S S /5      n[	        SSS/S/SS9n[        U/SX/U/5      n[        U[        S9n[        U5        [        R                  " S	5      R                  S
5      R                  [        R                  5      n[        R                  " / SQ/[        R                  S9R                  nU[        R                  " S/[        R                   S9S.n	U R#                  Xi5        [%        U5      n
U
R'                  S U	5      S   n[)        X5        [        R                  " / SQ/ SQ/[        R                  S9R                  nU[        R                  " SS/[        R                   S9S.n	U R#                  Xi5        [%        U5      n
U
R'                  S U	5      S   n[)        X5        [        R                  " / SQ/ SQ/ SQ/ SQ/ SQ/ SQ/[        R                  S9R                  nU[        R                  " / SQ[        R                   S9S.n	U R#                  Xi5        [%        U5      n
U
R'                  S U	5      S   n[)        X5        g )Nr\   Ar]   ArrayFeatureExtractorr   )r<   r`   ra   rc   rd   )r   r      rg   r   )r\   r   )rf      	   rf   )r   rf   r   rf   r   rf   )r   r   rj   INT64r   r   r   rk   r   rl   rm   rn   ro   rp   rq   Tint64rX   r   r@   r   )rs   r\   r   r]   rt   ru   rI   rv   rR   rJ   rQ   rS   s               r!   test_array_feature_extractor;TestReferenceEvaluatorAiOnnxMl.test_array_feature_extractor   s   "3(9(9D$<H"3(9(9D6B"3(9(9D$<H#c3Z#|
 E7D1&1#6$U&ACIIbM!!&)00<88YKrzz:<<bhhs"((;<#!#&hhtU#A&&88Y	2"**EGGbhh1vRXX>?#!#&hhtU#A&&88	9iIN**
 ! 	 bhh'9JK#!#&hhtU#A&&r,   c           
         [        S[        R                  S S /5      n[        S[        R                  S S /5      n[        R                  " S5      R                  S5      R                  [        R                  5      nX3R                  SSS9-  U[        R                  " U5      R                  SSS9-  X3S-  R                  SSS9S-  -  S	.nUR                  5        H  u  pVU R                  US
9   [        SS/S/USS9n[        U/SU/U/5      n[        U[         S9n	[#        U	5        SU0n
U R%                  XSS9  ['        U	5      nUR)                  S U
5      S   n[+        XlSS9  S S S 5        M     g ! , (       d  f       M  = f)Nr\   r]   rc   rd   rf   )axiskeepdimsr   r{   )MAXL1L2)norm
Normalizerr   )r   r<   r`   ra   ư>r8   r   )r   r   rj   rl   rm   rn   ro   rp   maxabssumitemssubTestr   r   r   rk   r   rX   r   r@   r   )rs   r\   r]   rv   rR   r   valuert   ru   rI   rJ   rQ   rS   s                r!   test_normalizer.TestReferenceEvaluatorAiOnnxMl.test_normalizer   se   "3(9(9D$<H"3(9(9D$<HIIbM!!&)00<uu!au00bffQimmQm77!tjja!j4;;

 $>>+KD4(! 3%#T, #E7D1#s;,U&IC a6)#.hhtU+A.6 )( ,((s   2A8E77
F	c                    [        S[        R                  S S /5      [        S[        R                  S S /5      /n[        S[        R                  S S /5      n[        R                  " S5      R                  S5      R                  [        R                  5      [        R                  " S5      R                  S5      R                  [        R                  5      S-   /n[        R                  " S/S/S	//[        R                  S
9[        R                  " SS/SS/S	S//[        R                  S
9[        R                  " / SQ/ SQ/ SQ/[        R                  S
9[        R                  " SS/SS/S	S//[        R                  S
9[        R                  " S/S/S//[        R                  S
9S.nUR                  5        GH  u  pV[        U[        5      (       a  [        U5      OUnU R                  US9   [        S[        [!        U5      5       Vs/ s H  nSU 3PM
     snS/USS9n	[#        U	/SUS [!        U5       U/5      n
[%        U
[&        S9n[)        U5        [+        US [!        U5       5       VVs0 s H  u  pSU 3U_M     nnnU R-                  XSS9  [/        U5      nUR1                  S U5      S   n[3        XoSS9  S S S 5        GM     g s  snf s  snnf ! , (       d  f       GM3  = f)NX0X1r]   r   )re   re   r{   r   re      rg   rf   r      )r   rf   r   r   )re   r   r   r   )r   r   r   r   g      @g      @))rf   )r   )r   )rf   rf   )r   rf   )inputdimensionsFeatureVectorizerr\   r   )r   r<   r`   ra   r   r   )r   r   rj   rl   rm   rn   ro   rp   rq   r   
isinstancetuplelistr   r   rangerA   r   r   rk   r   rE   rX   r   r@   r   )rs   r\   r]   rv   rR   r   r   attrU   rt   ru   rI   vrJ   rQ   rS   s                   r!   test_feature_vectorizer6TestReferenceEvaluatorAiOnnxMl.test_feature_vectorizer   s    #4):):T4LI"4):):T4LI
 #3(9(9D$<HIIaL  (//

;IIaL  (//

;cA

 ((QC!qc?"**=((QFQFQF32::F((|\:"** HHq#hC1c(;2::NHHsecUSE2"**E
 '/nn&6"O ou55 _%$ 
 c2!'&+CHo6oqWo6E$'' #E7D!Jc#h-!E,U&IC 09!Jc#h-0HI0H1QC!0HI6)#.hhtU+A.6! 32 '7 7 J 32s+   :K&K&AK&>K 
=K&K&&
K6	c                    [        S[        R                  S S /5      n[        S[        R                  S S /5      n[        SS/S/S[        R
                  " S/[        R                  S9[        R                  S9n[        U/SU/U/5      n[        U[        S	9n[        U5        [        R
                  " SS
[        R                  S//[        R                  S9R                  n[        R
                  " / SQ/[        R                  S9R                  nU R                  USU05        [        U5      nUR                  S SU05      S   n	[!        Xy5        g )Nr\   r]   Imputerr   r   rg   r<   imputed_value_floatsreplaced_value_floatr`   ra   rf   re   r   rf   r   re   r   r   rj   r   rl   rq   rp   nanr   r   rk   r   r   rX   r   r@   r   rr   s
             r!   test_imputer_float1TestReferenceEvaluatorAiOnnxMl.test_imputer_float  s   "3(9(9D$<H"3(9(9D$<HEE!#1#RZZ!@!#
 E7D1#s3$U&ACHHq!RVVQ'(

;==88\N"**=??c1X&!#&hhtc1X&q)&r,   c                    [        S[        R                  S S /5      n[        S[        R                  S S /5      n[        SS/S/S[        R
                  " SS/[        R                  S9[        R                  S9n[        U/S	U/U/5      n[        U[        S
9n[        U5        [        R
                  " SS[        R                  S/SS[        R                  S//[        R                  S9R                  n[        R
                  " / SQ/ SQ/[        R                  S9R                  nU R                  USU05        [        U5      nUR                  S SU05      S   n	[!        Xy5        g )Nr\   r]   r   r   r   皙?rg   r   r`   ra   rf   re   r   )r   rf   r   re   r   rr   s
             r!   test_imputer_float_2d4TestReferenceEvaluatorAiOnnxMl.test_imputer_float_2d"  s*   "3(9(9D$<H"3(9(9D$<HEE!#1c("**!E!#
 E7D1#s3$U&ACHHq!RVVQ'!Q):;2::NPP88\>:"**MOOc1X&!#&hhtc1X&q)&r,   c                 r   [        S[        R                  S S /5      n[        S[        R                  S S /5      n[        SS/S/S[        R
                  " S/[        R                  S9SS9n[        U/S	U/U/5      n[        U[        S
9n[        U5        [        R
                  " / SQ/[        R                  S9R                  n[        R
                  " / SQ/[        R                  S9R                  nU R                  USU05        [        U5      nUR                  S SU05      S   n	[        Xy5        g )Nr\   r]   r   r   r   rg   )r<   imputed_value_int64sreplaced_value_int64r`   ra   )r   rf   r   re   r   )r   r   r   r   rl   rq   r   r   r   rk   r   r   rX   r   r@   r   rr   s
             r!   test_imputer_int/TestReferenceEvaluatorAiOnnxMl.test_imputer_int8  s   "3(9(9D$<H"3(9(9D$<HEE!#1#RXX!>!#
 E7D1#s3$U&ACHHm_BHH57788\N"((;==c1X&!#&hhtc1X&q)&r,   c           
      Z   [        S[        R                  S S /5      n[        S[        R                  S S /5      n[	        SS/S/SS/ SQ/ SQS9n[        U/S	U/U/5      n[        U[        S
9n[        U5        [        R                  " SS[        R                  SS//[        R                  S9R                  n[        R                  " / SQ/[        R                  S9R                  nU R                  USU05        [!        U5      nUR#                  S SU05      S   n	[%        Xy5        g )Nr\   r]   LabelEncoderr   )g      @      ?g       @      @r   rf   r   re   )r<   default_int64keys_floatsvalues_int64sr`   ra   r   rf   re   r   rg   )r   rf   r   re   r   )r   r   rj   r   r   r   r   rk   r   rl   rq   r   rp   r   r   rX   r   r@   r   rr   s
             r!   test_label_encoder_float_int;TestReferenceEvaluatorAiOnnxMl.test_label_encoder_float_intN  s   "3(9(9D$<H"3(9(9D$<HEE,&
 E7D1#s3$U&ACHHq!RVVQ*+2::>@@88./rxx@BBc1X&!#&hhtc1X&q)&r,   c           
      X   [        S[        R                  S S /5      n[        S[        R                  S S /5      n[	        SS/S/SS/ SQ/ SQS9n[        U/S	U/U/5      n[        U[        S
9n[        U5        [        R                  " / SQ/[        R                  S9R                  n[        R                  " S/S/S/S//5      nU R                  USU0SS9  [        U5      nUR                  S SU05      S   n	U R!                  UR#                  5       U	R#                  5       5        g )Nr\   r]   r   r   NONErf   r   re   r   abccddd)r<   default_stringkeys_int64svalues_stringsr`   ra   r   rf   re   r   rg   r   r   r   TrK   r   )r   r   r   STRINGr   r   r   rk   r   rl   rq   r   r   rX   r   r@   assertEqualrG   rr   s
             r!   test_label_encoder_int_string<TestReferenceEvaluatorAiOnnxMl.test_label_encoder_int_stringe  s   "3(9(9D$<H"3(:(:T4LIEE!$2
 E7D1#s3$U&ACHHl^28846688fXutfug>?c1XT2!#&hhtc1X&q)*CJJL9r,   c                    [        S[        R                  S S /5      n[        S[        R                  S S /5      n[	        SS/S/S[        S[        R                  S// SQ5      [        S[        R                  S// S	Q5      [        S
[        R                  / S/5      S9n[        U/SU/U/5      n[        U[        S9n[        U5        [        R                  " / SQ/[        R                  S9R                  n[        R                  " S/S/S/S//5      nU R                  USU0SS9  [        U5      nUR!                  S SU05      S   n	U R#                  UR%                  5       U	R%                  5       5        g )Nr\   r]   r   r   keys_tensorr   r   values_tensorr   default_tensorr   )r<   r   r   r   r`   ra   r   rg   r   r   r   Tr   r   )r   r   r   r   r   r   r   r   rk   r   rl   rq   r   r   rX   r   r@   r   rG   )
rs   r\   r]   noderu   modelrv   rR   rQ   rS   s
             r!   /test_label_encoder_int_string_tensor_attributesNTestReferenceEvaluatorAiOnnxMl.test_label_encoder_int_string_tensor_attributes|  sY   "3(9(9D$<H"3(:(:T4LIEE#{001#| &!3!3aS:Q ' +"4"4b6(
 D64!qc2&uFCEHHl^28846688fXutfug>?Qxt4!%(hhtc1X&q)*CJJL9r,   c                 v   [        5       n[        R                  UR                  l        [        5       n[        R
                  UR                  l        UR                  R                  R                  U5        [        5       nSUl        UR                  R                  U5        Un[        S[        R                  S S /5      n[        SS/S/S/ SQS9n[        U/SU/U/5      n[!        U["        S9n[%        U5        [&        R(                  " S	[&        R*                  S
9[&        R(                  " S[&        R*                  S
9S.n	[&        R(                  " / SQ[&        R*                  S
9n
[-        U5      nUR/                  S SU	05      S   nU R1                  U
R3                  5       UR3                  5       5        g )Nr\   r]   DictVectorizerr   )r   cr   z)r<   string_vocabularyr`   ra   r   rg   r   )r   r   )r   r   r   r   r   )r	   r   r   tensor_type	elem_typer   map_typekey_type
value_typeCopyFromr
   nametyper   r   r   r   rk   r   rl   rq   r   r   r@   r   rG   )rs   r   	onnx_type
value_infor\   r]   rt   ru   rI   rv   rR   rQ   rS   s                r!   test_dict_vectorizer3TestReferenceEvaluatorAiOnnxMl.test_dict_vectorizer  sW   [
+6+<+<
(K	&1&8&8	#%%..z:#%

  +"3(9(9D$<HEE2
 E7D1#s3$U&AC((1BHH-BHHQbhh4OP88L9 "#&hhtc1X&q)*CJJL9r,   c           	      v   [        S[        R                  S S /5      n[        S[        R                  / SQ5      n[	        SS/S/SS/ SQS9n[        U/S	U/U/5      n[        U[        S
9n[        U5        [        R                  " / SQ/ SQ/[        R                  S9n[        R                  " / SQ/ SQ/ SQ// SQ/ SQ/ SQ//[        R                  S9nU R                  USU0SS9  [        U5      nUR                  S SU05      S   n	U R!                  UR#                  5       U	R#                  5       5        g )Nr\   r]   NNNOneHotEncoderr   rf   rf   r   re   r<   zeroscats_int64sr`   ra   )r   rf   re   r   rf   re   rg   r   r   r   rf   r   r   r   r   rf   r   rf   r   Tr   r   r   r   r   rj   r   r   r   rk   r   rl   rq   r   rp   rX   r   r@   r   rG   rr   s
             r!   test_one_hot_encoder_int7TestReferenceEvaluatorAiOnnxMl.test_one_hot_encoder_int     "3(9(9D$<H"3(9(9;MNEE!
 E7D1#s3$U&ACHHi+288<88I.Iy0QR**
 	c1XT2!#&hhtc1X&q)*CJJL9r,   c           	      \   [        S[        R                  S S /5      n[        S[        R                  / SQ5      n[	        SS/S/SS/ SQS9n[        U/S	U/U/5      n[        U[        S
9n[        U5        [        R                  " / SQ/ SQ/5      n[        R                  " / SQ/ SQ/ SQ// SQ/ SQ/ SQ//[        R                  S9nU R                  USU0SS9  [        U5      nUR                  S SU05      S   n	U R                  UR!                  5       U	R!                  5       5        g )Nr\   r]   r   r   r   rf   )c1c2c3)r<   r   cats_stringsr`   ra   )c5r  r  )r  r  r  r   r   r   r   rg   Tr   r   )r   r   r   rj   r   r   r   rk   r   rl   rq   rp   rX   r   r@   r   rG   rr   s
             r!   test_one_hot_encoder_string:TestReferenceEvaluatorAiOnnxMl.test_one_hot_encoder_string  s   "3(:(:T4LI"3(9(9;MNEE+
 E7D1#s3$U&ACHH(*<=>88I.Iy0QR**
 	c1XT2!#&hhtc1X&q)*CJJL9r,   c           	      v   [        S[        R                  S S /5      n[        S[        R                  / SQ5      n[	        SS/S/SS/ SQS9n[        U/S	U/U/5      n[        U[        S
9n[        U5        [        R                  " / SQ/ SQ/[        R                  S9n[        R                  " / SQ/ SQ/ SQ// SQ/ SQ/ SQ//[        R                  S9nU R                  USU0SS9  [        U5      nUR                  S SU05      S   n	U R!                  UR#                  5       U	R#                  5       5        g )Nr\   r]   r   r   r   r   r   r   r`   ra   r   rg   r   r   r   Tr   r  rr   s
             r!   test_one_hot_encoder_zeros9TestReferenceEvaluatorAiOnnxMl.test_one_hot_encoder_zeros  r  r,   c                 J   [        S[        R                  S S /5      n[        S[        R                  S S /5      n[        SS/S/SSS/S/SS	S
9n[	        U/SU/U/5      n[        U[        S9n[        U5        [        R                  " S5      R                  S5      R                  [        R                  5      n[        R                  " S/S/S//[        R                  S9nU R                  USU0SS9  [        U5      nUR!                  S SU05      n	[#        XyS   SS9  g )Nr\   r]   LinearRegressorr   333333?p=
ףr{   r   rf   r<   coefficients
interceptspost_transformtargetsr`   ra   r   r   r   HzGѿ\(\333333rg   Tr   r   r   r   ri   rr   s
             r!   test_linear_regressor4TestReferenceEvaluatorAiOnnxMl.test_linear_regressor  s   "3(9(9D$<H"3(9(9D$<HEEuu!	
 E7D1#s3$U&ACIIaL  )00<88eWugw7rzzJc1XT2!#&hhtc1X&a&t4r,   c                 R   [        S[        R                  S S /5      n[        S[        R                  S S /5      n[        SS/S/S/ SQSS/SS	S
9n[	        U/SU/U/5      n[        U[        S9n[        U5        [        R                  " S5      R                  S5      R                  [        R                  5      n[        R                  " SS/SS/SS//[        R                  S9nU R                  USU0SS9  [        U5      nUR!                  S SU05      n	[#        XyS   SS9  g )Nr\   r]   r  r   )r  r  r  r  r{   gffffff?r   r   r  r`   ra   r   r  r  gQ뱿r  g)\(r  g333333rg   Tr   r   r   r   ri   rr   s
             r!   test_linear_regressor_26TestReferenceEvaluatorAiOnnxMl.test_linear_regressor_2  s   "3(9(9D$<H"3(9(9D$<HEE1Sz!	
 E7D1#s3$U&ACIIaL  )00<88U^eU^eU^<BJJ
 	c1XT2!#&hhtc1X&a&t4r,   c                 (   [        S[        R                  S S /5      n[        S[        R                  S /5      n[        S[        R                  S S /5      n[        R
                  " / SQ[        R                  S9[        R
                  " / SQ/ SQ/ SQ/[        R                  S9/[        R
                  " / SQ[        R                  S9[        R
                  " / S	Q/ S
Q/ SQ/[        R                  S9/[        R
                  " / SQ[        R                  S9[        R
                  " / SQ/ SQ/ SQ/[        R                  S9/[        R
                  " / SQ[        R                  S9[        R
                  " / SQ/ SQ/ SQ/[        R                  S9/[        R
                  " / SQ[        R                  S9[        R
                  " / SQ/ SQ/ SQ/[        R                  S9/S.nS GH  nUS:X  a	  / SQn/ SQnO/ SQn/ SQnU R                  US9   [        SS/SS/S/ SQUUSUS9	n[        U/S U/X#/5      n	[        U	[        S!9n
[        U
5        [        R                  " S"5      R                  S#5      R!                  [        R                  5      nU R#                  U
SU0S$S%S&9  [%        U
5      nUR'                  S SU05      nXE   n[)        US'   US'   S%S(9  [)        US   US   5        S S S 5        GM     g ! , (       d  f       GM%  = f))Nr\   Ir]   )r   r   r   rg   )gHzG@g(\ gzG?)gq=
ףp?g=
ףp=g?)gQg{GzĿgzG @)gi\?g-\o?gfL2r?)gV+?gW}W?g(XQi?)g7ӅX?gT[r?g(5?)g#W<H?g"[Aӂ?gFA?)gme?gQ,?gej!?)gQj/혢?gw?gl`q8?)rf   rf   rf   )g?̔g)@̘ܿg'I)gqVgP Ȓ9?gSKӿ)gp$?gfd{?gcK?r   LOGISTICSOFTMAXSOFTMAX_ZEROPROBIT)r&  r   r%  r'  r(  r(  )V-?V-?
ףp=
?r)  r*  r+  )HzG?r,  g?)(\(\ҿ
ףp=
g(\?g(\?r+  )皙@gr{   r  LinearClassifierr   r   rf   r   r   r<   classlabels_intsr  r  multi_classr  r`   ra   r   r  Tg-C6?rL   r8   rf   r   )r   r   rj   r   rl   rq   r   rp   r   r   r   r   rk   r   rm   rn   ro   rX   r   r@   r   )rs   r\   Inr]   expected_postpostr  r  rt   ru   rI   rv   rQ   rS   rR   s                  r!   test_linear_classifier_multi;TestReferenceEvaluatorAiOnnxMl.test_linear_classifier_multi5  s   "3(9(9D$<H#C):):TFC"3(9(9D$<H "((3(*=?ST** "((3646
 **
 "((3655
 **
 "((3655
 **
 "((3986
 **
S4
j NDxG/
F-
T2!&E#J'%.!-) !#'
 #E7D1#w?,U&IC IIaL((188Dc1X4dC)#.hhtc1X.(.SV$?SV4+ 32 N 32s   CL
L	c                    [        S[        R                  S S /5      n[        S[        R                  S /5      n[        S[        R                  S S /5      n[        R
                  " SS/[        R                  S9[        R
                  " SS/SS	//[        R                  S9/[        R
                  " SS/[        R                  S9[        R
                  " S
S/SS//[        R                  S9/[        R
                  " SS/[        R                  S9[        R
                  " SS/SS//[        R                  S9/[        R
                  " SS/[        R                  S9[        R
                  " SS/SS//[        R                  S9/S.n[        R                  " S5      R                  S5      R                  [        R                  5      nS H  nXF   nU R                  US9   [        SS/SS/SSS// SQS/SUS9	n[        U/SU/X#/5      n	[        U	[        S9n
[!        U
5        [#        U
5      nUR%                  S SU05      n['        US   US   SS 9  ['        US   US   5        S S S 5        M     g ! , (       d  f       M  = f)!Nr\   r#  r]   rf   rg   g(\#g(\#@gg@gؒh
?gZ+g?g
?,U?gmi?g6>r   g³l>gsQo?r   r%  r&  r'  r   r   re   )r&  r   r%  r'  r1  r2  r   r   r-  r.  r/        $@r4  r`   ra   r   r   r   r   rj   r   rl   rq   r   rp   rm   rn   ro   r   r   r   r   rk   r   r   r@   r   rs   r\   r8  r]   r9  rv   r:  rR   rt   ru   rI   rQ   rS   s                r!   test_linear_classifier_binary<TestReferenceEvaluatorAiOnnxMl.test_linear_classifier_binary  sM   "3(9(9D$<H#C):):TFC"3(9(9D$<H !Qrxx05$-%7rzzJ
 !Qrxx0"L1L,3OP** !Qrxx0"K0<2NO** !Qrxx0"K0<2NO**'
6 IIaL  )00<CD$*HT2!&E#J'&'V!6 $v !#'
 #E7D1#w?,U&IC  *#.hhtc1X.SV$?SV4) 32 D22s   (BI;;
J
	c                    [        S[        R                  S S /5      n[        S[        R                  S /5      n[        S[        R                  S S /5      n[        R
                  " SS/[        R                  S9[        R
                  " S/S//[        R                  S9/[        R
                  " SS/[        R                  S9[        R
                  " S	/S
//[        R                  S9/[        R
                  " SS/[        R                  S9[        R
                  " S/S//[        R                  S9/[        R
                  " SS/[        R                  S9[        R
                  " S/S//[        R                  S9/S.n[        R                  " S5      R                  S5      R                  [        R                  5      nS H  nXF   nU R                  US9   [        SS/SS/SS// SQS/SUS9	n[        U/SU/X#/5      n	[        U	[        S9n
[!        U
5        [#        U
5      nUR%                  S SU05      n['        US   US   SS9  ['        US   US   5        S S S 5        M     g ! , (       d  f       M  = f)Nr\   r#  r]   rf   r   rg   gףp=
@ggd[?g6T?r   r>  r   r?  )r   r%  r'  r&  r1  r2  r   r@  r0  r4  r`   ra   r   r   rB  rC  s                r!   test_linear_classifier_unary;TestReferenceEvaluatorAiOnnxMl.test_linear_classifier_unary  s'   "3(9(9D$<H#C):):TFC"3(9(9D$<H !Qrxx04&5'*"**=
 !Qrxx08*wi0

C
 !Qrxx03%#rzz:
 !Qrxx03%#rzz:
$ IIaL  )00<CD$*HT2!&E#J'&'S!6 #u !#'
 #E7D1#w?,U&IC  *#.hhtc1X.SV$?SV4) 32 D22s    BI22
J	c                    [        S[        R                  S S /5      n[        S[        R                  S S /5      nU(       a  / SQnO/ SQn[        SS/S/40 SS_SS	_S
U _S/ SQ_S/ SQ_S/ SQ_S/ SQ_SUUSSSUSUSS/
_S/ SQ_S/ SQ_S/ SQ_S/ SQ_SS_S/ S Q_S!/ S"Q_S#/ S$Q_S%U_6n[	        U/S&U/U/5      n[        U[        S'9n[        U5        U$ )(Nr\   r]   )r   rA  g      Y@g     @@g     @g     j@)g    ;?r{   r{           g   $I?r{   TreeEnsembleRegressorr<   r   	n_targetsrf   aggregate_functionnodes_falsenodeids
r   re   r   r   r   r   r   r   r   r   nodes_featureids)
r   r   r   r   r   r   r   r   r   r   nodes_hitrates
r   r   r   r   r   r   r   r   r   r   nodes_missing_value_tracks_true
r   r   r   r   r   r   r   r   r   r   nodes_modesLEAFnodes_nodeids
r   rf   r   re   r   r   rf   r   re   r   nodes_treeids
r   r   r   r   r   rf   rf   rf   rf   rf   nodes_truenodeids
rf   r   r   r   r   rf   r   re   r   r   nodes_values)
g   ?g   ?rJ  rJ  rJ  g   rJ  g   `rJ  rJ  r  r   
target_ids)r   r   r   r   r   r   target_nodeids)r   re   r   rf   re   r   target_treeids)r   r   r   rf   rf   rf   target_weightsr`   ra   r   r   rj   r   r   r   rk   r   )	rM  ruleunique_targetsr\   r]   r  rt   ru   rI   s	            r!   !_get_test_tree_ensemble_regressor@TestReferenceEvaluatorAiOnnxMl._get_test_tree_ensemble_regressor  sf    #3(9(9D$<H"3(9(9D$<HGG #EE+
  	+

 +
  2+
  >+
 <+
 N+
 -K+
 +
. 9/+
0 91+
2 =3+
45+
L "M+
N *O+
P .Q+
R .S+
T #U+
X E7D1#s3$U&AC
r,   c                    [         R                  " S5      R                  S5      R                  [         R                  5      S-  S-
  n[         R
                  " S/S/S//[         R                  S9[         R
                  " S/S/S//[         R                  S9[         R
                  " S/S/S//[         R                  S9[         R
                  " S/S/S//[         R                  S9S	.nS	 Ho  nX#   nU R                  US
9   U R                  U5      nU R                  USU0SS9  [        U5      nUR                  S SU05      n[        XGS   SS9  S S S 5        Mq     g ! , (       d  f       M  = f)Nr   r?  
   r{   9)9'v?rg   gPR)v?iO9?)SUMAVERAGEMINr   )rM  r\   Tr   r   r   r   )rl   rm   rn   ro   rp   rq   r   re  rX   r   r@   r   )rs   rv   expected_aggaggrR   rI   rQ   rS   s           r!   test_tree_ensemble_regressor;TestReferenceEvaluatorAiOnnxMl.test_tree_ensemble_regressor?  s9   IIaL  )00<rACG88hZ(hZ@

Sxx(hZ( DBJJW88hZ(hZ@

S88cUSEC51D	
 4C#(H5<<SAc1XT:)#.hhtc1X.a&t< 65 455s   AE""
E1	c           
         [         R                  " S5      R                  S5      R                  [         R                  5      S-  S-
  n[         R
                  " S/S/S//[         R                  S9[         R
                  " S/S/S//[         R                  S9[         R
                  " S/S/S//[         R                  S9[         R
                  " S/S/S//[         R                  S9[         R
                  " S/S/S//[         R                  S9[         R
                  " S/S/S//[         R                  S9S	.nUR                  5        Hn  u  p4U R                  US
9   U R                  SU5      nU R                  USU0SS9  [        U5      nUR                  S SU05      n[        XGS   SS9  S S S 5        Mp     g ! , (       d  f       M  = f)Nr   r?  rh  r{   ri  rg   r   rj  )
BRANCH_LEQ	BRANCH_GT	BRANCH_LT
BRANCH_GTE	BRANCH_EQ
BRANCH_NEQ)rc  rk  r\   Tr   r   r   r   )rl   rm   rn   ro   rp   rq   r   r   re  rX   r   r@   r   )rs   rv   rn  rc  rR   rI   rQ   rS   s           r!   !test_tree_ensemble_regressor_rule@TestReferenceEvaluatorAiOnnxMl.test_tree_ensemble_regressor_ruleQ  s   IIaL  )00<rACG((hZ(4BJJ C53%#"7rzzJhZ(4BJJ ((SEC53%#8

KC53%#"7rzzJ((hZ(4BJJ
 +002ND4(<<UDIc1XT:)#.hhtc1X.a&t< )( 3((s    AF??
G	c                    [        S[        R                  S S /5      n[        S[        R                  S S /5      n[        SS/S/40 SS_SS_S/ S	Q_S
/ SQ_S/ SQ_S/ SQ_S/ SQ_S/ SQ_S/ SQ_S/ SQ_S/ SQ_SS_S/ SQ_S/ SQ_S / S!Q_S"/ S#Q_6n[	        U/S$U/U/5      n[        U[        S%9n[        U5        [        R                  " S&5      R                  S'5      R                  [        R                  5      S(-  S)-
  n[        R                  " S*S+/S,S-/S,S-//[        R                  S.9nU R                  USU0S/S09  [        U5      nUR!                  S SU05      n	[#        XyS1   S2S39  g )4Nr\   r]   rK  r<   r   rL  r   rN  )r   re   r   r   r   r   r   r   re   r   r   r   r   r   rP  )r   r   r   r   r   r   r   r   rf   r   r   r   r   r   rQ  )r   r   r   r   r   r   r   r   r   r   r   r   r   r   rS  )r   r   r   r   r   r   r   r   r   r   r   r   r   r   rU  )rs  rs  rV  rV  rs  rV  rV  rs  rs  rV  rV  rs  rV  rV  rW  )r   rf   r   re   r   r   r   r   rf   r   re   r   r   r   rY  )r   r   r   r   r   r   r   rf   rf   rf   rf   rf   rf   rf   r[  )rf   r   r   r   r   r   r   rf   r   r   r   r   r   r   r]  )   ߌտg   ?rJ  rJ      .ϿrJ  rJ  r|  g   `Y?rJ  rJ  r}  rJ  rJ  r  r   r^  )r   rf   r   rf   r   rf   r   rf   r   rf   r   rf   r   rf   r   rf   r_  )r   r   re   re   r   r   r   r   r   r   re   re   r   r   r   r   r`  )r   r   r   r   r   r   r   r   rf   rf   rf   rf   rf   rf   rf   rf   ra  )rJ        @r{   r   g   @33?g   @33@r{   r   g    q?g   8@r{   r      ?g   @r{   r   r`   ra   r   r?  rh  r{   gir1q?gr1q@r   g      @rg   Tr   r   r   r   ri   rr   s
             r!   &test_tree_ensemble_regressor_2_targetsETestReferenceEvaluatorAiOnnxMl.test_tree_ensemble_regressor_2_targetsj  s   "3(9(9D$<H"3(9(9D$<H#EER
  	R

 R
  JR
 HR
R
0 -W1R
23R
R ESR
T EUR
V IWR
XYR
x "yR
z H{R
| L}R
~ LR
@AR
f E7D1#s3$U&ACIIaL  )00<rACG88!C:Sz:"**
 	c1XT2!#&hhtc1X&a&t4r,   c                    [         R                  " S5      R                  S5      R                  [         R                  5      S-  S-
  nSUS'   [         R
                  USS S 24'   [         R                  " S/S	/S	//[         R                  S
9nU R                  SSS9nU R                  USU0SS9  [        U5      nUR                  S SU05      n[        X%S   SS9  U R                  S[        UR                  S   5      5        g )Nr   r?  rh  r{   r   )r   r   rf   g    j@g    @p@rg   rk  T)rd  r\   r   r   r   r   zop_type=TreeEnsembleRegressor)rl   rm   rn   ro   rp   r   rq   re  rX   r   r@   r   assertInstr	rt_nodes_)rs   rv   rR   rI   rQ   rS   s         r!   $test_tree_ensemble_regressor_missingCTestReferenceEvaluatorAiOnnxMl.test_tree_ensemble_regressor_missing  s    IIaL  )00<rACG$&&!Q$88hZ(hZ@

S44U44Pc1XT2!#&hhtc1X&a&t45s4>>!;L7MNr,   c                    [        S[        R                  S S /5      n[        S[        R                  S S /5      n[        SS/S/S/ SQUU SSS// S	QS
9n[	        U/SU/U/5      n[        U[        S9n[        U5        U$ )Nr\   r]   SVMRegressorr   )r         g    ?g    g    Ü?r  g   ?r   r   g   y?)g   rg    Ҷ?g    !?g    Rg   ̿g   пg   `?g   +g   g    |'?g   jg    ??g   /?g    kg    _?g   ?g   `j?g    hg   @g   `1¯?g   \h)r<   r  kernel_paramskernel_type
n_supportsr  rhosupport_vectorsr`   ra   rb  )r  r  r\   r]   rt   ru   rI   s          r!   _get_test_svm_regressor6TestReferenceEvaluatorAiOnnxMl._get_test_svm_regressor  s    "3(9(9D$<H"3(9(9D$<HEE (#!#$'*
V E7D1#s3$U&AC
r,   c           	      &   [         R                  " S5      R                  S5      R                  [         R                  5      S-  S-
  n/ SQ[         R
                  " S/S/S//[         R                  S	94/ S
Q[         R
                  " S/S/S//[         R                  S	94/ SQ[         R
                  " S/S/S//[         R                  S	94/ SQ[         R
                  " S/S/S//[         R                  S	94S.nUR                  5        Hp  u  nu  pEU R                  US9   U R                  X45      nU R                  USU0SS9  [        U5      nUR                  S SU05      n[        XXS   SS9  S S S 5        Mr     g ! , (       d  f       M  = f)Nr   r?  rh  r{   )g   )?rJ  r   gZrLݿgDK?gGȰ?rg   )g   1?rJ  r   gC?ggd?g9+&|?)g    b?rJ  r   g@?g]7?g.t%??)g   ?rJ  r   gir?gvN@?g(h,?)LINEARPOLYRBFSIGMOID)kernelr\   r   r   r   )rl   rm   rn   ro   rp   rq   r   r   r  rX   r   r@   r   )	rs   rv   expected_kernelr  paramsrR   rI   rQ   rS   s	            r!   test_svm_regressor1TestReferenceEvaluatorAiOnnxMl.test_svm_regressor  sk   IIaL  )00<rACG 09+zG9=RZZP
 /8*xj8*=RZZP
 08*xj8*=RZZP
 08*xj8*=RZZP
$ +:*?*?*A&F&VV,226Bc1XD9)#.hhtc1X.a&t< -, +B,,s   #AF
F	c                    [        S[        R                  S S /5      n[        S[        R                  S /5      n[        S[        R                  S S /5      n[	        SS/SS/40 SS_S/ SQ_S	/ S
Q_S/ SQ_S/ SQ_SSS/_S/ SQ_S/ SQ_S/ SQ_S/ SQ_S/ SQ_S/ SQ_S/ SQ_S / S!Q_S"/ S#Q_S$U _6n[        U/S%U/X#/5      n[        U[        S&9n[        U5        U$ )'Nr\   r#  r]   TreeEnsembleClassifierr<   r   	class_ids)r   r   r   r   r   r   r   class_nodeids)r   re   r   r   rf   re   r   class_treeids)r   r   r   r   rf   rf   rf   class_weights)rJ  g   ?rJ  r{   rJ  rJ  g   m?classlabels_int64sr   rf   rN  )r   re   r   r   r   r   r   r   r   r   r   r   rP  )r   r   r   r   rf   r   r   r   r   r   r   r   rQ  )r   r   r   r   r   r   r   r   r   r   r   r   rS  )r   r   r   r   r   r   r   r   r   r   r   r   rU  )rs  rs  rV  rV  rs  rV  rV  rs  rV  rs  rV  rV  rW  )r   rf   r   re   r   r   r   r   rf   r   re   r   rY  )r   r   r   r   r   r   r   rf   rf   rf   rf   rf   r[  )rf   r   r   r   r   r   r   rf   r   re   r   r   r]  )g   J?   d׿rJ  rJ  g   rJ  rJ  r  rJ  g    rJ  rJ  r  r`   ra   	r   r   rj   r   r   r   r   rk   r   r  r\   r8  r]   rt   ru   rI   s          r!   )_get_test_tree_ensemble_classifier_binaryHTestReferenceEvaluatorAiOnnxMl._get_test_tree_ensemble_classifier_binary+  sF   "3(9(9D$<H#C):):TFC"3(9(9D$<H$E#J6
  	6

 ,6
 06
 06
6
" !"1v#6
$  D%6
& B'6
( X)6
* -Q+6
,-6
H ?I6
J ?K6
L CM6
NO6
j *k6
n E7D1#w7$U&AC
r,   c                    [         R                  " S5      R                  S5      S-
  R                  [         R                  5      S-  n[         R
                  " / SQ[         R                  S9[         R
                  " SS/SS	/SS	//[         R                  S94[         R
                  " / SQ[         R                  S9[         R
                  " S
S
/SS/SS//[         R                  S94[         R
                  " / SQ[         R                  S9[         R
                  " S
S
/SS/SS//[         R                  S94[         R
                  " / SQ[         R                  S9[         R
                  " S
S
/SS/SS//[         R                  S94[         R
                  " / SQ[         R                  S9[         R
                  " SS/SS/SS//[         R                  S94S.nUR                  5        H  u  p4U R                  US9   U R                  U5      nUS;   a  U R                  USU05        [        U5      nUR                  S SU05      n[        US   US   SS9  [        US   US   5        S S S 5        M     g ! , (       d  f       M  = f)Nr   r?  r   r   rf   rf   rg   r   rJ  gRF?gV
\?r{   gSul?gVEɨ?gޭ,Yf?gԴi?gOv3ѿgOv3?r$  r1  )r   r\   rf   r   r   r   )rl   rm   rn   ro   rp   rq   r   r   r   r  rX   r   r@   r   rs   rv   r9  r:  rR   rI   rQ   rS   s           r!   $test_tree_ensemble_classifier_binaryCTestReferenceEvaluatorAiOnnxMl.test_tree_ensemble_classifier_binaryl  s1   YYq\!!'*Q.66rzzBQF "((33Z(H!5(7KL** "((33Z(H!5(7KL** "((33Z(H!5(7KL** "((33Z(H!5(7KL** "((33Z)X!6H8MN**;$
J ,113NDT2DDTJ9$OOC#q2)#.hhtc1X.SV$?SV4 32 422s    A.I;;
J
	c                    [        S[        R                  S S /5      n[        S[        R                  S /5      n[        S[        R                  S S /5      n[	        SS/SS/40 SS_S/ SQ_S	/ S
Q_S/ SQ_S/ SQ_S/ SQ_S/ SQ_S/ SQ_S/ SQ_S/ SQ_S/ SQ_S/ SQ_S/ SQ_S/ S Q_S!/ S"Q_S#U _6n[        U/S$U/X#/5      n[        U[        S%9n[        U5        U$ )&Nr\   r#  r]   r  r<   r   r  )r   rf   r   r   rf   r   r   rf   r   r   rf   r   r   rf   r   r   rf   r   r  )r   r   r   re   re   re   r   r   r   rf   rf   rf   re   re   re   r   r   r   r  )r   r   r   r   r   r   r   r   r   rf   rf   rf   rf   rf   rf   rf   rf   rf   r  )g   ?rJ  g    ?r  g   Q?g   Q?rJ  r{   rJ  r{   rJ  rJ  g   ?rJ  g   ?g   `ZZ?g   xx?g   `ZZ?r  r3  rN  rO  rP  )
rf   r   r   r   r   rf   r   r   r   r   rQ  rR  rS  rT  rU  )
rs  rs  rV  rV  rV  rs  rV  rs  rV  rV  rW  rX  rY  rZ  r[  r\  r]  )
g    B?g   ӿrJ  rJ  rJ  g    rJ  g   rJ  rJ  r  r`   ra   r  r  s          r!   (_get_test_tree_ensemble_classifier_multiGTestReferenceEvaluatorAiOnnxMl._get_test_tree_ensemble_classifier_multi  sF   "3(9(9D$<H#C):):TFC"3(9(9D$<H$E#J=
  	=

 M=
 Q=
 Q=
=
8  )9=
:  >;=
< <==
> N?=
@ -KA=
BC=
Z 9[=
\ 9]=
^ =_=
`a=
x *y=
| E7D1#w7$U&AC
r,   c                    [         R                  " S5      R                  S5      S-
  R                  [         R                  5      S-  n[         R
                  " / SQ[         R                  S9[         R
                  " / SQ/ SQ/ SQ/[         R                  S94[         R
                  " / SQ[         R                  S9[         R
                  " / S	Q/ S
Q/ SQ/[         R                  S94[         R
                  " / SQ[         R                  S9[         R
                  " / SQ/ SQ/ SQ/[         R                  S94[         R
                  " / SQ[         R                  S9[         R
                  " / SQ/ SQ/ SQ/[         R                  S94[         R
                  " / SQ[         R                  S9[         R
                  " / SQ/ SQ/ SQ/[         R                  S94S.nUR                  5        H  u  p4U R                  US9   U R                  U5      nUS:w  a  U R                  USU0SS9  [        U5      nUR                  S SU05      n[        US   US   SS9  [        US   US   5        S S S 5        M     g ! , (       d  f       M  = f)Nr   r?  r   r   rg   )g]QJVU?rJ  guOU?)gkGq::?g0tx?g%W@?)綅bc?gt|8c?g5?)g5*p?r{   g=B͐?)g[p?g2W?gH|?)g
g?gѩ+e?g2VW?)g^)ʥq?gǹMW?g4S?)gT?gL<?gg_y"?)g.4i?g'Hlw?g&)?)g%=NN?rJ  r  )gw1!?r   g^2!)g8Kr?g"tgF0})gi4g{ۡa1ƿg3Mg'r$  r1  r(  r\   h㈵>r   rf   r   r   )rl   rm   rn   ro   rp   rq   r   r   r   r  rX   r   r@   r   r  s           r!   #test_tree_ensemble_classifier_multiBTestReferenceEvaluatorAiOnnxMl.test_tree_ensemble_classifier_multi  s   YYq\!!'*Q.66rzzBQF "((3166
 **
 "((3156
 **
 "((3566
 **
 "((3166
 **
 "((3089
 **
[8
r ,113NDT2CCDI8#OOC#qO=)#.hhtc1X.SV$?SV4 32 422s    A-I::
J		c                    [        S[        R                  S S /5      n[        S[        R                  S /5      n[        S[        R                  S S /5      nU(       a  / SQ/ SQ/ SQSS/S	// S
QU S.nOSS// SQ/ SQSS/S	/S// SQSS/U S.
nU(       d  US	 US	 [	        SS/SS/4SS0UD6n[        U/SU/XE/5      n[        U[        S9n	[        U	5        U	$ )Nr\   r#  r]   r   )g/?[ÿgCeg?g|?g3[?gI䢠gRjW2?ggʵɿg9\vUֿgOgH;OܿgTFd?gۯ gMbP?rJ  r   r      u   `@b?)g~q,gܣƿg;m$˿g좄)r5  r  r  r  prob_aprob_br  r  r   rf   )r   r   r   r   r  r  r  r  )g   @
z?rJ  r   r  g   c?)g   !{?g   g   o?g   g   uԿg   @I6?g   ߬?g   `tg   @M?g   ( g   @g   Gg   c?g   g   ?g   ЎĿg   X^g   @k?g    ?g   hٿg    ƿg   _g     ?g   =?r   )
r5  r  r  r  r  r  r  r  vectors_per_classr  r  r  SVMClassifierr<   r   r`   ra   r  )
r  probabilitylinearr\   r8  r]   r(   rt   ru   rI   s
             r!   _get_test_svm_classifier_binary>TestReferenceEvaluatorAiOnnxMl._get_test_svm_classifier_binary,  s   "3(9(9D$<H#C):):TFC"3(9(9D$<H$0! "3'-../J"0+F2 &'F L!?$-../+,$4 '(V"0G$FL x x cUS#J
7C
GM
 E7D1#w7$U&AC
r,   c                    [         R                  " S5      R                  S5      S-
  R                  [         R                  5      S-  n[         R
                  " / SQ[         R                  S9[         R
                  " SS/SS	/S
S//[         R                  S94[         R
                  " / SQ[         R                  S9[         R
                  " SS/SS/SS//[         R                  S94[         R
                  " / SQ[         R                  S9[         R
                  " SS/SS/SS//[         R                  S94[         R
                  " / SQ[         R                  S9[         R
                  " SS/SS/SS//[         R                  S94[         R
                  " / SQ[         R                  S9[         R
                  " SS/SS/SS//[         R                  S94S.nUR                  5        H  u  p4U R                  US9   U R                  U5      nU R                  US U0S!S"S#9  [        U5      nUR                  S S U05      n[        US$   US$   S"S%9  [        US&   US&   5        S S S 5        M     g ! , (       d  f       M  = f)'Nr   r?  r   r  rg   gW?g$*T7{?gk}
?g,J	?gND?g%?g˵hZ?gc?g-?g9"%?g9?g_L?g5~$O?g=Զa?gJh?gZK}?g?g04?gHQ@g<KPgS!gS!?g(A&Yg(A&Y@r$  r1  r\   Tr  r7  rf   r   r   rl   rm   rn   ro   rp   rq   r   r   r   r  rX   r   r@   r   r  s           r!   test_svm_classifier_binary9TestReferenceEvaluatorAiOnnxMl.test_svm_classifier_binary{  s4   YYq\!!'*Q.66rzzBQF "((3)Hh+?(HAUV** "((3)Hh+?(FAST** "((3)Hh+?(HAUV** "((3)Hh+?(HAUV** "((3	*Y,AHgCVW**;$
J ,113NDT2::4@c1X4dC)#.hhtc1X.SV$?SV4 32 422s    A(I55
J	c           
      x   [         R                  " S5      R                  S5      S-
  R                  [         R                  5      S-  n[         R
                  " / SQ[         R                  S9[         R
                  " SS/SS	/S
S//[         R                  S94[         R
                  " / SQ[         R                  S9[         R
                  " SS/SS/SS//[         R                  S94[         R
                  " / SQ[         R                  S9[         R
                  " SS/SS/SS//[         R                  S94[         R
                  " / SQ[         R                  S9[         R
                  " SS/SS/SS//[         R                  S94S.nUR                  5        H  u  p4U R                  US9   U R                  USS9nUS;  a  U R                  USU0SSS 9  [        U5      nUR                  S SU05      n[        US!   US!   S"S#9  [        US$   US$   5        S S S 5        M     g ! , (       d  f       M  = f)%Nr   r?  r   r  rg   gg?gDR?gDRg5z5@i?g5z5@ig-ͭVc?giTN?g|R?g1Z?g&o?g; ?gQ&E?gv!H?g.?gӹ?g^EF?gDo?r>  r1  Fr  >   r(  r&  r%  r'  r\   Tr  r7  rf   r   r   r   r  r  s           r!   !test_svm_classifier_binary_noprob@TestReferenceEvaluatorAiOnnxMl.test_svm_classifier_binary_noprob  s   YYq\!!'*Q.66rzzBQF "((3"H-!9-!9-
 **
 "((3)Hh+?(HAUV** "((3)Hh+?(HAUV** "((3)Hh+?(HAUV**5!
D ,113NDT2::4U:SPPOOC#qt$OG)#.hhtc1X.SV$?SV4 32 422   0A-H**
H9	c                 2   [         R                  " S5      R                  S5      S-
  R                  [         R                  5      S-  n[         R
                  n[         R                  " / SQ[         R                  S9[         R                  " / SQ/ SQ/ SQ/[         R                  S94[         R                  " / SQ[         R                  S9[         R                  " / S	Q/ S
Q/ SQ/[         R                  S94[         R                  " / SQ[         R                  S9[         R                  " / SQ/ SQ/ SQ/[         R                  S94[         R                  " / SQ[         R                  S9[         R                  " / SQ/ SQ/ SQ/[         R                  S94[         R                  " / SQ[         R                  S9[         R                  " X"SS/X"SS/X"X"//[         R                  S94S.nUR                  5        H  u  pEU R                  US9   U R                  USSS9nU R                  USU0SSS9  [        U5      nUR                  S SU05      n[        US   US   SS9  [        US   US   5        S S S 5        M     g ! , (       d  f       M  = f)Nr   r?  r   r   re   r   rg   gT:g|S:ݿgL0?g5ڋh?gdM*kg~mͿg5|?g[?g-c}sg01"QhygIc&ѿgZ}uÿg9Վ?gMeQE?g֍wG?g-i?gXc'?geO7P?g_BF?gdp?g	i?gqTn?gWۼ?gcw?g~{ڥ?g{G?g?gOc*?g	q?gr)?g1*?g&+?g ?gps?g#jG?gSF;n?Y$9˿E\ۿW\(;oc#Ur$  r1  FTr  r  r\   r  r7  rf   r   r   r   rl   rm   rn   ro   rp   r   rq   r   r   r   r  rX   r   r@   r   	rs   rv   r   r9  r:  rR   rI   rQ   rS   s	            r!   !test_svm_classifier_noprob_linear@TestReferenceEvaluatorAiOnnxMl.test_svm_classifier_noprob_linear  s2   YYq\!!'*Q.66rzzBQFff "((3BBD
 **
 "((3@@@
 **
 "((3?@@
 **
 "((3?@@
 **
 "((39i89i83,
 **
[8
r ,113NDT2::eD ;  c1X4dC)#.hhtc1X.SV$?SV4 32 422   A(J
J	c                 2   [         R                  " S5      R                  S5      S-
  R                  [         R                  5      S-  n[         R
                  n[         R                  " / SQ[         R                  S9[         R                  " / SQ/ SQ/ SQ/[         R                  S94[         R                  " / SQ[         R                  S9[         R                  " / S	Q/ S
Q/ SQ/[         R                  S94[         R                  " / SQ[         R                  S9[         R                  " / SQ/ SQ/ SQ/[         R                  S94[         R                  " / SQ[         R                  S9[         R                  " / SQ/ SQ/ SQ/[         R                  S94[         R                  " / SQ[         R                  S9[         R                  " X"SS/X"SS/X"X"//[         R                  S94S.nUR                  5        H  u  pEU R                  US9   U R                  USSS9nU R                  USU0SSS9  [        U5      nUR                  S SU05      n[        US   US   SS9  [        US   US   5        S S S 5        M     g ! , (       d  f       M  = f)Nr   r?  r   r  rg   r  r  r  r  r  r  r  r  r  r  r  r  r  r$  r1  Tr  r\   r  r7  rf   r   r   r   r  r  s	            r!   test_svm_classifier_linear9TestReferenceEvaluatorAiOnnxMl.test_svm_classifier_linear#  s4    YYq\!!'*Q.66rzzBQFff "((3BBD
 **
 "((3@@@
 **
 "((3?@@
 **
 "((3?@@
 **
 "((39i89i83,
 **
[8
r ,113NDT2::d4 ;  c1X4dC)#.hhtc1X.SV$?SV4 32 422r  c                 z   [        S[        R                  S S /5      n[        S[        R                  S /5      n[        S[        R                  S S /5      nSS// SQ/ SQ/ SQS	S
/S/S/U SS/S.
nU(       d  US	 US	 [	        SS/SS/4SS0UD6n[        U/SU/X4/5      n[        U[        S9n[        U5        U$ )Nr\   r#  r]   r   rf   )g   @V?gO?gD?g)g?33@g?33@g_ff?g      @r   g	  ?g      @g_ff@g?g  `ff@r~  r   )g  Y?rJ  r   r  r  r  g  ~@re   )
r5  r  r  r  r  r  r  r  r  r  r  r  r  r<   r   r`   ra   r  )	r  r  r\   r8  r]   r(   rt   ru   rI   s	            r!   "_get_test_svm_classifier_linear_svATestReferenceEvaluatorAiOnnxMl._get_test_svm_classifier_linear_svl  s    "3(9(9D$<H#C):):TFC"3(9(9D$<H!"A  ;#)**+$%,"#Q9
> x x cUS#J
7C
GM
 E7D1#w7$U&AC
r,   c           
      x   [         R                  " S5      R                  S5      S-
  R                  [         R                  5      S-  n[         R
                  " / SQ[         R                  S9[         R
                  " SS/SS	/S
S//[         R                  S94[         R
                  " / SQ[         R                  S9[         R
                  " SS/SS/SS//[         R                  S94[         R
                  " / SQ[         R                  S9[         R
                  " SS/SS/SS//[         R                  S94[         R
                  " / SQ[         R                  S9[         R
                  " SS/SS/SS//[         R                  S94S.nUR                  5        H  u  p4U R                  US9   U R                  USS9nUS;  a  U R                  USU0SSS 9  [        U5      nUR                  S SU05      n[        US!   US!   S"S#9  [        US$   US$   5        S S S 5        M     g ! , (       d  f       M  = f)%Nr   r?  r   r   rg   g>?Mg>?M@g&Ng&N@gyY|EgyY|E?g(F̱?g ;7m?gsѓ2?gr߅?gvꭁ?g]T?gP@s?gU,~S?g<?g?g˙
?g1?r>  r1  Fr  >   r&  r%  r'  r\   Tr  r7  rf   r   r   r   )rl   rm   rn   ro   rp   rq   r   r   r   r  rX   r   r@   r   r  s           r!   +test_svm_classifier_binary_noprob_linear_svJTestReferenceEvaluatorAiOnnxMl.test_svm_classifier_binary_noprob_linear_sv  s   YYq\!!'*Q.66rzzBQF "((3*Xw,?)XAVW** "((3)Hh+?'7AST** "((3)Hh+?(HAUV** "((3)Hh+?(HAUV**-
< ,113NDT2==dPU=VFFOOC#qt$OG)#.hhtc1X.SV$?SV4 32 422r  c                    [        S[        R                  S S /5      n[        S[        R                  S /5      n/ SQ/ SQSS/U SUS.n[        S	S/S/4S
S0UD6n[	        U/SU/U/5      n[        U[        S9n[        U5        U$ )Nr\   r]   )gzt?g$sJg!7&?r  r  gM]?r   )r  r  r  r  r  r  	one_classr  r<   r   r`   ra   rb  )r  r  r\   r]   r(   rt   ru   rI   s           r!   _get_test_svm_regressor_linear=TestReferenceEvaluatorAiOnnxMl._get_test_svm_regressor_linear  s    "3(9(9D$<H"3(9(9D6B@.#<,"
 .3%#V|VvVE7D1#s3$U&AC
r,   c           	         [         R                  " S5      R                  S5      S-
  R                  [         R                  5      S-  nS[         R
                  " S/S/S//[         R                  S940nUR                  5        Hr  u  p4U R                  US	9   U R                  U5      nU R                  US
U0SSS9  [        U5      nUR                  S S
U05      n[        US   US   SS9  S S S 5        Mt     g ! , (       d  f       M  = f)Nr   r?  r   r   gʾ+?g: ?g&?rg   r1  r\   Tr  r7  r   r   r   rl   rm   rn   ro   rp   rq   r   r   r  rX   r   r@   r   r  s           r!   test_svm_regressor_linear8TestReferenceEvaluatorAiOnnxMl.test_svm_regressor_linear  s    YYq\!!'*Q.66rzzBQFY
XJ7**
 ,113NDT299$?c1X4dC)#.hhtc1X.SV$? 32 422s   AC<<
D	c           	         [         R                  " S5      R                  S5      S-
  R                  [         R                  5      S-  nS[         R
                  " S/S/S//[         R                  S940nUR                  5        Hq  u  p4U R                  US9   U R                  USS	9nU R                  US
U0SSS9  [        U5      nUR                  S S
U05      n[        US   US   SS9  S S S 5        Ms     g ! , (       d  f       M  = f)Nr   r?  r   r   r   rg   r1  rf   )r  r\   Tr  r7  r   r   r   r  r  s           r!   #test_svm_regressor_linear_one_classBTestReferenceEvaluatorAiOnnxMl.test_svm_regressor_linear_one_class  s    YYq\!!'*Q.66rzzBQFUSEC5)**
 ,113NDT299$!9Lc1X4dC)#.hhtc1X.SV$? 32 422s   AC;;
D
	 N)r   r   FF)rs  F)TF)T)r   )3__name__
__module____qualname____firstlineno__staticmethodrX   r%   skipIfr   rw   r~   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r   r;  rD  rG  re  rp  ry  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  __static_attributes__r  r,   r!   r/   r/   ?   ss   6 6p __[)LM' N'  __[)LM' N'. __[)LM"' N"'H __[)LM7 N70 __[)LM)7 N)7V __[)LM' N'* __[)LM' N'* __[)LM' N'* __[)LM' N', __[)LM: N:, __[)LM: N:8 __[)LM: N:< __[)LM: N:0 __[)LM: N:0 __[)LM: N:0 __[)LM5 N5. __[)LM5 N52 __[)LMU5 NU5n __[)LM65 N65p __[)LM-5 N-5^ >CF FP __[)LM= N=" __[)LM= N=0 __[)LM`5 N`5D __[)LM
O N
O 1 1f __[)LM= N=8 > >@ __[)LM/5 N/5b E EN __[)LMC5 NC5J L L\ __[)LM.5 N.5` __[)LM,5 N,5\ __[)LME5 NE5N __[)LMF5 NF5P , ,\ __[)LM(5 N(5T  & __[)LM@ N@$ __[)LM@ N@r,   r/   __main__)	verbosity)(r%   	functoolsr   osr   numpyrl   numpy.testingr   onnxr   r   r	   r
   onnx.checkerr   	onnx.defsr   onnx.helperr   r   r   r   r   r   onnx.referencer   intr   r   r   TARGET_OPSETTARGET_OPSET_MLrk   r"   r-   TestCaser/   r  mainr  r,   r!   <module>r     s        ) @ @ $ (  .  #6*H##NO '*
148( $ &)
/5& " "#a'
r<
(,|_*U	V@X%6%6 @D6 zMMA r,   