o
    ߥi                     @   s   d dl Z d dlmZmZmZm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lmZ d dlmZmZ d d	lmZ e ZdddZejejejdG dd deZdS )    N)AnyDictOptionalUnion)	OmegaConf)instantiate_from_config)Models)
TorchModel)MODELS)	ModelFileTasks)
get_loggerFc                 C   s   t d|  tj|dd}d|v rt d|d   |d }t| j}|j|dd\}}t|d	krA|rAt d
 t | t|d	krS|rSt d t | |S )NzLoading model from cpu)map_locationglobal_stepzGlobal Step: 
state_dictF)strictr   zmissing keys:zunexpected keys:)LOGGERinfotorchloadr   modelload_state_dictlen)configckptverbosepl_sdsdr   mu r!   c/home/ubuntu/.local/lib/python3.10/site-packages/modelscope/models/cv/image_paintbyexample/model.pyload_model_from_config   s   




r#   )module_namec                       s*   e Zd Zdef fddZdd Z  ZS )StablediffusionPaintbyexample	model_dirc                    sF   t  j|fi | ttj|d}t|tj|d}|| _d S )Nzv1.yamlzpytorch_model.pt)	super__init__r   r   ospathjoinr#   r   )selfr&   kwargsr   r   	__class__r!   r"   r(   (   s   
z&StablediffusionPaintbyexample.__init__c                 C   s
   |  |S )N)r   )r,   inputsr!   r!   r"   forward0   s   
z%StablediffusionPaintbyexample.forward)__name__
__module____qualname__strr(   r1   __classcell__r!   r!   r.   r"   r%   $   s    r%   )F)r)   typingr   r   r   r   r   	omegaconfr   paint_ldm.utilr   modelscope.metainfor   'modelscope.models.base.base_torch_modelr	   modelscope.models.builderr
   modelscope.utils.constantr   r   modelscope.utils.loggerr   r   r#   register_moduleimage_paintbyexampler%   r!   r!   r!   r"   <module>   s    
