+
    G-ji`  ã                   ó  € ^ RI t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIHtHtH	t	H
t
HtHtHt ^ RIHtHt ^ RIHt ]P&                  ! ]4      tR tRR ltRR ltR t. ROtR	^.R
^^.R^^./t ! R R4      tRR ltRR ltR# )é    N)ÚAttributeProtoÚ
GraphProtoÚ
ModelProtoÚ	NodeProtoÚTensorProtoÚhelperÚnumpy_helper)Úinfer_shapesÚinfer_shapes_path)Úversionc           
     ó    € V  Uu. uF=  p\        \        VP                  R4      4      R,          P                  ^4      ^4      NK?  	  up# u upi )zl
Convert numpy float16 to python int.

:param np_list: numpy float16 list
:return int_list: python int list
ÚH:é   NN)ÚintÚbinÚviewÚzfill)Únp_listÚ_s   & Úq/Volumes/fast/ai/experiments/nudenet-smoke/.venv/lib/python3.14/site-packages/onnxruntime/transformers/float16.pyÚ_npfloat16_to_intr      sA   € ñ =DÓD¹G°qŒC”�A—F‘F˜3“KÓ  Õ$×*Ñ*¨2Ó.°Ö2¹GÑDÐDùÒDs   …AAc           	     ó®  € R pV \         P                  ! V ^ 8„  4      ,          P                  ^ ,          ^ 8”  dŸ   V \         P                  ! V ^ 8„  4      ,          P                  4       pV \         P                  ! V ^ 8„  4      ,          P	                  4       pWB8¼  d   \
        P                  RV RV 24       WQ8:  d   \
        P                  RV RV 24       V \         P                  ! V ^ 8  4      ,          P                  ^ ,          ^ 8”  d£   V \         P                  ! V ^ 8  4      ,          P                  4       pV \         P                  ! V ^ 8  4      ,          P	                  4       pWr) 8:  d   \
        P                  RV RV)  24       Wa) 8¼  d   \
        P                  RV RV)  24       \         P                  ! V! ^ W4      W4      p \         P                  ! V! V) V ^ 4      V) V 4      p \         P                  ! V! W \        R4      4      W 4      p \         P                  ! V! \        R4      W) 4      V) V 4      p \         P                  ! V 4      # )a+  
Convert float32 numpy array to float16 without changing sign or finiteness.
Positive values less than min_positive_val are mapped to min_positive_val.
Positive finite values greater than max_finite_val are mapped to max_finite_val.
Similar for negative values. NaN, 0, inf, and -inf are unchanged.
c                 ó8   € \         P                  ! W8  W8  4      # ©N)ÚnpÚlogical_and)ÚaÚbÚcs   &&&r   ÚbetweenÚ&convert_np_to_float16.<locals>.between/   s   € Ü�~Š~˜a™e Q¡UÓ+Ð+ó    zthe float32 number z will be truncated to Úinfz-inf)	r   ÚwhereÚshapeÚmaxÚminÚloggerÚdebugÚfloatÚfloat16)Únp_arrayÚmin_positive_valÚmax_finite_valr    Úpositive_maxÚpositive_minÚnegative_maxÚnegative_mins   &&&     r   Úconvert_np_to_float16r3   '   sò  € ò,ð ”—’˜ A™Ó&Õ'×-Ñ-¨aÕ0°1Ô4Ø¤§¢¨°A©Ó 6Õ7×;Ñ;Ó=ˆØ¤§¢¨°A©Ó 6Õ7×;Ñ;Ó=ˆØÔ)Ü�L‰LÐ.¨|¨nÐ<RÐSaÐRbÐcÔdØÔ+Ü�L‰LÐ.¨|¨nÐ<RÐScÐRdÐeÔfà”—’˜ A™Ó&Õ'×-Ñ-¨aÕ0°1Ô4Ø¤§¢¨°A©Ó 6Õ7×;Ñ;Ó=ˆØ¤§¢¨°A©Ó 6Õ7×;Ñ;Ó=ˆØ˜?Ô*Ü�L‰LÐ.¨|¨nÐ<RÐTbÐSbÐRcÐdÔeØÐ,Ô,Ü�L‰LÐ.¨|¨nÐ<RÐTdÐSdÐReÐfÔgä�xŠx™  8Ó>Ð@PÓ[€HÜ�xŠx™Ð!1Ð 1°8¸QÓ?ÐBRÐARÐT\Ó]€HÜ�xŠx™ ¼%À»,ÓGÈÓb€HÜ�xŠx™¤ f£¨x¸ÓIÈNÈ?Ð\dÓe€HÜ�:Š:�hÓÐr"   c                ó:  € \        V \        4      '       g   \        R\        V 4       24      hV P                  \        P
                  8X  dÏ   \        P                  V n        V P                  '       dS   \        \        P                  ! V P                  4      W4      p\        V4      pW@P                  R&   . V P                  R&   V P                  '       dD   \        P                  ! V P                  RR7      p\        WQV4      pVP                  4       V n        V # )aa  Convert tensor float to float16.

Args:
    tensor (TensorProto): the tensor to convert.
    min_positive_val (float, optional): minimal positive value. Defaults to 1e-7.
    max_finite_val (float, optional): maximal finite value. Defaults to 1e4.

Raises:
    ValueError: input type is not TensorProto.

Returns:
    TensorProto: the converted tensor.
ú3Expected input type is an ONNX TensorProto but got :NNNÚfloat32©Údtype)Ú
isinstancer   Ú
ValueErrorÚtypeÚ	data_typeÚFLOATÚFLOAT16Ú
float_datar3   r   Úarrayr   Ú
int32_dataÚraw_dataÚ
frombufferÚtobytes)Útensorr-   r.   Úfloat16_dataÚint_listÚfloat32_listÚfloat16_lists   &&&    r   Úconvert_tensor_float_to_float16rJ   I   sÚ   € ô �fœk×*Ò*ÜÐNÌtÐTZË|ÈnÐ]Ó^Ð^à×Ñœ;×,Ñ,Ô,Ü&×.Ñ.ˆÔà××ÐÜ0´·²¸&×:KÑ:KÓ1LÐN^ÓoˆLÜ(¨Ó6ˆHØ#+×Ñ˜aÑ Ø#%ˆF×Ñ˜aÑ à�?�?ˆ?äŸ=š=¨¯©À	ÔJˆLä0°ÐQ_Ó`ˆLà*×2Ñ2Ó4ˆFŒOØ€Mr"   c                 óš   € \         P                  ! V 4      P                  p\        P                  ! V P
                  V P                  V4      # r   )r	   Úto_arrayr%   r   Úmake_tensor_value_infoÚnamer<   )rE   r%   s   & r   Úmake_value_info_from_tensorrO   n   s7   € Ü×!Ò! &Ó)×/Ñ/€EÜ×(Ò(¨¯©°f×6FÑ6FÈÓNÐNr"   ÚResizeÚ	GroupNormÚSkipGroupNormc                   óH   a € ] tR t^˜t o RtV 3R lR ltV 3R lR ltRtV tR# )ÚInitializerTrackerz'Class for keeping track of initializer.c                ó    <€ V ^8„  d   QhRS[ /# )r   Úinitializer)r   )ÚformatÚ__classdict__s   "€r   Ú__annotate__ÚInitializerTracker.__annotate__›   s   ø€ ÷ ñ ¡Kñ r"   c                ó.   € Wn         . V n        . V n        R # r   )rV   Ú
fp32_nodesÚ
fp16_nodes)ÚselfrV   s   &&r   Ú__init__ÚInitializerTracker.__init__›   s   € Ø&ÔØˆŒØˆŽr"   c                ó    <€ V ^8„  d   QhRS[ /# )r   Únode)r   )rW   rX   s   "€r   rY   rZ       s   ø€ ÷ )ñ )™Yñ )r"   c                ó†   € V'       d   V P                   P                  V4       R # V P                  P                  V4       R # r   )r\   Úappendr]   )r^   rb   Úis_node_blockeds   &&&r   Úadd_nodeÚInitializerTracker.add_node    s)   € ßØ�O‰O×"Ñ" 4Ö(à�O‰O×"Ñ" 4Ö(r"   )r]   r\   rV   N)	Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r_   rf   Ú__static_attributes__Ú__classdictcell__)rX   s   @r   rT   rT   ˜   s   ø‡ € Ù1÷ð ÷
)ö )r"   rT   c
                ó¨"  € VR8¼  g   Q R4       hV\        \        P                  ! \        P                  4      P                  4      8:  g   Q R4       hVf   / MTp
\        V \        4      '       dÓ   T p\        P                  ! \        P                  4      \        P                  ! R4      8¼  d~   V'       gv   \        P                  ! \        P                  P                  V4      R7      ;_uu_ 4       pVP                   p\#        W½4       \        P$                  ! V4      p RpRRR4       M\        P$                  ! V4      p \        V \&        4      '       g   \)        R\+        V 4       24      hRpV'       gF   \        P                  ! \        P                  4      \        P                  ! R	4      8¼  d	    \,        p Vf   \.        pVf   . p\1        V4      p\1        V4      p\	        R
 V P2                   4       ^R7      p\5        \6        4      pV^
8:  d   ^.VR&   \8        P;                  RV RV RV RV RV RV RV 24       . p. p. p. pVe	   V! V 4      p VP=                  V 4       / p\1        4       p\1        4       pV P>                  P@                   Uu. uFD  pVP*                  PB                  PD                  \F        PH                  8X  g   K8  VP                   NKF  	  ppV P>                  PJ                   Uu. uFD  pVP*                  PB                  PD                  \F        PH                  8X  g   K8  VP                   NKF  	  pp\        V\L        4      '       d6   V Uu. uF  pVV9   g   K  VNK  	  ppV Uu. uF  pVV9   g   K  VNK  	  ppMV'       g   . p. p\O        V P>                  P@                  4       EFJ  w  ppVP                   V9   g   K  R\        V4      ,           pVVVP                   &   VPQ                  VP                   4       R\        V4      ,           pV P>                  PR                  PQ                  4       pVPU                  V4       VVn        \F        PV                  VP*                  PB                  n"        \X        PZ                  ! RVP                   .V.\F        PV                  VR7      .pV P>                  P\                  P_                  V4       VP=                  V4       VPQ                  V4       EKM  	  \O        V P>                  PJ                  4       EF<  w  ppVP                   V9   g   K  R\        V4      ,           p V VVP                   &   VPQ                  VP                   4       R\        V4      ,           pV P>                  PR                  PQ                  4       pVPU                  V4       V Vn        \F        PV                  VP*                  PB                  n"        \X        PZ                  ! RV .VP                   .^VR7      .pV P>                  P\                  P_                  V4       VP=                  V4       VPQ                  V4       EK?  	  / p!V'       EdX   . p"V EFI  p#\        V#\&        4      '       d   V"P=                  V#P>                  4       \        V#\`        4      '       Ed·   V#Pb                   FO  pVPd                  \F        PH                  8X  g   K$  VP                   V!9  g   Q h\g        V4      V!VP                   &   KQ  	  V#P\                   EFF  pVP                   V9   d   K  \i        \k        VP@                  4      4       FD  pVP@                  V,          V9   g   K  VVP@                  V,          ,          VP@                  V&   KF  	  \i        \k        VPJ                  4      4       FD  pVPJ                  V,          V9   g   K  VVPJ                  V,          ,          VPJ                  V&   KF  	  VPl                  V9   ;'       g    VP                   V9   p$\O        VP@                  4       Fx  w  pp V V!9   g   K  T$;'       gG    VVPo                  VPl                  . 4      9   ;'       d     VV
Po                  VPl                  . 4      9  p%V!V ,          Pq                  VV%4       Kz  	  V$'       d   VP=                  V4       EK¶  VPl                  R8X  d]   VPr                   FL  p&V&P                   R8X  g   K  V&Pt                  \F        PH                  8X  g   K7  \F        PV                  V&n:         M	  VPl                  R#9   d¹   Rp'VPr                   FN  p&V&P                   R8X  g   K  Rp'V&Pt                  \F        PH                  8X  g   K9  \F        PV                  V&n:        KP  	  VPl                  R$9   dH   V''       g@   VPr                  P_                  \X        Pv                  ! R\F        PV                  4      .4       VPl                  V9  g   VPl                  V
9   d(   VPr                   F  p&V"P=                  V&4       K  	  EK5  VP=                  V4       EKI  	  \        V#\x        4      '       dŽ   V"P=                  V#Pz                  4       V#P|                   F  pV"P=                  V4       K  	  V#P~                  PU                  \�        V#P~                  W4      4       V#P‚                   F  p\�        VW4      pK  	  \        V#\`        4      '       g   EK¾  \„        P†                  ! V#P@                  V#PJ                  V#PR                  4       EFP  pVP*                  PB                  PD                  \F        PH                  8X  dL   VP                   V9  d;   \F        PV                  VP*                  PB                  n"        VP=                  V4       VP*                  P‰                  R4      '       g   K¥  VP*                  PŠ                  PD                  PB                  PD                  \F        PH                  8X  g   Kî  VP                   V9  g   EK  \F        PV                  VP*                  PŠ                  PD                  PB                  n"        VP=                  V4       EKS  	  EKL  	  T"pEK`  V!P�                  4        Fž  p(V'       g   V(PŽ                  '       g   K  \�        V(Pb                  W4      V(n1        VP=                  \‘        V(Pb                  4      4       V(P’                  '       g   Kr  V'       d   K|  \8        P•                  RV(PŽ                   24       K   	  V EFG  p)\O        V)P@                  4       EF)  w  pp VVV)Pl                  ,          9  g"   VV
Po                  V)Pl                  . 4      9   d   KB  V Fá  p*V V*P                   8X  g   K  V P>                  PR                  PQ                  4       pVPU                  V*4       V R,           pVVn        \F        PH                  VP*                  PB                  n"        V R ,           p\X        PZ                  ! RV .V.^VR7      .pV P>                  P\                  P_                  V4       VV)P@                  V&    EK'  	  EK,  	  EKJ  	  V	'       d   \F        P–                  M\F        PH                  p+V EF$  p)\i        \k        V)P@                  4      4       Fî  pV)P@                  V,          p V FÒ  p*V V*P                   8X  g   K  V P>                  PR                  PQ                  4       pVPU                  V*4       V R,           pVVn        V+VP*                  PB                  n"        V R ,           p\X        PZ                  ! RV .V.V+VR7      .pV P>                  P\                  P_                  V4       VV)P@                  V&    Kì  	  Kð  	  \i        \k        V)PJ                  4      4       Fî  pV)PJ                  V,          p,V FÒ  p*V,V*P                   8X  g   K  V P>                  PR                  PQ                  4       pVPU                  V*4       V,R!,           p-V-Vn        V+VP*                  PB                  n"        V,R",           p\X        PZ                  ! RV-.V,.^
VR7      .pV P>                  P\                  P_                  V4       V-V)PJ                  V&    Kì  	  Kð  	  EK'  	  V #   + '       g   i     ELö; i  i ; iu upi u upi u upi u upi )%aS  Convert tensor float type in the input ONNX model to tensor float16.

Args:
    model (ModelProto or str): The ONNX model or path of the model to convert.
    min_positive_val (float, optional): minimal positive value. Defaults to 5.96e-08.
    max_finite_val (float, optional): maximal finite value of float16. Defaults to 65504.
    keep_io_types (Union[bool, List[str]], optional): It could be boolean or a list of float32 input/output names.
                                                      If True, model inputs/outputs should be left as float32.
                                                      Defaults to False.
    disable_shape_infer (bool, optional): Skips running onnx shape/type inference.
                                          Useful if shape inference has been done. Defaults to False.
    op_block_list (List[str], optional): List of op types to leave as float32.
                                         Defaults to None, which will use `float16.DEFAULT_OP_BLOCK_LIST`.
    node_block_list (List[str], optional): List of node names to leave as float32. Defaults to None.
    force_fp16_initializers(bool): force converting all float initializers to float16.
                                   Default to false, which will convert only the one needed to avoid precision loss.
    force_fp16_inputs(Dict[str, List[int]]): Force the conversion of the inputs of some operators to float16, even if
                                             this script's preference it to keep them in float32.
Raises:
    ValueError: input type is not ModelProto.

Returns:
    ModelProto: converted model.
çÛ"•“\ÿo>zginvalid min_positive_val. smallest positive float16 value: subnormal 5.96e-08, and normalized 6.104e-05z4invalid max_finite_val. largest float16 value: 65504Nz1.8.0)ÚdirTz$Expected an ONNX ModelProto but got z1.2.0c              3   ó^   "  € T F#  qP                   R9   g   K  VP                  x € K%  	  R# 5i)Ú N)rs   zai.onnx)Údomainr   )Ú.0Úos   & r   Ú	<genexpr>Ú+convert_float_to_float16.<locals>.<genexpr>ô   s!   é € Ð[Ñ); A¿x¹xÈ?Ñ?Z”i�a—i–iÓ);ùs   ‚-™-)ÚdefaultrP   z"fp16 parameters: min_positive_val=z max_finite_val=z keep_io_types=z disable_shape_infer=z op_block_list=z node_block_list=z force_fp16_initializers=Úgraph_input_cast_Úgraph_input_castÚCast)ÚtorN   Úgraph_output_cast_Úgraph_output_castr}   Fr8   Úsequence_typezXinitializer is used by both fp32 and fp16 nodes. Consider add these nodes to block list:Ú_cast_to_fp32Ú_cast_to_fp32_nodeÚ_cast_to_fp16Ú_cast_to_fp16_node)ÚEyeLikeÚMultinomialÚRandomNormalÚRandomNormalLikeÚRandomUniformÚRandomUniformLikeÚSequenceEmptyÚ	Bernoulli)r‡   r‰   r‹   )Lr*   r   Úfinfor+   r&   r9   Ústrr   ÚparseÚonnxÚ__version__ÚtempfileÚNamedTemporaryFileÚosÚpathÚdirnamerN   r   Úloadr   r:   r;   r
   ÚDEFAULT_OP_BLOCK_LISTÚsetÚopset_importÚdictÚALWAYS_FLOAT_INPUTSr(   r)   rd   ÚgraphÚinputÚtensor_typeÚ	elem_typer   r=   ÚoutputÚlistÚ	enumerateÚaddÚ
value_infoÚCopyFromr>   r   Ú	make_noderb   Úextendr   rV   r<   rT   ÚrangeÚlenÚop_typeÚgetrf   Ú	attributeÚiÚmake_attributer   ÚgÚgraphsÚtrJ   ÚtensorsÚ	itertoolsÚchainÚHasFieldr€   Úvaluesr]   rO   r\   ÚinfoÚBFLOAT16).Úmodelr-   r.   Úkeep_io_typesÚdisable_shape_inferÚop_block_listÚnode_block_listÚforce_fp16_initializersÚforce_fp16_inputsÚ#use_bfloat16_as_blocked_nodes_dtypeÚforce_fp16_inputs_dictÚ
model_pathÚtmpfileÚshape_infer_model_pathÚfunc_infer_shapeÚ
onnx_opsetÚalways_float_inputsÚqueueÚvalue_info_listÚ	node_listÚmixed_float_type_node_listÚname_mappingÚgraph_io_to_skipÚio_castsÚnÚfp32_inputsÚfp32_outputsr®   Úoutput_nameÚ	node_nameÚnew_value_infoÚnew_nodeÚ
input_nameÚfp32_initializersÚ
next_levelÚqre   Úuse_fp32_weightÚattrÚ	has_dtypeÚvaluerb   r¥   Úaccuracy_typer¡   Úoutput_cast_names.   &&&&&&&&&&                                    r   Úconvert_float_to_float16rá   §   s¢  € ðH ˜xÔ'ð ØqóÐ'ð œU¤2§8¢8¬B¯J©JÓ#7×#;Ñ#;Ó<Ô<ÐtÐ>tÓtÐ<à#4Ò#<™RÐBSÐä�%œ×ÒØˆ
Ü�=Š=œ×)Ñ)Ó*¬g¯mªm¸GÓ.DÔD×M`ä×,Ò,´·±·±ÀÓ1L×MÕMÐQXØ)0¯©Ð&ä! *ÔEÜŸ	š	Ð"8Ó9�Ø&*Ð#÷ NÐMô —I’I˜jÓ)ˆEä�eœZ×(Ò(ÜÐ?ÄÀUÃ¸}ÐMÓNÐNàÐß¤7§=¢=´×1AÑ1AÓ#BÄgÇmÂmÐT[ÓF\Ô#\ð	Ü+Ðàð ÒÜ-ˆØÒØˆÜ˜Ó&€MÜ˜/Ó*€Oô
 Ñ[¨×);Ò);Ó[ÐegÔh€JÜÔ2Ó3ÐØ�RÔØ)*¨Ð˜HÑ%ä
‡L�LØ
,Ð-=Ð,>Ð>NÈ~ÐN^Ð^mÐn{Ðm|ð  }Rð  Sfð  Rgð  gvð  wDð  vEð  EVð  Wfð  Vgð  g@ð  AXð  @Yð  	Zôð
 €EØ€OØ€Ið
 "$Ðð Ò#Ù  Ó'ˆØ	‡L�L�ÔØ€LÜ“uÐÜ‹u€Hà#(§;¡;×#4Ò#4ÓjÑ#4˜a¸¿¹×8JÑ8J×8TÑ8TÔXc×XiÑXiÑ8i”6�1—6”6Ñ#4€KÐjØ$)§K¡K×$6Ò$6ÓlÑ$6˜q¸!¿&¹&×:LÑ:L×:VÑ:VÔZe×ZkÑZkÑ:k”F�A—F”FÑ$6€LÐlÜ�-¤×&Ò&Ù"-ÓD¡+˜Q°°mÑ1C—q�q¡+ˆÐDÙ#/ÓF¡<˜a°1¸Ñ3EŸ˜¡<ˆÐFˆßØˆØˆä˜%Ÿ+™+×+Ñ+×,‰ˆˆ1Ø�6‰6�[Ö Ø-´°A³Õ6ˆKØ#.ˆL˜Ÿ™Ñ Ø× Ñ  §¡Ô(à*¬S°«VÕ3ˆIØ"Ÿ[™[×3Ñ3×7Ñ7Ó9ˆNØ×#Ñ# AÔ&Ø"-ˆNÔÜ8C×8KÑ8KˆN×Ñ×+Ñ+Ô5ä×(Ò(¨°!·&±&°¸K¸=Ì[×M`ÑM`ÐgpÔqÐrˆHØ�K‰K×Ñ×#Ñ# HÔ-Ø×"Ñ" >Ô2Ø�L‰L˜×#ñ -ô" ˜%Ÿ+™+×,Ñ,×-‰ˆˆ1Ø�6‰6�\Ö!Ø-´°A³Õ6ˆJØ#-ˆL˜Ÿ™Ñ Ø× Ñ  §¡Ô(à+¬c°!«fÕ4ˆIà"Ÿ[™[×3Ñ3×7Ñ7Ó9ˆNØ×#Ñ# AÔ&Ø",ˆNÔÜ8C×8KÑ8KˆN×Ñ×+Ñ+Ô5Ü×(Ò(¨°*°ÀÇÁ¸xÈAÐT]Ô^Ð_ˆHØ�K‰K×Ñ×#Ñ# HÔ-Ø×"Ñ" >Ô2Ø�L‰L˜×#ñ .ð" 8:Ðß
ˆ%Øˆ
ÜˆAä˜!œZ×(Ò(Ø×!Ñ! !§'¡'Ô*ä˜!œZ×(Ó(ØŸœ�AØ—{‘{¤k×&7Ñ&7Ö7Ø Ÿv™vÐ->Ô>Ð>Ð>Ü4FÀqÓ4IÐ)¨!¯&©&Ó1ñ 'ð
 Ÿ��Að —v‘v Ô)Ù Ü"¤3 q§w¡w£<Ö0˜ØŸ7™7 1�:¨Ö5Ø)5°a·g±g¸aµjÕ)A˜AŸG™G A›Jñ 1ô #¤3 q§x¡x£=Ö1˜ØŸ8™8 A�;¨,Ö6Ø*6°q·x±xÀµ{Õ*C˜AŸH™H Q›Kñ 2ð '(§i¡i°=Ñ&@×&]Ð&]ÀAÇFÁFÈoÑD]�OÜ)2°1·7±7Ö);™˜˜:Ø%Ð):Ö:à.=÷ /ð /Ø !Ð%8×%<Ñ%<¸Q¿Y¹YÈÓ%KÑ K÷ !Wð !WØ$%Ð-C×-GÑ-GÈÏ	É	ÐSUÓ-VÑ$Vð ,ð .¨jÕ9×BÑBÀ1ÀoÖVñ *<÷ 'Ø!×(Ñ(¨×+àŸ9™9¨Ô.Ø()¯¬ Ø#'§9¡9°Ö#4¸¿¹Ä;×CTÑCTÖ9TÜ-8×-@Ñ-@ D¤FÙ$)ñ )4ð
 Ÿ9™9ð 	)ô 	ð ).˜IØ()¯¬ Ø#'§9¡9°Ö#7Ø04 IØ'+§v¡v´×1BÑ1BÖ'BÜ1<×1DÑ1D¨®ñ	 )4ð !"§	¡	Ð-_Ô _×irØ !§¡× 2Ñ 2´F×4IÒ4IÈ'ÔS^×SfÑSfÓ4gÐ3hÔ ið Ÿ9™9Ð,?Ô?À1Ç9Á9ÐPfÔCfØ()¯¬ Ø *× 1Ñ 1°$Ö 7ô )4ð 7×=Ñ=¸a×@ñu  ô| ˜!œ^×,Ò,Ø×!Ñ! !§#¡#Ô&ØŸœ�AØ×%Ñ% aÖ(ñ "à—‘—‘Ô<¸Q¿S¹SÐBRÓcÔdØŸœ�AÜ7¸Ð;KÓ\’Añ #ô ˜!œZ×(Õ(ô #Ÿš¨¯©°!·(±(¸A¿L¹L×I�AØ—v‘v×)Ñ)×3Ñ3´{×7HÑ7HÔHØŸ6™6Ð)9Ô9Ü;F×;NÑ;N˜AŸF™F×.Ñ.Ô8Ø+×2Ñ2°1Ô5Ø—v‘v—‘ ×7Ô7ØŸ6™6×/Ñ/×9Ñ9×EÑE×OÑOÔS^×SdÑSdÖdØ Ÿv™vÐ-=×=ÜWb×WjÑWj §¡× 4Ñ 4× >Ñ >× JÑ JÔ TØ /× 6Ñ 6°q× 9ô Jñk ð@ ‹à"×)Ñ)Ö+ˆç" e×&6×&6Ò&6Ü ?À×@QÑ@QÐScÓ tˆEÔØ×"Ñ"Ô#>¸u×?PÑ?PÓ#QÔRØ××Ò×(?Ñ(?Ü—‘ØnÐot×oÑoð  oAð  Böñ ,ô +ˆÜ& t§z¡z×2‰MˆAˆzØÐ+¨D¯L©LÕ9Ô9¸QÐBX×B\ÑB\Ð]a×]iÑ]iÐkmÓBnÔ=nÙÛ-�
Ø §¡Ö0à%*§[¡[×%;Ñ%;×%?Ñ%?Ó%A�NØ"×+Ñ+¨JÔ7Ø",¨Õ">�KØ*5�NÔ'Ü@K×@QÑ@Q�N×'Ñ'×3Ñ3Ô=à *Ð-AÕ A�IÜ &× 0Ò 0°¸*¸ÈÀ}ÐYZÐajÔ kÐl�HØ—K‘K×$Ñ$×+Ñ+¨HÔ5à$/�D—J‘J˜q‘MÛô .ô 3ñ +÷( -P”K×(Ò(ÔU`×UfÑUf€Mäˆô ”s˜4Ÿ:™:“Ö'ˆAØŸ™ A�ˆJÛ-�
Ø §¡Ö0à%*§[¡[×%;Ñ%;×%?Ñ%?Ó%A�NØ"×+Ñ+¨JÔ7Ø",¨Õ">�KØ*5�NÔ'Ø@M�N×'Ñ'×3Ñ3Ô=à *Ð-AÕ A�IÜ &× 0Ò 0°¸*¸ÈÀ}ÐYfÐmvÔ wÐx�HØ—K‘K×$Ñ$×+Ñ+¨HÔ5à$/�D—J‘J˜q‘MÚó .ñ (ô& ”s˜4Ÿ;™;Ó'Ö(ˆAØ—[‘[ •^ˆFÛ-�
Ø˜ZŸ_™_Ö,à%*§[¡[×%;Ñ%;×%?Ñ%?Ó%A�NØ"×+Ñ+¨JÔ7Ø'-°Õ'?Ð$Ø*:�NÔ'Ø@M�N×'Ñ'×3Ñ3Ô=à &Ð)=Õ =�IÜ &× 0Ò 0°Ð:JÐ9KÈfÈXÐZ\ÐclÔ mÐn�HØ—K‘K×$Ñ$×+Ñ+¨HÔ5à%5�D—K‘K ‘NÚó .ô )ñ/ ðP €L÷e N×MÐMûð" üòP kùÚlùâDùÚFsV   Ã30AD'Æ7AD; Ê5AE ËAE Ë?5AEÌ9AEÍ%	AE
Í3AE
Í?	AEÎAEÁD'AD8	ÁD;AD=c                ó@  € \        V \        4      '       g   \        R\        V 4       24      hV P                  \        P
                  8w  d   \        R4      hRpV P                  '       d!   \        P                  ! V P                  4      pV P                  '       d#   \        P                  ! V P                  RR7      pVf   \        R4      h\        W1V4      p\        P                  ! \        P                  ! V\        P                  ! V4      ,
          4      4      # )zSMeasure the maximum absolute difference after converting a float tensor to float16.r5   z#Expected tensor data type is float.Nr6   r7   zexternal data not loaded!)r9   r   r:   r;   r<   r=   r?   r   r@   rB   rC   ÚRuntimeErrorr3   ÚamaxÚabsr6   )rE   r-   r.   Úfloat32_datarF   s   &&&  r   Úfloat_to_float16_max_diffrç   ë  sÍ   € ä�fœk×*Ò*ÜÐNÌtÐTZË|ÈnÐ]Ó^Ð^Ø×Ñœ;×,Ñ,Ô,ÜÐ>Ó?Ð?à€LØ××ÐÜ—x’x × 1Ñ 1Ó2ˆà‡‡€Ü—}’} V§_¡_¸IÔFˆàÒÜÐ6Ó7Ð7ä(¨ÈÓX€LÜ�7Š7”2—6’6˜,¬¯ª°LÓ)AÕAÓBÓCÐCr"   )rp   ç     üï@)ÚArrayFeatureExtractorÚ	BinarizerÚCastMapÚCategoryMapperÚDictVectorizerÚFeatureVectorizerÚImputerÚLabelEncoderÚLinearClassifierÚLinearRegressorÚ
NormalizerÚOneHotEncoderrŠ   ÚSVMClassifierÚSVMRegressorÚScalerÚTreeEnsembleClassifierÚTreeEnsembleRegressorÚTreeEnsembleÚZipMapÚNonMaxSuppressionÚTopKÚRoiAlignÚRangeÚCumSumÚMinÚMaxÚUpsample)	rp   rè   FFNNFNF)r´   Úloggingr”   r’   Únumpyr   r�   r   r   r   r   r   r   r	   Úonnx.shape_inferencer
   r   Ú	packagingr   Ú	getLoggerrh   r(   r   r3   rJ   rO   r˜   rœ   rT   rá   rç   © r"   r   Ú<module>r
     s�   ðó Û Û 	Û ã Û ß e× eÑ eß @Ý à	×	Ò	˜8Ó	$€òEô ôD"òJOò
Ð ðD   !  k°A°q°6¸?ÈQÐPQÈFÐSÐ ÷)ñ )ôAöH
Dr"   