Skip to content

[Nemo FW] ImportError while evaluating on ocrbench from nvidia-vlmeval #715

@athitten

Description

@athitten

Describe the bug

Evaluating qwen2.5-vl on ocrbench from nvidia-vlmeval inside the nemo fw container leads to the below Import error. Installed vlmeval inside nemo fw container via pip install nvidia-vlmeval

Traceback (most recent call last):
  File "<frozen runpy>", line 189, in _run_module_as_main
  File "<frozen runpy>", line 112, in _get_module_details
  File "/usr/local/lib/python3.12/dist-packages/vlmeval/__init__.py", line 26, in <module>
    from .api import *
  File "/usr/local/lib/python3.12/dist-packages/vlmeval/api/__init__.py", line 23, in <module>
    from .qwen_vl_api import QwenVLWrapper, QwenVLAPI, Qwen2VLAPI
  File "/usr/local/lib/python3.12/dist-packages/vlmeval/api/qwen_vl_api.py", line 23, in <module>
    from vlmeval.vlm.qwen2_vl.prompt import Qwen2VLPromptMixin
  File "/usr/local/lib/python3.12/dist-packages/vlmeval/vlm/__init__.py", line 20, in <module>
    from .aria import Aria
  File "/usr/local/lib/python3.12/dist-packages/vlmeval/vlm/aria.py", line 23, in <module>
    from .base import BaseModel
  File "/usr/local/lib/python3.12/dist-packages/vlmeval/vlm/base.py", line 17, in <module>
    from ..dataset import img_root_map, DATASET_TYPE
  File "/usr/local/lib/python3.12/dist-packages/vlmeval/dataset/__init__.py", line 45, in <module>
    from .mvbench import MVBench, MVBench_MP4
  File "/usr/local/lib/python3.12/dist-packages/vlmeval/dataset/mvbench.py", line 27, in <module>
    import cv2
  File "/usr/local/lib/python3.12/dist-packages/cv2/__init__.py", line 181, in <module>
    bootstrap()
  File "/usr/local/lib/python3.12/dist-packages/cv2/__init__.py", line 153, in bootstrap
    native_module = importlib.import_module("cv2")
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/importlib/__init__.py", line 90, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ImportError: libxcb.so.1: cannot open shared object file: No such file or directory

Steps/Code to reproduce bug

Mulitmodal(MM) or vision language model deployment with NeMO FW's MBridge will be available in a public container with 26.02 container release (2/19). Can share details offline on the internal containers that can be used to reproduce this in the meantime. The eval snippet used is as below after running pip install nvidia-vlmeval

from nemo_evaluator.api import check_endpoint, evaluate
from nemo_evaluator.api.api_dataclasses import (
    ApiEndpoint,
    ConfigParams,
    EvaluationConfig,
    EvaluationTarget,
)

# Configure the evaluation target
api_endpoint = ApiEndpoint(
    url="http://0.0.0.0:1235/v1/chat/completions/",
    type="vlm",
    model_id="megatron-model",
)
eval_target = EvaluationTarget(api_endpoint=api_endpoint)
eval_params = ConfigParams(top_p=0, temperature=0, limit_samples=2, parallelism=1)
eval_config = EvaluationConfig(type="ocrbench", params=eval_params, output_dir="results")

if __name__ == "__main__":
    evaluate(target_cfg=eval_target, eval_cfg=eval_config)

Expected behavior

A clear and concise description of what you expected to happen.

Additional context

Add any other context about the problem here.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions