Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug] slice_image attribute error with MiniCPM-Llama3-V-2_5 #2129

Closed
3 tasks done
thisiskofi opened this issue Jul 24, 2024 · 13 comments
Closed
3 tasks done

[Bug] slice_image attribute error with MiniCPM-Llama3-V-2_5 #2129

thisiskofi opened this issue Jul 24, 2024 · 13 comments

Comments

@thisiskofi
Copy link

Checklist

  • 1. I have searched related issues but cannot get the expected help.
  • 2. The bug has not been fixed in the latest version.
  • 3. Please note that if the bug-related issue you submitted lacks corresponding environment info and a minimal reproducible demo, it will be challenging for us to reproduce and resolve the issue, reducing the likelihood of receiving feedback.

Describe the bug

When attempting to run simple pipeline inference with the openbmb/MiniCPM-Llama3-V-2_5 model, the inference fails with an attribute error: AttributeError: 'MiniCPMV' object has no attribute 'slice_image'

Reproduction

pip install lmdeploy

Script:

from lmdeploy import pipeline
from lmdeploy.vl import load_image

pipe = pipeline('openbmb/MiniCPM-Llama3-V-2_5')

image = load_image('https://raw.githubusercontent.com/open-mmlab/mmdeploy/main/tests/data/tiger.jpeg')
response = pipe(('describe this image', image))
print(response)

Environment

sys.platform: linux
Python: 3.10.14 (main, May  6 2024, 19:42:50) [GCC 11.2.0]
CUDA available: True
MUSA available: False
numpy_random_seed: 2147483648
GPU 0,1,2,3,4,5,6: NVIDIA A100-SXM4-40GB
CUDA_HOME: /usr/local/cuda
NVCC: Cuda compilation tools, release 12.0, V12.0.76
GCC: gcc (Ubuntu 9.4.0-1ubuntu1~18.04) 9.4.0
PyTorch: 2.2.2+cu121
PyTorch compiling details: PyTorch built with:
  - GCC 9.3
  - C++ Version: 201703
  - Intel(R) oneAPI Math Kernel Library Version 2022.2-Product Build 20220804 for Intel(R) 64 architecture applications
  - Intel(R) MKL-DNN v3.3.2 (Git Hash 2dc95a2ad0841e29db8b22fbccaf3e5da7992b01)
  - OpenMP 201511 (a.k.a. OpenMP 4.5)
  - LAPACK is enabled (usually provided by MKL)
  - NNPACK is enabled
  - CPU capability usage: AVX512
  - CUDA Runtime 12.1
  - NVCC architecture flags: -gencode;arch=compute_50,code=sm_50;-gencode;arch=compute_60,code=sm_60;-gencode;arch=compute_70,code=sm_70;-gencode;arch=compute_75,code=sm_75;-gencode;arch=compute_80,code=sm_80;-gencode;arch=compute_86,code=sm_86;-gencode;arch=compute_90,code=sm_90
  - CuDNN 8.9.2
  - Magma 2.6.1
  - Build settings: BLAS_INFO=mkl, BUILD_TYPE=Release, CUDA_VERSION=12.1, CUDNN_VERSION=8.9.2, CXX_COMPILER=/opt/rh/devtoolset-9/root/usr/bin/c++, CXX_FLAGS= -D_GLIBCXX_USE_CXX11_ABI=0 -fabi-version=11 -fvisibility-inlines-hidden -DUSE_PTHREADPOOL -DNDEBUG -DUSE_KINETO -DLIBKINETO_NOROCTRACER -DUSE_FBGEMM -DUSE_QNNPACK -DUSE_PYTORCH_QNNPACK -DUSE_XNNPACK -DSYMBOLICATE_MOBILE_DEBUG_HANDLE -O2 -fPIC -Wall -Wextra -Werror=return-type -Werror=non-virtual-dtor -Werror=bool-operation -Wnarrowing -Wno-missing-field-initializers -Wno-type-limits -Wno-array-bounds -Wno-unknown-pragmas -Wno-unused-parameter -Wno-unused-function -Wno-unused-result -Wno-strict-overflow -Wno-strict-aliasing -Wno-stringop-overflow -Wsuggest-override -Wno-psabi -Wno-error=pedantic -Wno-error=old-style-cast -Wno-missing-braces -fdiagnostics-color=always -faligned-new -Wno-unused-but-set-variable -Wno-maybe-uninitialized -fno-math-errno -fno-trapping-math -Werror=format -Wno-stringop-overflow, LAPACK_INFO=mkl, PERF_WITH_AVX=1, PERF_WITH_AVX2=1, PERF_WITH_AVX512=1, TORCH_VERSION=2.2.2, USE_CUDA=ON, USE_CUDNN=ON, USE_EXCEPTION_PTR=1, USE_GFLAGS=OFF, USE_GLOG=OFF, USE_MKL=ON, USE_MKLDNN=ON, USE_MPI=OFF, USE_NCCL=1, USE_NNPACK=ON, USE_OPENMP=ON, USE_ROCM=OFF, USE_ROCM_KERNEL_ASSERT=OFF, 

TorchVision: 0.17.2+cu121
LMDeploy: 0.5.1+
transformers: 4.43.1
gradio: Not Found
fastapi: 0.111.0
pydantic: 2.7.3
triton: 2.2.0
NVIDIA Topology: 
        GPU0    GPU1    GPU2    GPU3    GPU4    GPU5    GPU6    CPU Affinity    NUMA Affinity
GPU0     X      NV12    NV12    NV12    NV12    NV12    NV12    0-23,48-71      0
GPU1    NV12     X      NV12    NV12    NV12    NV12    NV12    0-23,48-71      0
GPU2    NV12    NV12     X      NV12    NV12    NV12    NV12    0-23,48-71      0
GPU3    NV12    NV12    NV12     X      NV12    NV12    NV12    0-23,48-71      0
GPU4    NV12    NV12    NV12    NV12     X      NV12    NV12    24-47,72-95     1
GPU5    NV12    NV12    NV12    NV12    NV12     X      NV12    24-47,72-95     1
GPU6    NV12    NV12    NV12    NV12    NV12    NV12     X      24-47,72-95     1

Legend:

  X    = Self
  SYS  = Connection traversing PCIe as well as the SMP interconnect between NUMA nodes (e.g., QPI/UPI)
  NODE = Connection traversing PCIe as well as the interconnect between PCIe Host Bridges within a NUMA node
  PHB  = Connection traversing PCIe as well as a PCIe Host Bridge (typically the CPU)
  PXB  = Connection traversing multiple PCIe bridges (without traversing the PCIe Host Bridge)
  PIX  = Connection traversing at most a single PCIe bridge
  NV#  = Connection traversing a bonded set of # NVLinks

Error traceback

`Traceback (most recent call last):
  File "/home/kboakye/miniconda3/envs/vlm_bench/lib/python3.10/asyncio/events.py", line 80, in _run
    self._context.run(self._callback, *self._args)
  File "/home/kboakye/miniconda3/envs/vlm_bench/lib/python3.10/site-packages/lmdeploy/vl/engine.py", line 26, in _raise_exception_on_finish
    raise e
  File "/home/kboakye/miniconda3/envs/vlm_bench/lib/python3.10/site-packages/lmdeploy/vl/engine.py", line 22, in _raise_exception_on_finish
    task.result()
  File "/home/kboakye/miniconda3/envs/vlm_bench/lib/python3.10/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/home/kboakye/miniconda3/envs/vlm_bench/lib/python3.10/site-packages/lmdeploy/vl/engine.py", line 151, in forward
    outputs = self.model.forward(inputs)
  File "/home/kboakye/miniconda3/envs/vlm_bench/lib/python3.10/site-packages/torch/utils/_contextlib.py", line 115, in decorate_context
    return func(*args, **kwargs)
  File "/home/kboakye/miniconda3/envs/vlm_bench/lib/python3.10/site-packages/lmdeploy/vl/model/minicpmv.py", line 130, in forward
    return self._forward_func(images)
  File "/home/kboakye/miniconda3/envs/vlm_bench/lib/python3.10/site-packages/lmdeploy/vl/model/minicpmv.py", line 90, in _forward_v2_5
    slice_images, best_grid = self._get_slice_image(image)
  File "/home/kboakye/miniconda3/envs/vlm_bench/lib/python3.10/site-packages/lmdeploy/vl/model/minicpmv.py", line 59, in _get_slice_image
    source_image, patches, best_grid = self.model.slice_image(image)
  File "/home/kboakye/miniconda3/envs/vlm_bench/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1688, in __getattr__
    raise AttributeError(f"'{type(self).__name__}' object has no attribute '{name}'")
AttributeError: 'MiniCPMV' object has no attribute 'slice_image'
@thisiskofi thisiskofi changed the title [Bug] [Bug] slice_image attribute error with MiniCPM-Llama3-V-2_5 Jul 24, 2024
@irexyc irexyc self-assigned this Jul 25, 2024
@irexyc
Copy link
Collaborator

irexyc commented Jul 25, 2024

shoud be fixed in #2139

@ElhamAhmedian
Copy link

Still getting this:

Exception in callback <function _raise_exception_on_finish at 0x7f7033452b90>
handle: <Handle _raise_exception_on_finish>
Traceback (most recent call last):
  File "uvloop/cbhandles.pyx", line 63, in uvloop.loop.Handle._run
  File "/opt/conda/lib/python3.10/site-packages/lmdeploy/vl/engine.py", line 26, in _raise_exception_on_finish
    raise e
  File "/opt/conda/lib/python3.10/site-packages/lmdeploy/vl/engine.py", line 22, in _raise_exception_on_finish
    task.result()
  File "/opt/conda/lib/python3.10/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/opt/conda/lib/python3.10/site-packages/lmdeploy/vl/engine.py", line 151, in forward
    outputs = self.model.forward(inputs)
  File "/opt/conda/lib/python3.10/site-packages/torch/utils/_contextlib.py", line 115, in decorate_context
    return func(*args, **kwargs)
  File "/opt/conda/lib/python3.10/site-packages/lmdeploy/vl/model/minicpmv.py", line 130, in forward
    return self._forward_func(images)
  File "/opt/conda/lib/python3.10/site-packages/lmdeploy/vl/model/minicpmv.py", line 90, in _forward_v2_5
    slice_images, best_grid = self._get_slice_image(image)
  File "/opt/conda/lib/python3.10/site-packages/lmdeploy/vl/model/minicpmv.py", line 59, in _get_slice_image
    source_image, patches, best_grid = self.model.slice_image(image)
  File "/opt/conda/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1688, in __getattr__
    raise AttributeError(f"'{type(self).__name__}' object has no attribute '{name}'")
AttributeError: 'MiniCPMV' object has no attribute 'slice_image'

@ElhamAhmedian
Copy link

Also still getting the exact same error.
lmdeploy serve api_server openbmb/MiniCPM-Llama3-V-2_5 --server-port 7860 --backend turbomind --max-batch-size 10 --log-level INFO

@lvhan028
Copy link
Collaborator

lvhan028 commented Aug 1, 2024

Have you applied the updated code in #2139 to lmdeploy's installation path "/opt/conda/lib/python3.10/site-packages/lmdeploy"

@ElhamAhmedian
Copy link

How do I do that? I am not sure how to chek out from that code

@lvhan028
Copy link
Collaborator

You may upgrade lmdeploy to v0.5.3

@ElhamAhmedian
Copy link

root@c4b9a9075c7c:/RAG# pip freeze | grep lmdeploy
lmdeploy==0.5.3

Copy link

This issue is marked as stale because it has been marked as invalid or awaiting response for 7 days without any further response. It will be closed in 5 days if the stale label is not removed or if there is no further response.

@github-actions github-actions bot added the Stale label Aug 26, 2024
@ElhamAhmedian
Copy link

I responded I have version 0.5.3

@github-actions github-actions bot removed the Stale label Aug 27, 2024
Copy link

github-actions bot commented Sep 3, 2024

This issue is marked as stale because it has been marked as invalid or awaiting response for 7 days without any further response. It will be closed in 5 days if the stale label is not removed or if there is no further response.

@github-actions github-actions bot added the Stale label Sep 3, 2024
@lvhan028
Copy link
Collaborator

lvhan028 commented Sep 4, 2024

@zhulinJulia24 could you help reproduce this issue?

@github-actions github-actions bot removed the Stale label Sep 5, 2024
Copy link

This issue is marked as stale because it has been marked as invalid or awaiting response for 7 days without any further response. It will be closed in 5 days if the stale label is not removed or if there is no further response.

@github-actions github-actions bot added the Stale label Sep 12, 2024
Copy link

This issue is closed because it has been stale for 5 days. Please open a new issue if you have similar issues or you have any new updates now.

@github-actions github-actions bot closed this as not planned Won't fix, can't repro, duplicate, stale Sep 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants