visual-chatgpt icon indicating copy to clipboard operation
visual-chatgpt copied to clipboard

ImageEditing breaks when using a non-square source image

Open sulmone opened this issue 2 years ago • 2 comments

Steps to reproduce:

  1. Uploaded a non-square image
  2. Prompt to replace an item in the image "blonde hair to black hair" in this example
  3. Exception

Action Input: image/c06e36b1.png, blonde hair, black hairreplace_part_of_image: replace_with_txt black hair Traceback (most recent call last): File "/home/diana/mambaforge/envs/visgpt/lib/python3.8/site-packages/gradio/routes.py", line 384, in run_predict output = await app.get_blocks().process_api( File "/home/diana/mambaforge/envs/visgpt/lib/python3.8/site-packages/gradio/blocks.py", line 1032, in process_api result = await self.call_function( File "/home/diana/mambaforge/envs/visgpt/lib/python3.8/site-packages/gradio/blocks.py", line 844, in call_function prediction = await anyio.to_thread.run_sync( File "/home/diana/mambaforge/envs/visgpt/lib/python3.8/site-packages/anyio/to_thread.py", line 31, in run_sync return await get_asynclib().run_sync_in_worker_thread( File "/home/diana/mambaforge/envs/visgpt/lib/python3.8/site-packages/anyio/_backends/_asyncio.py", line 937, in run_sync_in_worker_thread return await future File "/home/diana/mambaforge/envs/visgpt/lib/python3.8/site-packages/anyio/_backends/_asyncio.py", line 867, in run result = context.run(func, *args) File "visual_chatgpt.py", line 909, in run_text res = self.agent({"input": text}) File "/home/diana/mambaforge/envs/visgpt/lib/python3.8/site-packages/langchain/chains/base.py", line 168, in call raise e File "/home/diana/mambaforge/envs/visgpt/lib/python3.8/site-packages/langchain/chains/base.py", line 165, in call outputs = self._call(inputs) File "/home/diana/mambaforge/envs/visgpt/lib/python3.8/site-packages/langchain/agents/agent.py", line 503, in _call next_step_output = self._take_next_step( File "/home/diana/mambaforge/envs/visgpt/lib/python3.8/site-packages/langchain/agents/agent.py", line 420, in _take_next_step observation = tool.run( File "/home/diana/mambaforge/envs/visgpt/lib/python3.8/site-packages/langchain/tools/base.py", line 71, in run raise e File "/home/diana/mambaforge/envs/visgpt/lib/python3.8/site-packages/langchain/tools/base.py", line 68, in run observation = self._run(tool_input) File "/home/diana/mambaforge/envs/visgpt/lib/python3.8/site-packages/langchain/agents/tools.py", line 17, in _run return self.func(tool_input) File "visual_chatgpt.py", line 164, in replace_part_of_image updated_image = self.inpainting(prompt=replace_with_txt, image=original_image, mask_image=mask_image).images[0] File "/home/diana/mambaforge/envs/visgpt/lib/python3.8/site-packages/torch/autograd/grad_mode.py", line 27, in decorate_context return func(*args, **kwargs) File "/home/diana/mambaforge/envs/visgpt/lib/python3.8/site-packages/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_inpaint.py", line 798, in call mask, masked_image = prepare_mask_and_masked_image(image, mask_image) File "/home/diana/mambaforge/envs/visgpt/lib/python3.8/site-packages/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_inpaint.py", line 135, in prepare_mask_and_masked_image masked_image = image * (mask < 0.5) RuntimeError: The size of tensor a (360) must match the size of tensor b (512) at non-singleton dimension 3

sulmone avatar Mar 10 '23 11:03 sulmone

It seems like there was an error in running a program or code that involved uploading a non-square image and attempting to replace a part of the image from blonde hair to black hair, resulting in a runtime error where the size of tensor a did not match the size of tensor b at a non-singleton dimension.

KaseyAddessoeq avatar Mar 12 '23 08:03 KaseyAddessoeq

Hi @sulmone You can try the updated code, we have fixed the resize problem. Thanks~

shengming-yin avatar Mar 15 '23 11:03 shengming-yin