
    `i              
          U d dl Z d dlZd dlZd dlmZ d dlmZmZ d dlZdZ	e
ed<   dZdZdZd	Zd
ZdZdZdZdZdZej        ej        ej        ej        ej        ej        ej        ej        ej        d	ZdZ e!ed<   dZ"d	Z#dZ$dZ%dZ&dZ'e G d d                      Z(	 d%de)de)dee)         de
fdZ*de j+        de,ee)f         fd Z-d!e
dej.        fd"Z/d#edee         fd$Z0dS )&    N)	dataclass)AnyOptionalzmodel.safetensors.index.json_metadata_fnzmodel-{cpt_idx}-of-{num_files}z0shard-{shard_idx}-model-{cpt_idx}-of-{num_files}z.safetensorsDCP_SHARDING_INFO__metadata__saved_offsetsshapedatadtypedata_offsets)	F16F32F64I8U8I16I32I64BF16g      ?HF_DCP_VERSIONDCP_VERSIONformatpt   shardedc                   F    e Zd ZU dZeed<   ej        ed<   ej        ed<   dS )_HFStorageInfoz#This is the per entry storage info.relative_pathr
   r   N)	__name__
__module____qualname____doc__str__annotations__torchSizer        z/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/torch/distributed/checkpoint/_hf_utils.pyr   r   1   s@         --:;r)   r   indexlargest_indexshard_indexreturnc                 `   |at                               |                     d          |                      d          |                     d                    t          z   S t                              |                      d          |                     d                    t          z   S )N   )	shard_idxcpt_idx	num_files)r2   r3   )SHARDED_FILE_NAMEr   zfillSUFFIX	FILE_NAME)r+   r,   r-   s      r*   _gen_file_namer8   :   s     $$(*0033 
((++*,22155 %  
 	
  
((++-7I7O7OPQ7R7R    	
r)   
file_bytesc                     |                      t                    }t          j        d|          d         }|                      |          }t	          j        |          }||t          z   fS )Nz<Qr   )readNUM_BYTES_FOR_HEADER_LENstructunpackjsonloads)r9   header_len_bytes
header_lenheader_jsonmetadatas        r*   _get_safetensors_file_metadatarE   O   s_     "'?@@t%566q9J//*--Kz+&&Hj#;;<<r)   	dtype_strc                 j    	 t           |          }n## t          $ r t          j                    }Y nw xY w|S N)	DTYPE_MAPKeyErrorr&   get_default_dtype)rF   r   s     r*   
_get_dtyperL   \   sG    *)$ * * *'))* Ls    00rD   c                     t           | v r5| t                    }t          |v rt          j        |t                             S d S rH   )DEFAULT_EXTRA_METADATA_KEYCUSTOM_METADATA_KEYr?   r@   )rD   custom_metadatas     r*   _get_dcp_custom_metadatarQ   e   s>    !X--"#=>/11:o.ABCCC4r)   rH   )1ior?   r=   dataclassesr   typingr   r   r&   r   r$   r%   r7   r4   r6   rO   rN   SAVED_OFFSETS_KEY	SHAPE_KEYDATA_KEY	DTYPE_KEYDATA_OFFSETS_KEYfloat16float32float64int8uint8int16int32int64bfloat16rI   r   floatDCP_VERSION_KEYDCP_SHARDING_INFO_KEY
FORMAT_KEYFORMAT_VALUEr<   SHARDED_DIR_NAMEr   intr8   IOBasetuplerE   r   rL   rQ   r(   r)   r*   <module>rl      s   					   ! ! ! ! ! !                  3c 2 2 2,	F 	 * + # 		!  ===
*
+;;;N
 
	    + 
           BF
 

"
19#

 
 
 
*
=ry 
=U38_ 
= 
= 
= 
=# %+    s x}      r)   