vladmandic / sd-extension-chainner

SD.Next extension for additional upscalers based on chaiNNer
GNU General Public License v3.0
13 stars 1 forks source link

AttributeError: 'UpscalerChaiNNer' object has no attribute 'find_model' #3

Closed nthmetaljustice closed 1 year ago

nthmetaljustice commented 1 year ago

When trying to use the chaiNNer upscalers, the following errors occur - and according to the code, I also cannot see "find_model".

08:57:29-090562 INFO Version: app=sd.next updated=2023-10-14 hash=98bf24d7 url=https://github.com/vladmandic/automatic/tree/master

10:10:14-913242 ERROR    gradio call: AttributeError
┌───────────────────────────────────────── Traceback (most recent call last) ─────────────────────────────────────────┐
│ F:\ai\sd.next\automatic\modules\call_queue.py:34 in f                                                               │
│                                                                                                                     │
│   33 │   │   │   try:                                                                                               │
│ > 34 │   │   │   │   res = func(*args, **kwargs)                                                                    │
│   35 │   │   │   │   progress.record_results(id_task, res)                                                          │
│                                                                                                                     │
│ F:\ai\sd.next\automatic\modules\ui_postprocessing.py:16 in submit_click                                             │
│                                                                                                                     │
│   15 def submit_click(tab_index, extras_image, image_batch, extras_batch_input_dir, extras_ba                       │
│ > 16 │   result_images, geninfo, js_info = postprocessing.run_postprocessing(tab_index, extra                       │
│   17 │   return result_images, geninfo, json.dumps(js_info), ''                                                     │
│                                                                                                                     │
│ F:\ai\sd.next\automatic\modules\postprocessing.py:64 in run_postprocessing                                          │
│                                                                                                                     │
│    63 │   │   pp = scripts_postprocessing.PostprocessedImage(image.convert("RGB"))                                  │
│ >  64 │   │   scripts.scripts_postproc.run(pp, args)                                                                │
│    65 │   │   if opts.use_original_name_batch and name is not None:                                                 │
│                                                                                                                     │
│ F:\ai\sd.next\automatic\modules\scripts_postprocessing.py:105 in run                                                │
│                                                                                                                     │
│   104 │   │   │   shared.log.debug(f'postprocess: script={script.name} args={process_args}')                        │
│ > 105 │   │   │   script.process(pp, **process_args)                                                                │
│   106                                                                                                               │
│                                                                                                                     │
│ F:\ai\sd.next\automatic\scripts\postprocessing_upscale.py:91 in process                                             │
│                                                                                                                     │
│    90 │   │   │   return                                                                                            │
│ >  91 │   │   upscaled_image = self.upscale(pp.image, pp.info, upscaler1, upscale_mode, upscal                      │
│    92 │   │   pp.info["Postprocess upscaler"] = upscaler1.name                                                      │
│                                                                                                                     │
│ F:\ai\sd.next\automatic\scripts\postprocessing_upscale.py:68 in upscale                                             │
│                                                                                                                     │
│    67 │   │   else:                                                                                                 │
│ >  68 │   │   │   image = upscaler.scaler.upscale(image, upscale_by, upscaler.data_path)                            │
│    69                                                                                                               │
│                                                                                                                     │
│ F:\ai\sd.next\automatic\modules\upscaler.py:60 in upscale                                                           │
│                                                                                                                     │
│    59 │   │   │   shape = (img.width, img.height)                                                                   │
│ >  60 │   │   │   img = self.do_upscale(img, selected_model)                                                        │
│    61 │   │   │   if shape == (img.width, img.height):                                                              │
│                                                                                                                     │
│ F:\ai\sd.next\automatic\extensions-builtin\sd-extension-chainner\scripts\chainner_model.py:99 in do_upscale         │
│                                                                                                                     │
│    98 │   │   devices.torch_gc()                                                                                    │
│ >  99 │   │   model = self.load_model(selected_model)                                                               │
│   100 │   │   if model is None:                                                                                     │
│                                                                                                                     │
│ F:\ai\sd.next\automatic\extensions-builtin\sd-extension-chainner\scripts\chainner_model.py:74 in load_model         │
│                                                                                                                     │
│    73 │   def load_model(self, path: str):                                                                          │
│ >  74 │   │   info = self.find_model(path)                                                                          │
│    75 │   │   if info is None:                                                                                      │
└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
AttributeError: 'UpscalerChaiNNer' object has no attribute 'find_model'
vladmandic commented 1 year ago

chainner extension is designed for sdnext dev branch will be merged to master today.