| import traceback
|
| from collections import OrderedDict
|
| from time import time as ttime
|
| import shutil,os
|
| import torch
|
| from tools.i18n.i18n import I18nAuto
|
|
|
| i18n = I18nAuto()
|
|
|
| def my_save(fea,path):
|
| dir=os.path.dirname(path)
|
| name=os.path.basename(path)
|
| tmp_path="%s.pth"%(ttime())
|
| torch.save(fea,tmp_path)
|
| shutil.move(tmp_path,"%s/%s"%(dir,name))
|
|
|
| def savee(ckpt, name, epoch, steps, hps):
|
| try:
|
| opt = OrderedDict()
|
| opt["weight"] = {}
|
| for key in ckpt.keys():
|
| if "enc_q" in key:
|
| continue
|
| opt["weight"][key] = ckpt[key].half()
|
| opt["config"] = hps
|
| opt["info"] = "%sepoch_%siteration" % (epoch, steps)
|
|
|
| my_save(opt, "%s/%s.pth" % (hps.save_weight_dir, name))
|
| return "Success."
|
| except:
|
| return traceback.format_exc()
|
|
|