Ë
    ÝÍ:jÌ  ã                   óh   — d dl Z d dlmZ d dlZd dlmZmZmZm	Z	 dZ
d„ Zd„ Zd„ Zedk(  r e«        yy)	é    N)ÚPath)Ú
load_modelÚnumpy_helperÚonnx_pbÚ
save_modelé
   c                 óh  — | j                   g}|�r"|j                  d«      } ||«       |j                  D ]õ  }|j                  D ]ä  }|j                  t
        j                  j                  j                  k(  rAt        |j                  t
        j                  «      sJ ‚|j                  |j                  «       |j                  t
        j                  j                  j                  k(  sŒ§|j                  D ]/  }t        |t
        j                  «      sJ ‚|j                  |«       Œ1 Œæ Œ÷ |r�Œ!y y )Nr   )ÚgraphÚpopÚnodeÚ	attributeÚtyper   ÚAttributeProtoÚAttributeTypeÚGRAPHÚ
isinstanceÚgÚ
GraphProtoÚappendÚGRAPHSÚgraphs)ÚmodelÚfuncÚgraph_queuer
   r   Úattrr   s          úv/home/mcse/projects/srt_converter/srt-converter-venv/lib/python3.12/site-packages/onnxruntime/tools/onnx_randomizer.pyÚgraph_iteratorr      sï   € Ø—;‘;�-€KÚ
Ø—‘ Ó"ˆÙˆUŒØ—J‘Jò 	.ˆDØŸ™ò .�Ø—9‘9¤× 6Ñ 6× DÑ D× JÑ JÒJÜ% d§f¡f¬g×.@Ñ.@ÔAÐAÐAØ×&Ñ& t§v¡vÔ.Ø—9‘9¤× 6Ñ 6× DÑ D× KÑ KÓKØ!Ÿ[™[ò .˜Ü)¨!¬W×-?Ñ-?Ô@Ð@Ð@Ø#×*Ñ*¨1Õ-ñ.ñ.ð	.õ ó    c                 óœ  — | j                   D ]½  }t        j                  |«      }|j                  t        kD  sŒ,t
        j                  j                  |j                  «       |j                  «       |j                  ¬«      j                  |j                  «      }t        j                  ||j                  «      }|j                  |«       Œ¿ y )N)Úsize)Úinitializerr   Úto_arrayr    ÚSIZE_THRESHOLDÚnpÚrandomÚuniformÚminÚmaxÚshapeÚastypeÚdtypeÚ
from_arrayÚnameÚCopyFrom)r
   Úi_tensorÚarrayÚrandom_arrayÚo_tensors        r   Úrandomize_graph_initializerr3   %   s”   € Ø×%Ñ%ò (ˆÜ×%Ñ% hÓ/ˆà�:‰:œÓ&ÜŸ9™9×,Ñ,¨U¯Y©Y«[¸%¿)¹)»+ÈEÏKÉKÐ,ÓX×_Ñ_Ð`e×`kÑ`kÓlˆLÜ#×.Ñ.¨|¸X¿]¹]ÓKˆHØ×Ñ˜hÕ'ñ(r   c                  ó2  — t        j                  d¬«      } | j                  dt        dd¬«       | j                  dt        dd¬«       | j                  d	d
dd¬«       | j                  dd
dd¬«       | j	                  «       }d }|j
                  rxt        |j                  «      j                  t        |j                  «      j                  k(  rt        d«      ‚|j                  r"t        |j                  «      j                  dz   }t        |j                  «      j                  j                  dd¬«       t        |j                  |j
                  ¬«      }t        |t         «       t#        ||j                  |j
                  |j                  |¬«       y )Nz&Randomize the weights of an ONNX model)Údescriptionz-mTzinput onnx model path)r   ÚrequiredÚhelpz-ozoutput onnx model pathz--use_external_data_formatFÚ
store_truez%Store or Save in external data format)r6   Úactionr7   z--all_tensors_to_one_filezSave all tensors to one filezNPlease specify output directory with different parent path to input directory.z.data)ÚparentsÚexist_ok)Úload_external_data)Úsave_as_external_dataÚall_tensors_to_one_fileÚlocation)ÚargparseÚArgumentParserÚadd_argumentÚstrÚ
parse_argsÚuse_external_data_formatr   ÚmÚparentÚoÚRuntimeErrorr>   r-   Úmkdirr   r   r3   r   )ÚparserÚargsÚ	data_pathÚ
onnx_models       r   ÚmainrO   /   s[  € Ü×$Ñ$Ð1YÔZ€FØ
×Ñ˜¤3°Ð<SÐÔTØ
×Ñ˜¤3°Ð<TÐÔUØ
×ÑØ$ØØØ4ð	 ô ð ×ÑØ#ØØØ+ð	 ô ð ×ÑÓ€Dà€IØ×$Ò$Ü�—‘‹<×Ñ¤$ t§v¡v£,×"5Ñ"5Ò5ÜÐoÓpÐpØ×'Ò'Ü˜TŸV™V›×)Ñ)¨GÑ3ˆIäˆ�‰ƒL×Ñ×Ñ d°TÐÔ:Ü˜DŸF™F°t×7TÑ7TÔU€JÜ�:Ô:Ô;ÜØØ�‰Ø"×;Ñ;Ø $× <Ñ <Øör   Ú__main__)r@   Úpathlibr   Únumpyr$   Úonnxr   r   r   r   r#   r   r3   rO   Ú__name__© r   r   ú<module>rV      sA   ðó Ý ã ß >Ó >ð
 €ò.ò (ò"ðJ ˆzÒÙ…Fð r   