o
    Ti                     @   s,   d dl mZ ddlmZ G dd deZdS )   )DSPolicy   DSVAEc                       s>   e Zd Z fddZdd Zdd Zddd	Zd
d Z  ZS )	VAEPolicyc                    s   t    z-dd l}t|jdr|jjjj| _W d S t|jj	dr*|jj	j| _W d S |jjj| _W d S  t
y?   d | _Y d S w )N    autoencodersAutoencoderKL)super__init__	diffusershasattrmodelsr   autoencoder_klr	   _orig_layer_classvaeImportError)selfr   	__class__ Z/home/ubuntu/.local/lib/python3.10/site-packages/deepspeed/module_inject/containers/vae.pyr      s   
zVAEPolicy.__init__c                 C   s   t || jS N)
isinstancer   r   moduler   r   r   match   s   zVAEPolicy.matchc                 C   s
   t |tS r   )r   r   r   r   r   r   match_replaced!   s   
zVAEPolicy.match_replacedTc                 C   s   t ||dS )N)enable_cuda_graphr   )r   r   r   r   r   r   apply$   s   zVAEPolicy.applyc                 C   s   d S r   r   )r   client_moduler   r   r   	attention)   s   zVAEPolicy.attention)T)	__name__
__module____qualname__r   r   r   r   r!   __classcell__r   r   r   r   r   
   s    
r   N)policyr   #model_implementations.diffusers.vaer   r   r   r   r   r   <module>   s   