Commit 503bd3fc authored by AUTOMATIC1111's avatar AUTOMATIC1111

keep order in list of checkpoints when loading model that doesn't have a checksum

parent 9e7de49f
...@@ -27,6 +27,24 @@ checkpoint_alisases = checkpoint_aliases # for compatibility with old name ...@@ -27,6 +27,24 @@ checkpoint_alisases = checkpoint_aliases # for compatibility with old name
checkpoints_loaded = collections.OrderedDict() checkpoints_loaded = collections.OrderedDict()
def replace_key(d, key, new_key, value):
keys = list(d.keys())
d[new_key] = value
if key not in keys:
return d
index = keys.index(key)
keys[index] = new_key
new_d = {k: d[k] for k in keys}
d.clear()
d.update(new_d)
return d
class CheckpointInfo: class CheckpointInfo:
def __init__(self, filename): def __init__(self, filename):
self.filename = filename self.filename = filename
...@@ -91,9 +109,11 @@ class CheckpointInfo: ...@@ -91,9 +109,11 @@ class CheckpointInfo:
if self.shorthash not in self.ids: if self.shorthash not in self.ids:
self.ids += [self.shorthash, self.sha256, f'{self.name} [{self.shorthash}]', f'{self.name_for_extra} [{self.shorthash}]'] self.ids += [self.shorthash, self.sha256, f'{self.name} [{self.shorthash}]', f'{self.name_for_extra} [{self.shorthash}]']
checkpoints_list.pop(self.title, None) old_title = self.title
self.title = f'{self.name} [{self.shorthash}]' self.title = f'{self.name} [{self.shorthash}]'
self.short_title = f'{self.name_for_extra} [{self.shorthash}]' self.short_title = f'{self.name_for_extra} [{self.shorthash}]'
replace_key(checkpoints_list, old_title, self.title, self)
self.register() self.register()
return self.shorthash return self.shorthash
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment