OpenBMB / MiniCPM

MiniCPM-2B: An end-side LLM outperforming Llama2-13B.
Apache License 2.0
4.38k stars 313 forks source link

[Bug]: MiniCPM-V2-2.0推理失败 #120

Closed cjxcn closed 2 months ago

cjxcn commented 2 months ago

Is there an existing issue ? / 是否已有相关的 issue ?

Describe the bug / 描述这个 bug

import torch
from PIL import Image
from transformers import AutoModel, AutoTokenizer

# model = AutoModel.from_pretrained('/data/intern/chenjiaxing/checkpoints/MiniCPM-V', trust_remote_code=True)
# tokenizer = AutoTokenizer.from_pretrained('/data/intern/chenjiaxing/checkpoints/MiniCPM-V', trust_remote_code=True)

model = AutoModel.from_pretrained('/data/intern/chenjiaxing/checkpoints/MiniCPM-V-2.0', trust_remote_code=True)
tokenizer = AutoTokenizer.from_pretrained('/data/intern/chenjiaxing/checkpoints/MiniCPM-V-2.0', trust_remote_code=True)

model.eval().cuda()

image = Image.open('/data/intern/chenjiaxing/pictures/pic.png').convert('RGB')
question = 'What is in the image?'
msgs = [{'role': 'user', 'content': question}]

res, context, _ = model.chat(
    image=image,
    msgs=msgs,
    context=None,
    tokenizer=tokenizer,
    sampling=True,
    temperature=0.7
)
print(res)

使用以上代码推理时,出现了以下错误:


Traceback (most recent call last):
  File "/data/intern/chenjiaxing/cv-intern-small-lmm/MiniCPM/func.py", line 11, in <module>
    model = AutoModel.from_pretrained('/data/intern/chenjiaxing/checkpoints/MiniCPM-V-2.0', trust_remote_code=True)
  File "/data/intern/chenjiaxing/miniconda3/envs/bunny/lib/python3.10/site-packages/transformers/models/auto/auto_factory.py", line 550, in from_pretrained
    model_class = get_class_from_dynamic_module(
  File "/data/intern/chenjiaxing/miniconda3/envs/bunny/lib/python3.10/site-packages/transformers/dynamic_module_utils.py", line 501, in get_class_from_dynamic_module
    return get_class_in_module(class_name, final_module)
  File "/data/intern/chenjiaxing/miniconda3/envs/bunny/lib/python3.10/site-packages/transformers/dynamic_module_utils.py", line 201, in get_class_in_module
    module = importlib.machinery.SourceFileLoader(name, module_path).load_module()
  File "<frozen importlib._bootstrap_external>", line 548, in _check_name_wrapper
  File "<frozen importlib._bootstrap_external>", line 1063, in load_module
  File "<frozen importlib._bootstrap_external>", line 888, in load_module
  File "<frozen importlib._bootstrap>", line 290, in _load_module_shim
  File "<frozen importlib._bootstrap>", line 719, in _load
  File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 883, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "/home/app/.cache/huggingface/modules/transformers_modules/MiniCPM-V-2.0/modeling_minicpmv.py", line 13, in <module>
    from .modeling_minicpm import MiniCPMForCausalLM, MiniCPMPreTrainedModel
ModuleNotFoundError: No module named 'transformers_modules.MiniCPM-V-2'

To Reproduce / 如何复现

Expected behavior / 期望的结果

No response

Screenshots / 截图

No response

Environment / 环境

- OS: [e.g. Ubuntu 20.04]
- Pytorch: [e.g. torch 2.0.0]
- CUDA: [e.g. CUDA 11.8]
- Device: [e.g. A10, RTX3090]

Additional context / 其他信息

No response