o
    $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rd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seedj gZ!e"e! eeejd ejse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   ]/home/ubuntu/veenaModal/venv/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   
iterations	mean_lossr   )rangegetr   r   reporttimesleepconfigr
   r   r	   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_namesave_artifact)name	callbacks   num_samples
   r   r   )r
   r   r   
run_configtune_configparam_space)r   Tunerr   	RunConfigr   
TuneConfigrandintfitmlflow_tracking_urifinish_fasttunerr   r   r   tune_with_callback   s(   



r3   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   log_metricsdictr   r   r   r   r   r   r   r   train_function_mlflow8   s   r6   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   set_tracking_uriset_experimentr   r*   r6   r+   r,   r-   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.)typer?   mlruns)r1   r   r7   )F)#__doc__ostempfiler   r   rayr   ray.air.integrations.mlflowr   r   r   r   r3   r6   r;   __name__argparseArgumentParserparseradd_argumentstrparse_known_argsargs_
smoke_testpathjoin
gettempdirr0   r   search_runsget_experiment_by_nameexperiment_iddfprintr   r   r   r   <module>   sR   

