ssube/onnx-web

add support for more ESRGAN models

ssube opened this issue · 0 comments

ssube commented

Some third-party ESRGAN models use different keys, which are not supported by the current converter.

Example keys
        Missing key(s) in state_dict: 
        
        "conv_first.weight", 
        "conv_first.bias", 
        
        "body.0.rdb1.conv1.weight", 
        "body.0.rdb1.conv1.bias", 
        "body.0.rdb1.conv2.weight", 
        "body.0.rdb1.conv2.bias", 
        "body.0.rdb1.conv3.weight", 
        "body.0.rdb1.conv3.bias", 
        "body.0.rdb1.conv4.weight", 
        "body.0.rdb1.conv4.bias", 
        "body.0.rdb1.conv5.weight", 
        "body.0.rdb1.conv5.bias", 
        "body.0.rdb2.conv1.weight", 
        "body.0.rdb2.conv1.bias", 
	...
	"body.22.rdb3.conv5.weight", 
	"body.22.rdb3.conv5.bias", 
	
	"conv_body.weight", 
	"conv_body.bias", 
	"conv_up1.weight", 
	"conv_up1.bias", 
	"conv_up2.weight", 
	"conv_up2.bias", 
	"conv_hr.weight", 
	"conv_hr.bias", 
	"conv_last.weight", 
	"conv_last.bias"




Unexpected key(s) in state_dict: 

	"model.0.weight", 
	"model.0.bias", 
	
	"model.1.sub.0.RDB1.conv1.0.weight", 
	"model.1.sub.0.RDB1.conv1.0.bias", 
	"model.1.sub.0.RDB1.conv2.0.weight", 
	"model.1.sub.0.RDB1.conv2.0.bias", 
	"model.1.sub.0.RDB1.conv3.0.weight", 
	"model.1.sub.0.RDB1.conv3.0.bias", 
	"model.1.sub.0.RDB1.conv4.0.weight", 
	"model.1.sub.0.RDB1.conv4.0.bias", 
	"model.1.sub.0.RDB1.conv5.0.weight", 
	"model.1.sub.0.RDB1.conv5.0.bias", 
	"model.1.sub.0.RDB2.conv1.0.weight", 
	"model.1.sub.0.RDB2.conv1.0.bias", 
	"model.1.sub.0.RDB2.conv2.0.weight", 
	"model.1.sub.0.RDB2.conv2.0.bias",
	...
	"model.1.sub.22.RDB3.conv4.0.weight", 
	"model.1.sub.22.RDB3.conv4.0.bias", 
	"model.1.sub.22.RDB3.conv5.0.weight", 
	"model.1.sub.22.RDB3.conv5.0.bias",
	
	"model.1.sub.23.weight", 
	"model.1.sub.23.bias", 
	
	"model.3.weight", 
	"model.3.bias", 
	"model.6.weight", 
	"model.6.bias", 
	"model.8.weight", 
	"model.8.bias", 
	"model.10.weight", 
	"model.10.bias"
	
	'model.1.sub.23.weight', 
	'model.1.sub.23.bias', 
	'model.2.weight', 
	'model.2.bias', 
	'model.4.weight', 
	'model.4.bias'
])

Add a function to convert them to the expected keys, like we do for SDXL LoRAs.