o
    1 iù  ã                   @   s<  d Z ddlZ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„ Z
dd„ Zdd
d„Zdd„ Zddd„ZedkršddlZe ¡ Zejdddd ejdedd e ¡ \ZZejreej e ¡ d¡ZnejZeeejd ejs€e e d¡j g¡Z!e"e!ƒ eeejd ejsœe e d¡j g¡Z!e"e!ƒ dS dS dS )z5Examples using MLfowLoggerCallback and setup_mlflow.
é    N)Útune)ÚMLflowLoggerCallbackÚsetup_mlflowc                 C   s   d||  d  d |d  S )Nçš™™™™™¹?éd   éÿÿÿÿ© )ÚstepÚwidthÚheightr   r   úl/home/app/PaddleOCR-VL-test/.venv_paddleocr/lib/python3.10/site-packages/ray/tune/examples/mlflow_example.pyÚevaluation_fn   s   r   c                 C   sR   | d | d }}t |  dd¡ƒD ]}t|||ƒ}t ||dœ¡ t d¡ qd S )Nr
   r   Ústepsr   ©Z
iterationsÚ	mean_lossr   )ÚrangeÚgetr   r   ÚreportÚtimeÚsleep©Úconfigr
   r   r	   Zintermediate_scorer   r   r   Útrain_function   s   ûr   Fc              	   C   s\   t jtt jdt| dddgdt jddt  dd	¡t  d
d	¡|r"dnd	dœd}| ¡  d S )NÚmlflowÚexampleT)Útracking_uriÚexperiment_nameZsave_artifact)ÚnameÚ	callbacksé   ©Znum_samplesé
   r   r   )r
   r   r   ©Z
run_configZtune_configZparam_space)r   ÚTunerr   Ú	RunConfigr   Ú
TuneConfigÚrandintÚfit©Úmlflow_tracking_uriÚfinish_fastZtunerr   r   r   Útune_with_callback   s(   ýÿþ
ÿ


ýñr+   c                 C   sn   t | ƒ | d | d }}t|  dd¡ƒD ]}t|||ƒ}tjt|d|d t ||dœ¡ t	 
d¡ qd S )	Nr
   r   r   r   )r   )r	   r   r   )r   r   r   r   r   Zlog_metricsÚdictr   r   r   r   r   r   r   r   Útrain_function_mlflow8   s   ùr-   c              
   C   sp   t  | ¡ t jdd tjttjddtjddt dd¡t d	d¡|r&dnddt  	¡ d
œdœd}| 
¡  d S )NÚmixin_example)r   r   )r   r   r    r!   r   r   )r   r   )r
   r   r   r   r"   )r   Zset_tracking_uriZset_experimentr   r#   r-   r$   r%   r&   Zget_tracking_urir'   r(   r   r   r   Útune_with_setupH   s&   
ÿÿ


þüør/   Ú__main__z--smoke-testÚ
store_truezFinish quickly for testing)ÚactionÚhelpz--tracking-uriz0The tracking URI for the MLflow tracking server.)Útyper3   Zmlruns)r*   r   r.   )F)#Ú__doc__ÚosÚtempfiler   r   Zrayr   Zray.air.integrations.mlflowr   r   r   r   r+   r-   r/   Ú__name__ÚargparseÚArgumentParserÚparserÚadd_argumentÚstrÚparse_known_argsÚargsÚ_Z
smoke_testÚpathÚjoinÚ
gettempdirr)   r   Zsearch_runsZget_experiment_by_nameZexperiment_idÚdfÚprintr   r   r   r   Ú<module>   sR   

ÿýÿÿá