Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 11 additions & 4 deletions vlmeval/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -2424,10 +2424,17 @@
}

lfm2vl_series = {
"LFM2-VL-450M": partial(vlm.LFM2VL, model_path="LiquidAI/LFM2-VL-450M"),
"LFM2-VL-1.6B": partial(vlm.LFM2VL, model_path="LiquidAI/LFM2-VL-1.6B"),
"LFM2-VL-3B": partial(vlm.LFM2VL, model_path="LiquidAI/LFM2-VL-3B"),
"LFM2.5-VL-1.6B": partial(vlm.LFM2VL, model_path="LiquidAI/LFM2.5-VL-1.6B"),
"LFM2-VL-450M": partial(
vlm.LFM2VL, model_path="LiquidAI/LFM2-VL-450M", use_custom_prompt=False,
),
"LFM2-VL-1.6B": partial(
vlm.LFM2VL, model_path="LiquidAI/LFM2-VL-1.6B", use_custom_prompt=False,
),
"LFM2-VL-3B": partial(vlm.LFM2VL, model_path="LiquidAI/LFM2-VL-3B", use_custom_prompt=False),
"LFM2.5-VL-1.6B": partial(
vlm.LFM2VL, model_path="LiquidAI/LFM2.5-VL-1.6B", use_custom_prompt=False,
),
"LFM2.5-VL-3B": partial(vlm.LFM2VL, model_path="LiquidAI/LFM2.5-VL-3B"),
}

covt_series = {
Expand Down
3 changes: 2 additions & 1 deletion vlmeval/dataset/mmifeval.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
from vlmeval.utils import track_progress_rich
from .image_base import ImageBaseDataset
from .utils import DEBUG_MESSAGE, build_judge
from .utils.mmif import function_and_compare

logger = get_logger(__name__)

Expand Down Expand Up @@ -293,7 +294,7 @@ def judge_one_item(item, retry=3):
score = 1.0
# breakpoint()
for func_dict in constraint["judge"]["verify_funcs"]:
func = globals()[func_dict["func"]]
func = getattr(function_and_compare, func_dict["func"])
# use * to unpack the list, ** is used for dict
judge_result = func(str(item["prediction"]), *func_dict["params"])
# breakpoint()
Expand Down
3 changes: 1 addition & 2 deletions vlmeval/smp/file.py
Original file line number Diff line number Diff line change
Expand Up @@ -73,8 +73,7 @@ def localize_df(data, dname, nproc=32):
ret = pool.map(decode_img_omni, tups)
pool.close()
data.pop('image')
if 'image_path' not in data:
data['image_path'] = [x[0] if len(x) == 1 else x for x in ret]
data['image_path'] = [x[0] if len(x) == 1 else x for x in ret]
return data

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Potential regression: This change removes the if 'image_path' not in data guard and unconditionally overwrites a caller-provided image_path.

localize_df already treats an existing image_path as the authoritative filename mapping (img_paths = list(data['image_path'])). However, decode_img_omni returns osp.join(root, p) for every entry, so
relative paths are rewritten under LMUData/images/<dname>/. It also skips decoding short reference values, meaning this can produce a new path that was never created when the original image_path pointed to
an already-localized file.

This affects every caller of the shared localization helper, not only LFM2.5-VL. Could we keep the existing guard and handle any LFM-specific path normalization at the relevant caller, or add a regression test
covering pre-existing relative/absolute image_path values and short image references?



Expand Down
Loading