
    ^h                         d dl Z d dlZd dlZ G d d          Z G d de          Z G d de          Z G d d	e          Z G d
 de          Z G d de          Z	 G d d          Z
dS )    Nc                       e Zd Zd Zd ZdS )
BaseObjectc                     i | _         d S N)
customizedselfs    `/var/www/html/auto_sub_bot/venv/lib/python3.11/site-packages/onnxruntime/transformers/metrics.py__init__zBaseObject.__init__   s        c                 \   | j                                         }|                    dd            |                    | j                   |                                D ]1\  }}t          |t                    r|                                ||<   2d |                                D             S )Nr   c                     i | ]
\  }}|||S  r   ).0kvs      r
   
<dictcomp>z&BaseObject.to_dict.<locals>.<dictcomp>   s#    ===A1=1===r   )	__dict__copypopupdater   items
isinstancer   to_dict)r	   default_valuesr   r   s       r
   r   zBaseObject.to_dict   s    ++--<...do..."((** 	0 	0DAq!Z(( 0$%IIKKq!==!5!5!7!7====r   N)__name__
__module____qualname__r   r   r   r   r
   r   r      s2          	> 	> 	> 	> 	>r   r   c            
       R     e Zd Z	 	 	 	 ddedz  dedz  dedz  dedz  f fdZ xZS )		ModelInfoNF	full_nameis_huggingfaceis_text_generation
short_namec                     t                                                       || _        || _        || _        || _        g | _        d S r   )superr   r!   r"   r#   r$   input_shape)r	   r!   r"   r#   r$   	__class__s        r
   r   zModelInfo.__init__   sG     	","4$r   )NFFN)r   r   r   strboolr   __classcell__r(   s   @r
   r    r       s         !%&+*/!% : t !4K	
 $J         r   r    c                   F     e Zd Z	 	 	 ddedz  dedz  dedz  f fdZ xZS )BackendOptionsFNenable_profilingexecution_provideruse_io_bindingc                 r    t                                                       || _        || _        || _        d S r   )r&   r   r/   r0   r1   )r	   r/   r0   r1   r(   s       r
   r   zBackendOptions.__init__.   s9     	 0"4,r   )FNF)r   r   r   r*   r)   r   r+   r,   s   @r
   r.   r.   -   su         ).)-&+		- 	-+	-  $J	- t		- 	- 	- 	- 	- 	- 	- 	- 	- 	-r   r.   c                   j     e Zd Z	 	 	 	 	 	 ddedz  dedz  d	edz  d
edz  dedz  dedz  f fdZ xZS )Configonnxruntime   r   fp32
   backendN
batch_size
seq_length	precisionwarmup_runsmeasured_runsc                     t                                                       || _        || _        || _        || _        || _        || _        t                      | _	        t                      | _        d S r   )r&   r   r9   r:   r;   r<   r=   r>   r    
model_infor.   backend_options)r	   r9   r:   r;   r<   r=   r>   r(   s          r
   r   zConfig.__init__;   sf     	$$"&*#++-//r   )r5   r6   r   r7   r6   r8   )r   r   r   r)   intr   r+   r,   s   @r
   r4   r4   :   s         ,!"!" &"#$&0 0t0 $J0 $J	0
 :0 4Z0 Tz0 0 0 0 0 0 0 0 0 0r   r4   c                   ^     e Zd Z	 	 	 	 	 ddedz  dedz  dedz  dedz  dedz  f
 fdZ xZS )	MetadataNdevicepackage_namepackage_versionplatformpython_versionc                     t                                                       || _        || _        || _        || _        || _        d S r   )r&   r   rE   rF   rG   rH   rI   )r	   rE   rF   rG   rH   rI   r(   s         r
   r   zMetadata.__init__P   sG     	(. ,r   )NNNNN)r   r   r   r)   r   r+   r,   s   @r
   rD   rD   O   s         "#'&*#%)- -d
- Dj- t	-
 *- d
- - - - - - - - - -r   rD   c                   F     e Zd Z	 	 	 ddedz  dedz  dedz  f fdZ xZS )Metrics        latency_ms_meanNthroughput_qpsmax_memory_usage_GBc                 r    t                                                       || _        || _        || _        d S r   )r&   r   rN   rO   rP   )r	   rN   rO   rP   r(   s       r
   r   zMetrics.__init__a   s9     	.,#6   r   )rM   rM   rM   )r   r   r   floatr   r+   r,   s   @r
   rL   rL   `   su         ),'*,/		7 	7	7 	7 #T\		7 	7 	7 	7 	7 	7 	7 	7 	7 	7r   rL   c                       e Zd Z	 	 	 	 ddededededed	ed
edz  dedz  dedz  dedz  fdZdefdZdefdZe	dede
ddfd            Ze	dede
ddfd            ZdS )BenchmarkRecordr6   r8   N
model_namer<   r9   rE   rF   rG   r:   r=   r>   trigger_datec                    t                      | _        t                      | _        t	                      | _        |
p0t          j                                                            d          | _	        || j        j
        _        || j        _        || j        _        || j        _        || j        _        |	| j        _        || j        _        || j        _        || j        _        d S )Nz%Y-%m-%d %H:%M:%S)r4   configrL   metricsrD   metadatadatetimenowstrftimerV   r@   r!   r<   r9   r:   r=   r>   rE   rF   rG   )r	   rU   r<   r9   rE   rF   rG   r:   r=   r>   rV   s              r
   r   zBenchmarkRecord.__init__n   s     hhyy 

(aH,=,A,A,C,C,L,LM`,a,a+5( )%!+"-$1!%%1"(7%%%r   returnc                     | j                                         | j                                        | j                                        | j        dS )N)rX   rZ   rY   rV   )rX   r   rZ   rY   rV   r   s    r
   r   zBenchmarkRecord.to_dict   sJ    k))++--//|++-- -	
 
 	
r   c                 \    t          j        |                                 t                    S )N)default)jsondumpsr   r)   r   s    r
   to_jsonzBenchmarkRecord.to_json   s    z$,,..#6666r   	file_namerecordsc                     |t          |          dk    rd S d |D             }t          j        |          }|                    |d           d S )Nr   c                 6    g | ]}|                                 S r   r   r   records     r
   
<listcomp>z/BenchmarkRecord.save_as_csv.<locals>.<listcomp>   "    666Fv~~666r   F)index)lenpdjson_normalizeto_csv)clsre   rf   rdsdfs        r
   save_as_csvzBenchmarkRecord.save_as_csv   s[    ?c'lla//F66g666s##
		)5	)))))r   c                     |t          |          dk    rd S d |D             }t          |d          5 }t          j        ||dt                     d d d            d S # 1 swxY w Y   d S )Nr   c                 6    g | ]}|                                 S r   ri   rj   s     r
   rl   z0BenchmarkRecord.save_as_json.<locals>.<listcomp>   rm   r   w   )indentra   )ro   openrb   dumpr)   )rs   re   rf   rt   fs        r
   save_as_jsonzBenchmarkRecord.save_as_json   s    ?c'lla//F66g666)S!! 	5QIc1Q4444	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5s   AA#&A#)r6   r6   r8   N)r   r   r   r)   rB   r   dictr   rd   classmethodlistrv   r   r   r   r
   rT   rT   m   sM        "#"#$&#'8 88 8 	8
 8 8 8 $J8 4Z8 Tz8 Dj8 8 8 88
 
 
 
 
7 7 7 7 7 *C *$ *4 * * * [* 5S 54 5D 5 5 5 [5 5 5r   rT   )r[   rb   pandasrp   r   r    r.   r4   rD   rL   rT   r   r   r
   <module>r      sQ        > > > > > > > >     
    
- 
- 
- 
- 
-Z 
- 
- 
-0 0 0 0 0Z 0 0 0*- - - - -z - - -"
7 
7 
7 
7 
7j 
7 
7 
765 65 65 65 65 65 65 65 65 65r   