26 lines
		
	
	
		
			762 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			26 lines
		
	
	
		
			762 B
		
	
	
	
		
			Python
		
	
	
	
	
	
import os
 | 
						|
import torch
 | 
						|
 | 
						|
from fcbh_extras.chainner_models.architecture.RRDB import RRDBNet as ESRGAN
 | 
						|
from fcbh_extras.nodes_upscale_model import ImageUpscaleWithModel
 | 
						|
from collections import OrderedDict
 | 
						|
from modules.path import upscale_models_path
 | 
						|
 | 
						|
model_filename = os.path.join(upscale_models_path, 'fooocus_upscaler_s409985e5.bin')
 | 
						|
opImageUpscaleWithModel = ImageUpscaleWithModel()
 | 
						|
model = None
 | 
						|
 | 
						|
 | 
						|
def perform_upscale(img):
 | 
						|
    global model
 | 
						|
    if model is None:
 | 
						|
        sd = torch.load(model_filename)
 | 
						|
        sdo = OrderedDict()
 | 
						|
        for k, v in sd.items():
 | 
						|
            sdo[k.replace('residual_block_', 'RDB')] = v
 | 
						|
        del sd
 | 
						|
        model = ESRGAN(sdo)
 | 
						|
        model.cpu()
 | 
						|
        model.eval()
 | 
						|
    return opImageUpscaleWithModel.upscale(model, img)[0]
 |