Skip to content
This repository has been archived by the owner on Apr 19, 2023. It is now read-only.

RuntimeError: "compute_indices_weights_cubic" not implemented for 'Half' #12

Open
tboronczyk opened this issue Feb 6, 2023 · 4 comments

Comments

@tboronczyk
Copy link

python: 3.10.9
torch: 1.12.1
xformers: N/A
gradio: 3.16.2
commit: ea9bd9fc

Launching Web UI with arguments: --api --theme dark --disable-nan-check --opt-split-attention-v1 --no-half-vae --upcast-sampling --use-cpu interrogate

daam run with context_size=77, token_count=5
0%| | 0/20 [00:00<?, ?it/s]
Error completing request
Arguments: ('task(lyy6sjwduonnacp)', 'happy puppy in a field', '', [], 20, 0, False, False, 1, 1, 7, -1.0, -1.0, 0, 0, 0, False, 512, 512, False, 0.7, 2, 'Latent', 0, 0, 0, [], 0, True, False, 1, False, False, False, 1.1, 1.5, 100, 0.7, False, False, True, False, False, 0, 'Gustavosta/MagicPrompt-Stable-Diffusion', '', 'happy, puppy, in, a, field', False, False, False, True, 'Auto', 0.5, 1, False, False, False, False, 'positive', 'comma', 0, False, False, '', 1, '', 0, '', 0, '', True, False, False, False, 0) {}
Traceback (most recent call last):
File "/Users/tboronczyk/Dev/stabdiff/stable-diffusion-webui/modules/call_queue.py", line 56, in f
res = list(func(*args, **kwargs))
File "/Users/tboronczyk/Dev/stabdiff/stable-diffusion-webui/modules/call_queue.py", line 37, in f
res = func(*args, **kwargs)
File "/Users/tboronczyk/Dev/stabdiff/stable-diffusion-webui/modules/txt2img.py", line 56, in txt2img
processed = process_images(p)
File "/Users/tboronczyk/Dev/stabdiff/stable-diffusion-webui/modules/processing.py", line 486, in process_images
res = process_images_inner(p)
File "/Users/tboronczyk/Dev/stabdiff/stable-diffusion-webui/modules/processing.py", line 628, 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 "/Users/tboronczyk/Dev/stabdiff/stable-diffusion-webui/modules/processing.py", line 828, in sample
samples = self.sampler.sample(self, x, conditioning, unconditional_conditioning, image_conditioning=self.txt2img_image_conditioning(x))
File "/Users/tboronczyk/Dev/stabdiff/stable-diffusion-webui/modules/sd_samplers_kdiffusion.py", line 323, in sample
samples = self.launch_sampling(steps, lambda: self.func(self.model_wrap_cfg, x, extra_args={
File "/Users/tboronczyk/Dev/stabdiff/stable-diffusion-webui/modules/sd_samplers_kdiffusion.py", line 221, in launch_sampling
return func()
File "/Users/tboronczyk/Dev/stabdiff/stable-diffusion-webui/modules/sd_samplers_kdiffusion.py", line 323, in
samples = self.launch_sampling(steps, lambda: self.func(self.model_wrap_cfg, x, extra_args={
File "/Users/tboronczyk/Dev/stabdiff/stable-diffusion-webui/venv/lib/python3.10/site-packages/torch/autograd/grad_mode.py", line 27, in decorate_context
return func(*args, **kwargs)
File "/Users/tboronczyk/Dev/stabdiff/stable-diffusion-webui/repositories/k-diffusion/k_diffusion/sampling.py", line 145, in sample_euler_ancestral
denoised = model(x, sigmas[i] * s_in, **extra_args)
File "/Users/tboronczyk/Dev/stabdiff/stable-diffusion-webui/venv/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1130, in _call_impl
return forward_call(*input, **kwargs)
File "/Users/tboronczyk/Dev/stabdiff/stable-diffusion-webui/modules/sd_samplers_kdiffusion.py", line 116, in forward
x_out = self.inner_model(x_in, sigma_in, cond={"c_crossattn": [cond_in], "c_concat": [image_cond_in]})
File "/Users/tboronczyk/Dev/stabdiff/stable-diffusion-webui/venv/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1130, in _call_impl
return forward_call(*input, **kwargs)
File "/Users/tboronczyk/Dev/stabdiff/stable-diffusion-webui/repositories/k-diffusion/k_diffusion/external.py", line 114, in forward
eps = self.get_eps(input * c_in, self.sigma_to_t(sigma), **kwargs)
File "/Users/tboronczyk/Dev/stabdiff/stable-diffusion-webui/repositories/k-diffusion/k_diffusion/external.py", line 140, in get_eps
return self.inner_model.apply_model(*args, **kwargs)
File "/Users/tboronczyk/Dev/stabdiff/stable-diffusion-webui/modules/sd_hijack_utils.py", line 17, in
setattr(resolved_obj, func_path[-1], lambda *args, **kwargs: self(*args, **kwargs))
File "/Users/tboronczyk/Dev/stabdiff/stable-diffusion-webui/modules/sd_hijack_utils.py", line 26, in call
return self.__sub_func(self.__orig_func, *args, **kwargs)
File "/Users/tboronczyk/Dev/stabdiff/stable-diffusion-webui/modules/sd_hijack_unet.py", line 45, in apply_model
return orig_func(self, x_noisy.to(devices.dtype_unet), t.to(devices.dtype_unet), cond, **kwargs).float()
File "/Users/tboronczyk/Dev/stabdiff/stable-diffusion-webui/repositories/stable-diffusion-stability-ai/ldm/models/diffusion/ddpm.py", line 858, in apply_model
x_recon = self.model(x_noisy, t, **cond)
File "/Users/tboronczyk/Dev/stabdiff/stable-diffusion-webui/venv/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1130, in _call_impl
return forward_call(*input, **kwargs)
File "/Users/tboronczyk/Dev/stabdiff/stable-diffusion-webui/repositories/stable-diffusion-stability-ai/ldm/models/diffusion/ddpm.py", line 1329, in forward
out = self.diffusion_model(x, t, context=cc)
File "/Users/tboronczyk/Dev/stabdiff/stable-diffusion-webui/venv/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1130, in _call_impl
return forward_call(*input, **kwargs)
File "/Users/tboronczyk/Dev/stabdiff/stable-diffusion-webui/extensions/stable-diffusion-webui-daam/scripts/daam/trace.py", line 41, in forward
super_return = hk_self.monkey_super('forward', *args, **kwargs)
File "/Users/tboronczyk/Dev/stabdiff/stable-diffusion-webui/extensions/stable-diffusion-webui-daam/scripts/daam/hook.py", line 65, in monkey_super
return self.old_state[f'old_fn
{fn_name}'](*args, **kwargs)
File "/Users/tboronczyk/Dev/stabdiff/stable-diffusion-webui/extensions/stable-diffusion-webui-daam/scripts/daam/trace.py", line 41, in forward
super_return = hk_self.monkey_super('forward', *args, **kwargs)
File "/Users/tboronczyk/Dev/stabdiff/stable-diffusion-webui/extensions/stable-diffusion-webui-daam/scripts/daam/hook.py", line 65, in monkey_super
return self.old_state[f'old_fn
{fn_name}'](*args, **kwargs)
File "/Users/tboronczyk/Dev/stabdiff/stable-diffusion-webui/repositories/stable-diffusion-stability-ai/ldm/modules/diffusionmodules/openaimodel.py", line 776, in forward
h = module(h, emb, context)
File "/Users/tboronczyk/Dev/stabdiff/stable-diffusion-webui/venv/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1130, in _call_impl
return forward_call(*input, **kwargs)
File "/Users/tboronczyk/Dev/stabdiff/stable-diffusion-webui/repositories/stable-diffusion-stability-ai/ldm/modules/diffusionmodules/openaimodel.py", line 84, in forward
x = layer(x, context)
File "/Users/tboronczyk/Dev/stabdiff/stable-diffusion-webui/venv/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1130, in _call_impl
return forward_call(*input, **kwargs)
File "/Users/tboronczyk/Dev/stabdiff/stable-diffusion-webui/repositories/stable-diffusion-stability-ai/ldm/modules/attention.py", line 324, in forward
x = block(x, context=context[i])
File "/Users/tboronczyk/Dev/stabdiff/stable-diffusion-webui/venv/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1130, in _call_impl
return forward_call(*input, **kwargs)
File "/Users/tboronczyk/Dev/stabdiff/stable-diffusion-webui/repositories/stable-diffusion-stability-ai/ldm/modules/attention.py", line 259, in forward
return checkpoint(self._forward, (x, context), self.parameters(), self.checkpoint)
File "/Users/tboronczyk/Dev/stabdiff/stable-diffusion-webui/repositories/stable-diffusion-stability-ai/ldm/modules/diffusionmodules/util.py", line 114, in checkpoint
return CheckpointFunction.apply(func, len(inputs), *args)
File "/Users/tboronczyk/Dev/stabdiff/stable-diffusion-webui/repositories/stable-diffusion-stability-ai/ldm/modules/diffusionmodules/util.py", line 129, in forward
output_tensors = ctx.run_function(*ctx.input_tensors)
File "/Users/tboronczyk/Dev/stabdiff/stable-diffusion-webui/repositories/stable-diffusion-stability-ai/ldm/modules/attention.py", line 263, in _forward
x = self.attn2(self.norm2(x), context=context) + x
File "/Users/tboronczyk/Dev/stabdiff/stable-diffusion-webui/venv/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1130, in _call_impl
return forward_call(*input, **kwargs)
File "/Users/tboronczyk/Dev/stabdiff/stable-diffusion-webui/extensions/stable-diffusion-webui-daam/scripts/daam/trace.py", line 277, in _forward
out = hk_self._hooked_attention(self, q, k, v, batch_size, sequence_length, dim)
File "/Users/tboronczyk/Dev/stabdiff/stable-diffusion-webui/extensions/stable-diffusion-webui-daam/scripts/daam/trace.py", line 354, in _hooked_attention
maps = hk_self.up_sample_attn(attn_slice, value, factor)
File "/Users/tboronczyk/Dev/stabdiff/stable-diffusion-webui/venv/lib/python3.10/site-packages/torch/autograd/grad_mode.py", line 27, in decorate_context
return func(*args, **kwargs)
File "/Users/tboronczyk/Dev/stabdiff/stable-diffusion-webui/extensions/stable-diffusion-webui-daam/scripts/daam/trace.py", line 240, in up_sample_attn
map
= F.interpolate(map
, size=(h_fix, w_fix), mode='bicubic')
File "/Users/tboronczyk/Dev/stabdiff/stable-diffusion-webui/venv/lib/python3.10/site-packages/torch/nn/functional.py", line 3946, in interpolate
return torch._C._nn.upsample_bicubic2d(input, output_size, align_corners, scale_factors)
RuntimeError: "compute_indices_weights_cubic" not implemented for 'Half'

@rockerBOO
Copy link

Try without --use-cpu interrogate , --opt-split-attention-v1, --upcast-sampling some or all of these options and see if it helps.

@tboronczyk
Copy link
Author

tboronczyk commented Feb 9, 2023

Nope. :( I tried again without the arguments to webui and it crashes.

daam run with context_size=77, token_count=5
0%| | 0/20 [00:00<?, ?it/s]loc("mps_add"("(mpsFileLoc): /AppleInternal/Library/BuildRoots/20d6c351-ee94-11ec-bcaf-7247572f23b4/Library/Caches/com.apple.xbs/Sources/MetalPerformanceShadersGraph/mpsgraph/MetalPerformanceShadersGraph/Core/Files/MPSGraphUtilities.mm":219:0)): error: input types 'tensor<2x1280xf32>' and 'tensor<*xf16>' are not broadcast compatible
LLVM ERROR: Failed to infer result type(s).
zsh: abort ./webui.sh
/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/multiprocessing/resource_tracker.py:224: UserWarning: resource_tracker: There appear to be 1 leaked semaphore objects to clean up at shutdown
warnings.warn('resource_tracker: There appear to be %d '

It looks like I need at a minimum --upcast-sampling to run SD.

Trying to run DAAM with no other arguments other than --upcast-sampling to webui.sh still results in the compute_indicies_weights_cubic error.

@rockerBOO
Copy link

hmm might be related to Mac, MPS and the daam library directly. Could ask over there and maybe they have some feedback.

@tboronczyk
Copy link
Author

It looks like I need at a minimum --upcast-sampling to run SD.

Trying to run DAAM with no other arguments other than --upcast-sampling to webui.sh still results in the compute_indicies_weights_cubic error.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants