o
    `۷i                  
   @   s   d dl 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 dd Z	dd Z
edkr}e  Zejd	d
dd e \ZZeje
ejddejrJdndidejdddddeddeddddZe Ze Zedej ejZ ede  dS dS )    N)tune)
Checkpointc                 C   s&   t d d||  d  d |d  S )Ng?d   )timesleep)stepwidthheight r   a/home/ubuntu/vllm_env/lib/python3.10/site-packages/ray/tune/examples/custom_func_checkpointing.pyevaluation_fn   s   
r   c              
   C   s8  d}| d | d }}t  }|rI| ,}ttj|d}t|}W d    n1 s/w   Y  |d d }W d    n1 sDw   Y  t	|dD ]K}t
|||}	t 7}
ttj|
dd}td|i| W d    n1 sxw   Y  t j||	d	t|
d
 W d    n1 sw   Y  qNd S )Nr   r	   r
   zcheckpoint.jsonr      r   w)
iterations	mean_loss)
checkpoint)r   get_checkpointas_directoryopenospathjoinjsonloadranger   tempfileTemporaryDirectorydumpreportr   from_directory)configr   r	   r
   r   checkpoint_dirfstatecurrent_stepintermediate_scoretemp_checkpoint_dirr   r   r   
train_func   s.   

r(   __main__z--smoke-test
store_truezFinish quickly for testing)actionhelphyperband_testtraining_iterationr   
   )namestopr   min   )metricmodenum_samplesr   )stepsr	   r
   )
run_configtune_configparam_spacezBest hyperparameters: zBest checkpoint: )!argparser   r   r   r   rayr   ray.tuner   r   r(   __name__ArgumentParserparseradd_argumentparse_known_argsargs_Tuner	RunConfig
smoke_test
TuneConfigrandint
loguniformtunerfitresultsget_best_resultbest_resultprintr!   r   best_checkpointr   r   r   r   <module>   sJ   

