# StableDiffusionInpaintPipeline Tensor Input Error

**URL:** </static-proxy?url=https%3A%2F%2Fdiscuss.huggingface.co%2Ft%2Fstablediffusioninpaintpipeline-tensor-input-error%2F25773%3E%5C
**Category:** 🧨 Diffusers\
**Created:** [November 8, 2022, 10:37pm UTC](/static-proxy?url=https%3A%2F%2Fdiscuss.huggingface.co%2Ft%2Fstablediffusioninpaintpipeline-tensor-input-error%2F25773 "2022-11-08T22:37:56Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![jnick](https://avatars.discourse-cdn.com/v4/letter/j/48db29/32.png) [@jnick](/static-proxy?url=https%3A%2F%2Fdiscuss.huggingface.co%2Fu%2Fjnick)%5C
**Post date:** [November 8, 2022, 10:37pm UTC](/static-proxy?url=https%3A%2F%2Fdiscuss.huggingface.co%2Ft%2Fstablediffusioninpaintpipeline-tensor-input-error%2F25773%2F1 "2022-11-08T22:37:56Z")

</div>

When calling a `StableDiffusionInpaintPipeline` pipeline, the documentation ([Stable diffusion pipelines](https://huggingface.co/docs/diffusers/v0.7.0/en/api/pipelines/stable_diffusion#diffusers.StableDiffusionInpaintPipeline)) states that tensors can be used as input for parameters `image` and `mask_image`. The docs indicate that `mask_image` needs to have shape (B, H, W, 1), but what is the expected shape for `image`?

I used (B, H, W, 1) for both `image` and `mask_image` parameters, and got this error:

> ----\> Preformatted text4 image = pipe(prompt=inpaint\_prompts[0], image=inpaint\_input, mask\_image=inpaint\_mask).images[0]  
> 5  
> 6 image
> 
> 2 frames  
> /usr/local/lib/python3.7/dist-packages/torch/autograd/grad\_mode.py in decorate\_context(\*args, \*\*kwargs)  
> 25 def decorate\_context(\*args, \*\*kwargs):  
> 26 with self.clone():  
> —\> 27 return func(\*args, \*\*kwargs)  
> 28 return cast(F, decorate\_context)  
> 29
> 
> /usr/local/lib/python3.7/dist-packages/diffusers/pipelines/stable\_diffusion/pipeline\_stable\_diffusion\_inpaint.py in **call** (self, prompt, image, mask\_image, height, width, num\_inference\_steps, guidance\_scale, negative\_prompt, num\_images\_per\_prompt, eta, generator, latents, output\_type, return\_dict, callback, callback\_steps, \*\*kwargs)  
> 361  
> 362 # prepare mask and masked\_image  
> → 363 mask, masked\_image = prepare\_mask\_and\_masked\_image(image, mask\_image)  
> 364 mask = mask.to(device=self.device, dtype=text\_embeddings.dtype)  
> 365 masked\_image = masked\_image.to(device=self.device, dtype=text\_embeddings.dtype)
> 
> /usr/local/lib/python3.7/dist-packages/diffusers/pipelines/stable\_diffusion/pipeline\_stable\_diffusion\_inpaint.py in prepare\_mask\_and\_masked\_image(image, mask)  
> 21  
> 22 def prepare\_mask\_and\_masked\_image(image, mask):  
> —\> 23 image = np.array(image.convert(“RGB”))  
> 24 image = image[None].transpose(0, 3, 1, 2)  
> 25 image = torch.from\_numpy(image).to(dtype=torch.float32) / 127.5 - 1.0
> 
> AttributeError: ‘Tensor’ object has no attribute ‘convert’

Are tensors not actually supported as inputs?

---

<div class="post-metadata">

**Author:** ![pcuenq](https://sea2.discourse-cdn.com/hellohellohello/user_avatar/discuss.huggingface.co/pcuenq/32/32135_2.png) [@pcuenq](/static-proxy?url=https%3A%2F%2Fdiscuss.huggingface.co%2Fu%2Fpcuenq)%5C
**Post date:** [November 9, 2022, 10:16am UTC](/static-proxy?url=https%3A%2F%2Fdiscuss.huggingface.co%2Ft%2Fstablediffusioninpaintpipeline-tensor-input-error%2F25773%2F2 "2022-11-09T10:16:06Z")

</div>

Hi @jnick!

You are right, tensors are not supported yet but that’s about to be fixed, see [this pull request](https://github.com/huggingface/diffusers/pull/1128).

---

<div class="post-metadata">

**Author:** ![jnick](https://avatars.discourse-cdn.com/v4/letter/j/48db29/32.png) [@jnick](/static-proxy?url=https%3A%2F%2Fdiscuss.huggingface.co%2Fu%2Fjnick)%5C
**Post date:** [November 9, 2022, 4:01pm UTC](/static-proxy?url=https%3A%2F%2Fdiscuss.huggingface.co%2Ft%2Fstablediffusioninpaintpipeline-tensor-input-error%2F25773%2F3 "2022-11-09T16:01:15Z")

</div>

That’s great! Thank you @pcuenq!
