o
    $is                     @   s  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	 e
eZzd dlZdZW n ey9   ed dZY nw e	dd Ze	d	d
 Ze	dd Ze	dd Ze	dd Ze	dd ZedkrdZeedZd Ze Ze e dk ree ed7 Ze e dk szeeZed ee d d  ed e!ed e"e d d Ze Ze e dk ree ed7 Ze e dk sed ee d d  dS dS )    N)cloudpickle)DeveloperAPITzlz4 not available, disabling sample compression. This will significantly impact RLlib performance. To install lz4, run `pip install lz4`.Fc                   C   s   t S N)LZ4_ENABLED r   r   X/home/ubuntu/veenaModal/venv/lib/python3.10/site-packages/ray/rllib/utils/compression.pycompression_supported   s   r   c                 C   s.   t rt| } tj| } t| d} | S )Nascii)	r   pickledumpslz4framecompressbase64	b64encodedecodedatar   r   r   pack   s
   
r   c                 C   s   t | tjr
t| } | S r   )
isinstancenpndarrayr   r   r   r   r   pack_if_needed)   s   r   c                 C   s(   t rt| } tj| } t| } | S r   )r   r   	b64decoder   r   
decompressr
   loadsr   r   r   r   unpack0   s
   

r   c                 C   s   t | rt| } | S r   )is_compressedr   r   r   r   r   unpack_if_needed9   s   r   c                 C   s   t | tp	t | tS r   )r   bytesstrr   r   r   r   r   @   s   r   __main__i  )    P   r#         zCompression speed: {} MB/sr$   g    .AzCompression ratio: {}   zDecompression speed: {} MB/s)#r   loggingtimenumpyr   rayr   r
   ray.rllib.utils.annotationsr   	getLogger__name__logger	lz4.framer   r   ImportErrorwarningr   r   r   r   r   r   sizeonesreshaper   countstart
compressedprintformatroundlenr   r   r   r   <module>   s`    
	






 