§
    kŠtjÌ  ã                   ót   — 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¦   «          dS dS )	é    N)ÚPath)Ú
load_modelÚnumpy_helperÚonnx_pbÚ
save_modelé
   c                 óò  — | j         g}|rì|                     d¦  «        } ||¦  «         |j        D ]À}|j        D ]¶}|j        t
          j        j        j        k    r;t          |j
        t
          j        ¦  «        sJ ‚|                     |j
        ¦  «         |j        t
          j        j        j        k    r;|j        D ]3}t          |t
          j        ¦  «        sJ ‚|                     |¦  «         Œ4Œ·ŒÁ|°êd S d S )Nr   )ÚgraphÚpopÚnodeÚ	attributeÚtyper   ÚAttributeProtoÚAttributeTypeÚGRAPHÚ
isinstanceÚgÚ
GraphProtoÚappendÚGRAPHSÚgraphs)ÚmodelÚfuncÚgraph_queuer
   r   Úattrr   s          ú_/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/onnxruntime/tools/onnx_randomizer.pyÚgraph_iteratorr      s  € Ø”;�-€KØ
ð .Ø—’ Ñ"Ô"ˆØˆˆU‰ŒˆØ”Jð 	.ð 	.ˆDØœð .ð .�Ø”9¥Ô 6Ô DÔ JÒJÐJÝ% d¤f­gÔ.@ÑAÔAÐAÐAÐAØ×&Ò& t¤vÑ.Ô.Ð.Ø”9¥Ô 6Ô DÔ KÒKÐKØ!œ[ð .ð .˜Ý)¨!­WÔ-?Ñ@Ô@Ð@Ð@Ð@Ø#×*Ò*¨1Ñ-Ô-Ð-Ð-øð.ð	 ð .ð .ð .ð .ð .ó    c                 ó†  — | j         D ]¸}t          j        |¦  «        }|j        t          k    r’t
          j                             |                     ¦   «         | 	                    ¦   «         |j
        ¬¦  «                             |j        ¦  «        }t          j        ||j        ¦  «        }|                     |¦  «         Œ¹d S )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×,Ò,¨U¯YªY©[¬[¸%¿)º)¹+¼+ÈEÌKÐ,ÑXÔX×_Ò_Ð`eÔ`kÑlÔlˆLÝ#Ô.¨|¸X¼]ÑKÔKˆHØ×Ò˜hÑ'Ô'Ð'øð(ð (r   c                  ó  — t          j        d¬¦  «        } |                      dt          dd¬¦  «         |                      dt          dd¬¦  «         |                      d	d
dd¬¦  «         |                      dd
dd¬¦  «         |                      ¦   «         }d }|j        rft          |j        ¦  «        j        t          |j	        ¦  «        j        k    rt          d¦  «        ‚|j        rt          |j	        ¦  «        j        dz   }t          |j	        ¦  «        j                             dd¬¦  «         t          |j        |j        ¬¦  «        }t          |t           ¦  «         t#          ||j	        |j        |j        |¬¦  «         d S )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ÑZÔZ€FØ
×Ò˜¥3°Ð<SÐÑTÔTÐTØ
×Ò˜¥3°Ð<TÐÑUÔUÐUØ
×ÒØ$ØØØ4ð	 ñ ô ð ð ×ÒØ#ØØØ+ð	 ñ ô ð ð ×ÒÑÔ€Dà€IØÔ$ð 4Ý�”‰<Œ<Ô¥$ t¤v¡,¤,Ô"5Ò5Ð5ÝÐoÑpÔpÐpØÔ'ð 	4Ý˜TœV™œÔ)¨GÑ3ˆIåˆŒ�L„LÔ×Ò d°TÐÑ:Ô:Ð:Ý˜DœF°tÔ7TÐUÑUÔU€JÝ�:Õ:Ñ;Ô;Ð;ÝØØŒØ"Ô;Ø $Ô <Øðñ ô ð ð ð r   Ú__main__)r@   Úpathlibr   Únumpyr$   Úonnxr   r   r   r   r#   r   r3   rO   Ú__name__© r   r   ú<module>rV      s«   ðð €€€Ø Ð Ð Ð Ð Ð à Ð Ð Ð Ø >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ð >ð
 €ð.ð .ð .ð (ð (ð (ð"ð "ð "ðJ ˆzÒÐØ€D�F„F€F€F€Fð Ðr   