AlUlkesh / sd_save_intermediate_images

Save intermediate images during the sampling process
The Unlicense
110 stars 17 forks source link

AttributeError: 'StableDiffusionProcessingImg2Img' object has no attribute 'iteration' #22

Closed harlyh closed 1 year ago

harlyh commented 1 year ago

As long as you don't have this: image checked, you're good.

Bur as soon as you do check it, you will get the below Exception that you can't escape even after unchecking.

Traceback (most recent call last):
  File "E:\AI\stable-diffusion-webui\modules\call_queue.py", line 45, in f
    res = list(func(*args, **kwargs))
  File "E:\AI\stable-diffusion-webui\modules\call_queue.py", line 28, in f
    res = func(*args, **kwargs)
  File "E:\AI\stable-diffusion-webui\modules\img2img.py", line 152, in img2img
    processed = process_images(p)
  File "E:\AI\stable-diffusion-webui\modules\processing.py", line 470, in process_images
    res = process_images_inner(p)
  File "E:\AI\stable-diffusion-webui\modules\processing.py", line 575, in process_images_inner
    samples_ddim = p.sample(conditioning=c, unconditional_conditioning=uc, seeds=seeds, subseeds=subseeds, subseed_strength=p.subseed_strength, prompts=prompts)
  File "E:\AI\stable-diffusion-webui\modules\processing.py", line 917, in sample
    samples = self.sampler.sample_img2img(self, self.init_latent, x, conditioning, unconditional_conditioning, image_conditioning=self.image_conditioning)
  File "E:\AI\stable-diffusion-webui\modules\sd_samplers.py", line 501, in sample_img2img
    samples = self.launch_sampling(t_enc + 1, lambda: self.func(self.model_wrap_cfg, xi, extra_args={
  File "E:\AI\stable-diffusion-webui\modules\sd_samplers.py", line 439, in launch_sampling
    return func()
  File "E:\AI\stable-diffusion-webui\modules\sd_samplers.py", line 501, in <lambda>
    samples = self.launch_sampling(t_enc + 1, lambda: self.func(self.model_wrap_cfg, xi, extra_args={
  File "E:\AI\stable-diffusion-webui\venv\lib\site-packages\torch\autograd\grad_mode.py", line 27, in decorate_context
    return func(*args, **kwargs)
  File "E:\AI\stable-diffusion-webui\repositories\k-diffusion\k_diffusion\sampling.py", line 148, in sample_euler_ancestral
    callback({'x': x, 'i': i, 'sigma': sigmas[i], 'sigma_hat': sigmas[i], 'denoised': denoised})
  File "E:\AI\stable-diffusion-webui\extensions\sd_save_intermediate_images\scripts\sd_save_intermediate_images.py", line 455, in callback_state
    p.intermed_batch_iter = p.iteration
AttributeError: 'StableDiffusionProcessingImg2Img' object has no attribute 'iteration'

In addition, after the above exception, clicking this: image will end with this:

Traceback (most recent call last):
  File "E:\AI\stable-diffusion-webui\venv\lib\site-packages\gradio\routes.py", line 284, in run_predict
    output = await app.blocks.process_api(
  File "E:\AI\stable-diffusion-webui\venv\lib\site-packages\gradio\blocks.py", line 982, in process_api
    result = await self.call_function(fn_index, inputs, iterator)
  File "E:\AI\stable-diffusion-webui\venv\lib\site-packages\gradio\blocks.py", line 824, in call_function
    prediction = await anyio.to_thread.run_sync(
  File "E:\AI\stable-diffusion-webui\venv\lib\site-packages\anyio\to_thread.py", line 31, in run_sync
    return await get_asynclib().run_sync_in_worker_thread(
  File "E:\AI\stable-diffusion-webui\venv\lib\site-packages\anyio\_backends\_asyncio.py", line 937, in run_sync_in_worker_thread
    return await future
  File "E:\AI\stable-diffusion-webui\venv\lib\site-packages\anyio\_backends\_asyncio.py", line 867, in run
    result = context.run(func, *args)
  File "E:\AI\stable-diffusion-webui\extensions\sd_save_intermediate_images\scripts\sd_save_intermediate_images.py", line 74, in ssii_save_settings_do
    ui_settings = ui_setting_set(ui_settings, value, eval(key))
  File "E:\AI\stable-diffusion-webui\extensions\sd_save_intermediate_images\scripts\sd_save_intermediate_images.py", line 51, in ui_setting_set
    this_module = os.path.basename(__file__)
NameError: name '__file__' is not defined

I hope this helps.

harlyh commented 1 year ago

OK, I realised that another package (steps_animation) needs the same fix as your #20 did.