Spaces:
Running
Running
import torch, argparse | |
from model.OneRestore import OneRestore | |
from model.Embedder import Embedder | |
parser = argparse.ArgumentParser() | |
parser.add_argument("--type", type=str, default = 'OneRestore') | |
parser.add_argument("--input-file", type=str, default = './ckpts/onerestore_cdd-11.tar') | |
parser.add_argument("--output-file", type=str, default = './ckpts/onerestore_cdd-11.tar') | |
args = parser.parse_args() | |
if args.type == 'OneRestore': | |
restorer = OneRestore().to("cuda" if torch.cuda.is_available() else "cpu") | |
restorer_info = torch.load(args.input_file, map_location='cuda:0') | |
weights_dict = {} | |
for k, v in restorer_info['state_dict'].items(): | |
new_k = k.replace('module.', '') if 'module' in k else k | |
weights_dict[new_k] = v | |
restorer.load_state_dict(weights_dict) | |
torch.save(restorer.state_dict(), args.output_file) | |
elif args.type == 'Embedder': | |
combine_type = ['clear', 'low', 'haze', 'rain', 'snow',\ | |
'low_haze', 'low_rain', 'low_snow', 'haze_rain',\ | |
'haze_snow', 'low_haze_rain', 'low_haze_snow'] | |
embedder = Embedder(combine_type).to("cuda" if torch.cuda.is_available() else "cpu") | |
embedder_info = torch.load(args.input_file) | |
embedder.load_state_dict(embedder_info['state_dict']) | |
torch.save(embedder.state_dict(), args.output_file) | |
else: | |
print('ERROR!') | |