fix crash when installed models < number columns

1. Fixed display crash when the number of installed models is less than
   the number of desired columns to display them.

2. Added --ckpt_convert option to init file.
This commit is contained in:
Lincoln Stein 2023-02-21 12:09:34 -05:00
parent 3795b40f63
commit 27a2e27c3a
2 changed files with 18 additions and 8 deletions

View File

@ -442,6 +442,13 @@ class editOptsForm(npyscreen.FormMultiPage):
relx=5,
scroll_exit=True,
)
self.ckpt_convert = self.add_widget_intelligent(
npyscreen.Checkbox,
name="Load legacy checkpoint models into memory as diffusers models",
value=old_opts.ckpt_convert,
relx=5,
scroll_exit=True,
)
self.always_use_cpu = self.add_widget_intelligent(
npyscreen.Checkbox,
name="Force CPU to be used on GPU systems",
@ -569,13 +576,14 @@ class editOptsForm(npyscreen.FormMultiPage):
new_opts = Namespace()
for attr in [
"outdir",
"safety_checker",
"free_gpu_mem",
"max_loaded_models",
"xformers",
"always_use_cpu",
"embedding_path",
"outdir",
"safety_checker",
"free_gpu_mem",
"max_loaded_models",
"xformers",
"always_use_cpu",
"embedding_path",
"ckpt_convert",
]:
setattr(new_opts, attr, getattr(self, attr).value)
@ -709,6 +717,7 @@ def write_opts(opts: Namespace, init_file: Path):
--max_loaded_models={int(opts.max_loaded_models)}
--{'no-' if not opts.safety_checker else ''}nsfw_checker
--{'no-' if not opts.xformers else ''}xformers
--{'no-' if not opts.ckpt_convert else ''}ckpt_convert
{'--free_gpu_mem' if opts.free_gpu_mem else ''}
{'--always_use_cpu' if opts.always_use_cpu else ''}
"""

View File

@ -241,7 +241,8 @@ class addModelsForm(npyscreen.FormMultiPage):
def _get_columns(self)->int:
window_height, window_width = curses.initscr().getmaxyx()
return 4 if window_width > 240 else 3 if window_width>160 else 2 if window_width>80 else 1
cols = 4 if window_width > 240 else 3 if window_width>160 else 2 if window_width>80 else 1
return min(cols,len(self.installed_models))
def on_ok(self):
self.parentApp.setNextForm(None)