o
    1 i	                     @   s   d Z ddlZddlmZ ddlmZ ddlmZ ddlm	Z	 dd Z
d	d
 ZedkrddlZddlZe Zejdddd e \ZZe	ejjdZeeddZe Zejeejddeeejrbdnddejdddeddeddeddgdd Z e ! Z"e#d!e"$ j% dS dS )"zThis example demonstrates the usage of Nevergrad with Ray Tune.

It also checks that it is usable with a separate scheduler.

Requires the Nevergrad library to be installed (`pip install nevergrad`).
    N)tune)AsyncHyperBandScheduler)ConcurrencyLimiter)NevergradSearchc                 C   s   d||  d  d |d  S )N皙?d    )stepwidthheightr	   r	   o/home/app/PaddleOCR-VL-test/.venv_paddleocr/lib/python3.10/site-packages/ray/tune/examples/nevergrad_example.pyevaluation_fn   s   r   c                 C   sN   | d | d }}t | d D ]}t|||}t||d td qd S )Nr   r   steps)Z
iterations	mean_lossr   )ranger   r   reporttimesleep)configr   r   r
   Zintermediate_scorer	   r	   r   easy_objective   s   r   __main__z--smoke-test
store_truezFinish quickly for testing)actionhelp)Z	optimizer   )Zmax_concurrentr   min
   2   )ZmetricmodeZ
search_alg	schedulerZnum_samples	nevergrad)namer      iZrelutanh)r   r   r   Z
activation)Ztune_configZ
run_configZparam_spacez!Best hyperparameters found were: )&__doc__r   Zrayr   Zray.tune.schedulersr   Zray.tune.searchr   Zray.tune.search.nevergradr   r   r   __name__argparser!   ngArgumentParserparseradd_argumentparse_known_argsargs_Z
optimizersZ
OnePlusOnealgor    ZTunerZ
TuneConfigZ
smoke_testZ	RunConfiguniformchoiceZtunerfitresultsprintZget_best_resultr   r	   r	   r	   r   <module>   sP    	


