|
from clip import CLIP |
|
from encoder import VAE_Encoder |
|
from decoder import VAE_Decoder |
|
from diffusion import Diffusion |
|
|
|
import model_converter |
|
|
|
def preload_models_from_standard_weights(ckpt_path, device): |
|
state_dict = model_converter.load_from_standard_weights(ckpt_path, device) |
|
|
|
encoder = VAE_Encoder().to(device) |
|
encoder.load_state_dict(state_dict['encoder'], strict=True) |
|
|
|
decoder = VAE_Decoder().to(device) |
|
decoder.load_state_dict(state_dict['decoder'], strict=True) |
|
|
|
diffusion = Diffusion().to(device) |
|
diffusion.load_state_dict(state_dict['diffusion'], strict=True) |
|
|
|
clip = CLIP().to(device) |
|
clip.load_state_dict(state_dict['clip'], strict=True) |
|
|
|
return { |
|
'clip': clip, |
|
'encoder': encoder, |
|
'decoder': decoder, |
|
'diffusion': diffusion, |
|
} |