
    &`i\                     \    d dl Z d dlZd dlZd dlZd dlmZ dZdZ G d de          Z	d Z
dS )    N)	Trainablemock_trainable
mock_errorc                   *    e Zd ZdZd Zd Zd Zd ZdS )MyTrainableClasszExample agent whose learning curve is a random sigmoid.

    The dummy hyperparameters "width" and "height" determine the slope and
    maximum reward value reached.
    c                     |                     dd          | _        |                     t          d          | _        |                     dd          | _        d| _        d| _        d S )Nsleepr   Fpersistent_error)get_sleep_timeMOCK_ERROR_KEY_mock_error_persistent_errortimesteprestored)selfconfigs     q/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/ray/tune/utils/mock_trainable.pysetupzMyTrainableClass.setup   sW    !::gq11!::ne<<!',>!F!F    c                    | j         r0| j        dk    r%| j        s| j        st	          d| j                  | j        dk    rt          j        | j                   | xj        dz  c_        t          j	        t          | j                  | j                            dd          z            }|| j                            dd          z  }d|iS )Nr   z"Failing on purpose! self.timestep=   widthheightepisode_reward_mean)r   r   r   r   RuntimeErrorr   timer	   nptanhfloatr   r   )r   vs     r   stepzMyTrainableClass.step   s    	H!!' "/3} " FdmFFGGGaJt'(((GE$-((4;??7A+F+FFGG	T[__Xq))) &q))r   c                     t           j                            |d          }t          |d          5 }|                    t          j        d| j        i                     d d d            d S # 1 swxY w Y   d S )N
checkpointwr   )ospathjoinopenwritejsondumpsr   r   checkpoint_dirr'   fs       r   save_checkpointz MyTrainableClass.save_checkpoint/   s    w||NL99$__ 	=GGDJ
DM:;;<<<	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	=s   /A--A14A1c                    t           j                            |d          }t          |d          5 }t	          j        |                                          d         | _        d d d            n# 1 swxY w Y   d| _        d S )Nr$   rr   T)	r&   r'   r(   r)   r+   loadsreadr   r   r-   s       r   load_checkpointz MyTrainableClass.load_checkpoint4   s    w||NL99$__ 	= Jqvvxx00<DM	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= s   2A//A36A3N)__name__
__module____qualname____doc__r   r"   r0   r5    r   r   r   r      sZ           * * *&= = =
    r   r   c                  >    ddl m}   | t          t                     d S )Nr   register_trainable)ray.tuner=   MOCK_TRAINABLE_NAMEr   r<   s    r   register_mock_trainabler@   <   s/    ++++++*,<=====r   )r+   r&   r   numpyr   r>   r   r?   r   r   r@   r:   r   r   <module>rB      s     				           & , , , , ,y , , ,^> > > > >r   