
    h                     B    S SK rS SKJrJrJr  S SKJr   " S S\5      rg)    N)compute_probitcompute_softmax_zeroexpit)OpRunAiOnnxMlc                   :    \ rS rSr\S 5       r      SS jrSrg)LinearClassifier   c                 j    Ub)  [         R                  " U  Vs/ s H  o2U   PM	     sn5      n X4$ s  snf )z?
Replaces int64 predicted labels by the corresponding
strings.
)nparray)labelscoresclasslabels_ints_stringis       j/var/www/fran/franai/venv/lib/python3.13/site-packages/onnx/reference/ops/aionnxml/op_linear_classifier.py_post_process_predicted_label.LinearClassifier._post_process_predicted_label   s8     #.HH%H%Qa8%HIE} Is   0Nc                 0   UR                   nU[        R                  :w  a  UR                  [        R                  5      n[        R
                  " U5      R                  UR                   5      n[        R
                  " U5      R                  UR                   5      nUR                  SUR                  S   45      R                  n[        R                  " X5      n	Ub  X-  n	[        [        U=(       d    / 5      [        U=(       d    / 5      5      n
UR                  S   S:X  a[  U
S:X  aU  [        R                  " U	R                  S   S4[        R                  S9nU	S S 2S4   * US S 2S4'   U	S S 2S4   US S 2S4'   Un	US:X  a  GOUS:X  a  [        U	5      n	GOUS:X  a_  [        R                  " U	U	R                  SSS	9U	S
9  [        R                  " U	5      n	[        R                   " XR#                  SSS	95      n	OUS:X  a7  [%        U	R                  S   5       H  n['        XS S 24   5      XS S 24'   M     OcUS:X  aR  [%        U	R                  S   5       H5  n[%        U	R                  S   5       H  n[)        XU4   5      XU4'   M     M7     O[+        S5      eU	R                  S   S:  a  [        R,                  " U	SS9nUb9  [        R
                  " U Vs/ s H  oU   PM	     sn[        R.                  S9nX4$ Ub)  [        R
                  " U Vs/ s H  oU   PM	     sn5      nX4$ US:X  a  SOSnUbK  [        R0                  " X:  US   S5      R                  [        R.                  5      R3                  5       nX4$ UbK  [        R0                  " X:  US   S5      R                  [        R.                  5      R3                  5       nX4$ X:  R                  [        R.                  5      R3                  5       nX4$ s  snf s  snf )N      r   )dtypeNONELOGISTICSOFTMAX)axiskeepdims)outSOFTMAX_ZEROPROBITz+Unknown post_transform: '{post_transform}'.)r   g      ? )r   r   float64astypefloat32r   reshapeshapeTdotmaxlenemptyr   subtractexpdividesumranger   r   NotImplementedErrorargmaxint64whereravel)selfxclasslabels_intsclasslabels_stringscoefficients
interceptsmulti_classpost_transformr   r   	n_classes
new_scoresr   jlabels	thresholds                   r   _runLinearClassifier._run   s    BJJ$Axx-44QWW=XXj)009
#++R,<=??(! F,23S9L9RPR5ST	a A%)q.6<<?A"6bjjIJ &q!t}Jq!t%ad|Jq!tFV#z)6]Fy(KK

A
.
 VVF^FYYvzzq1z'EFF~-6<<?+3Fa4LA!t ,x'6<<?+v||A/A#1&A,#?Fa4L 0 , &&STT<<?QYYvA.F+"G1A#6"GrxxX& % %06"J6aq#96"JK"  ,v53I+HHV02B12EqIVBHH%UW   %0HHV02Ea2H"MVBHH%UW   !-55bhh?EEG' #H"Js   "PP )NNNNNN)__name__
__module____qualname____firstlineno__staticmethodr   rC   __static_attributes__rE       r   r   r      s.       H rL   r   )	numpyr   .onnx.reference.ops.aionnxml._common_classifierr   r   r   ,onnx.reference.ops.aionnxml._op_run_aionnxmlr   r   rE   rL   r   <module>rP      s(     
 GS } S rL   