o
    `۷i!	                     @   sv   d dl Z d dlmZ d dlZd dlmZmZ d dlm	Z	 e j
dddZe	ded	efd
dZdd ZG dd dZdS )    N)Any)MultiAgentBatchSampleBatch)DeveloperAPI   <   )indentwidthobjreturnc                 C   s   t t| S )a  Return a pretty-formatted string for an object.

    This has special handling for pretty-formatting of commonly used data types
    in RLlib, such as SampleBatch, numpy arrays, etc.

    Args:
        obj: The object to format.

    Returns:
        The summarized object.
    )_printerpformat
_summarizer
    r   S/home/ubuntu/vllm_env/lib/python3.10/site-packages/ray/rllib/utils/debug/summary.py	summarize   s   r   c                 C   s^  t | trdd |  D S t| dr| jjt|  dS t | tr*dd | D S t | t	r8t	dd | D S t | t
jr| jd	krMtd
| j| jS | jtksY| jjt
ju rhtd| j| jt| d	 S td| j| jttt
| dttt
| dttt
| dS t | trdt| j| jdS t | trddd |  D dS | S )Nc                 S      i | ]	\}}|t |qS r   r   .0kvr   r   r   
<dictcomp>       z_summarize.<locals>.<dictcomp>_asdict)typedatac                 S   s   g | ]}t |qS r   r   r   xr   r   r   
<listcomp>&   s    z_summarize.<locals>.<listcomp>c                 s   s    | ]}t |V  qd S Nr   r   r   r   r   	<genexpr>(   s    z_summarize.<locals>.<genexpr>r   znp.ndarray({}, dtype={})z!np.ndarray({}, dtype={}, head={})z1np.ndarray({}, dtype={}, min={}, max={}, mean={})   r   )r   policy_batchescountr   c                 S   r   r   r   r   r   r   r   r   E   r   )
isinstancedictitemshasattr	__class____name__r   r   listtuplenpndarraysize_StringValueformatshapedtypeobjectr   str_roundfloatminmaxmeanr   r$   r%   r   r   r   r   r   r      sL   






	
r   c                   @   s   e Zd Zdd Zdd ZdS )r1   c                 C   s
   || _ d S r!   value)selfr=   r   r   r   __init__L   s   
z_StringValue.__init__c                 C   s   | j S r!   r<   )r>   r   r   r   __repr__O   s   z_StringValue.__repr__N)r+   
__module____qualname__r?   r@   r   r   r   r   r1   K   s    r1   )pprinttypingr   numpyr.   ray.rllib.policy.sample_batchr   r   ray.rllib.utils.annotationsr   PrettyPrinterr   r   r   r1   r   r   r   r   <module>   s    .