It took a bit of tracing through the callstack to find out what was the matter when I ran certain img2img parameters (such as ddim_steps = 27 and strength = 1), but I believe it is this line in util.py for the make_ddim_timesteps method: steps_out = ddim_timesteps + 1. Consequently the last index may be 1000, triggering an OOB error later when it tries to access the 1000th element of alphacums.
There is this comment in the code to explain the +1:
# add one to get the final alpha values right (the ones from first scale to data during sampling)
but I don't know what to make of it. Is this necessary?
It took a bit of tracing through the callstack to find out what was the matter when I ran certain img2img parameters (such as ddim_steps = 27 and strength = 1), but I believe it is this line in util.py for the make_ddim_timesteps method:
steps_out = ddim_timesteps + 1
. Consequently the last index may be 1000, triggering an OOB error later when it tries to access the 1000th element ofalphacums
.There is this comment in the code to explain the +1:
but I don't know what to make of it. Is this necessary?