ssube/onnx-web

using multistep schedulers with panorama causes an error

ssube opened this issue · 0 comments

ssube commented

Using any of the multisteps schedulers with the panorama pipeline eventually causes an error where the scheduler runs out of steps:

Traceback (most recent call last):
  File "/opt/onnx-web/api/onnx_web/chain/pipeline.py", line 244, in __call__
    stage_result = stage_pipe.run(                    
  File "/opt/onnx-web/api/onnx_web/chain/source_txt2img.py", line 144, in run
    output = pipe(                                                                                                                                                                                                                                                           
  File "/opt/onnx-web/api/onnx_web/diffusers/pipelines/panorama_xl.py", line 953, in __call__                                                                                                                                                                                
    return StableDiffusionXLPanoramaPipelineMixin.__call__(self, *args, **kwargs)                                                                                                                                                                                            
  File "/opt/onnx-web/api/onnx_web/diffusers/pipelines/panorama_xl.py", line 946, in __call__                                                                                                                                                                                
    return self.text2img(*args, **kwargs)                                                                                                                                                                                                                                    
  File "/opt/onnx-web/api/onnx_web/diffusers/pipelines/panorama_xl.py", line 458, in text2img                                                                                                                                                                                
    scheduler_output = self.scheduler.step(                                                                                                                                                                                                                                  
  File "/opt/onnx-web/api/onnx_env/lib/python3.10/site-packages/diffusers/schedulers/scheduling_dpmsolver_singlestep.py", line 849, in step                                                                  
    order = self.order_list[self.step_index]                                                                                                                                                                                                                                 
IndexError: list index out of range    

It looks like the multistep scheduler (and DPM singlestep) generally keep some internal state tracking the current step, which needs to be reset/frozen during panorama pipelines.