LeapLabTHU / Agent-Attention

Official repository of Agent Attention (ECCV2024)
512 stars 35 forks source link

scatter_reduce() argument 'reduce' (position 3 ) must be str, not Tensor #4

Closed yja1 closed 9 months ago

yja1 commented 9 months ago

python scripts/txt2img.py --prompt "a photograph of an astronaut riding a horse" --plms --precision full stable-diffusion-v1-4 Error: File "scripts/txt2img.py", line 353, in main() File "scripts/txt2img.py", line 303, in main samplesddim, = sampler.sample(S=opt.ddim_steps, File "/lib/python3.8/site-packages/torch/autograd/grad_mode.py", line 27, in decorate_context return func(*args, kwargs) File "/code/stable-diffusion-main/ldm/models/diffusion/plms.py", line 97, in sample samples, intermediates = self.plms_sampling(conditioning, size, File "/lib/python3.8/site-packages/torch/autograd/grad_mode.py", line 27, in decorate_context return func(*args, *kwargs) File "/code/stable-diffusion-main/ldm/models/diffusion/plms.py", line 159, in plms_sampling outs = self.p_sample_plms(img, cond, ts, index=index, use_original_steps=ddim_use_original_steps, File "/lib/python3.8/site-packages/torch/autograd/grad_mode.py", line 27, in decorate_context return func(args, kwargs) File "/code/stable-diffusion-main/ldm/models/diffusion/plms.py", line 225, in p_sample_plms e_t = get_model_output(x, t) File "/code/stable-diffusion-main/ldm/models/diffusion/plms.py", line 192, in get_model_output e_t_uncond, e_t = self.model.apply_model(x_in, t_in, c_in).chunk(2) File "/code/stable-diffusion-main/ldm/models/diffusion/ddpm.py", line 987, in apply_model x_recon = self.model(x_noisy, t, cond) x_recon = self.model(x_noisy, t, cond) File "/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1110, in _call_impl return forward_call(*input, kwargs) File "/code/stable-diffusion-main/ldm/models/diffusion/ddpm.py", line 1410, in forward out = self.diffusion_model(x, t, context=cc) File "/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1128, in _call_impl result = forward_call(*input, *kwargs) File "/code/stable-diffusion-main/ldm/modules/diffusionmodules/openaimodel.py", line 731, in forward h = module(h, emb, context) File "/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1110, in _call_impl return forward_call(input, kwargs) File "/code/stable-diffusion-main/ldm/modules/diffusionmodules/openaimodel.py", line 85, in forward x = layer(x, context) File "/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1110, in _call_impl return forward_call(*input, *kwargs) File "/code/stable-diffusion-main/ldm/modules/attention.py", line 258, in forward x = block(x, context=context) File "/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1110, in _call_impl return forward_call(input, kwargs) File "/code/stable-diffusion-main/ldm/modules/attention.py", line 209, in forward return checkpoint(self._forward, (x, context), self.parameters(), self.checkpoint) File "/code/stable-diffusion-main/ldm/modules/diffusionmodules/util.py", line 114, in checkpoint return CheckpointFunction.apply(func, len(inputs), args) File "/code/stable-diffusion-main/ldm/modules/diffusionmodules/util.py", line 127, in forward output_tensors = ctx.run_function(ctx.input_tensors) File "/code/stable-diffusion-main/ldm/models/diffusion/agentsd/patch.py", line 66, in _forward feature, agent = ma(y) File "/code/stable-diffusion-main/ldm/models/diffusion/agentsd/merge.py", line 118, in merge dst = dst.scatter_reduce(-2, dstidx.expand(n, r, c), src, reduce=mode) TypeError: scatter_reduce(): argument 'reduce' (position 3) must be str, not Tensor**

tian-qing001 commented 9 months ago

Hi @yja1, thank you for your attention to our work. Could you please confirm the version of PyTorch you are currently using? It's important to note that AgentSD requires PyTorch version 1.12.1 or higher for scatter_reduce.