2026-07-08 08:57:50 +00:00

143 lines
4.4 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

from dotenv import dotenv_values
env = dotenv_values('.env')
import os
import unittest
from evalscope.config import TaskConfig
from evalscope.constants import EvalType, JudgeStrategy, ModelTask, OutputType
from evalscope.run import run_task
from evalscope.utils.logger import get_logger
from tests.utils import test_level_list
os.environ['EVALSCOPE_LOG_LEVEL'] = 'DEBUG'
logger = get_logger()
class TestRun(unittest.TestCase):
@unittest.skipUnless(0 in test_level_list(), 'skip test in current test level')
def test_run_general(self):
from evalscope.config import TaskConfig
task_cfg = TaskConfig(
datasets=[
'general_t2i'
],
model_task=ModelTask.IMAGE_GENERATION, # must be IMAGE_GENERATION
dataset_args={
'general_t2i': {
'metric_list': [
'PickScore',
# 'CLIPScore',
# 'HPSv2Score',
# 'HPSv2.1Score',
# 'BLIPv2Score',
# 'ImageRewardScore',
# 'VQAScore',
# 'FGA_BLIP2Score',
# 'MPS'
],
'dataset_id': 'custom_eval/multimodal/t2i/example.jsonl',
}
}
)
run_task(task_cfg=task_cfg)
def test_run_local_evalmuse(self):
from evalscope import TaskConfig, run_task
task_cfg = TaskConfig(
model_id='T2I-Model', # 只用于展示实际运行时不需要指定模型ID
model_task=ModelTask.IMAGE_GENERATION,
datasets=[
'evalmuse', # 使用 EvalMuse benchmark
],
dataset_args={
'evalmuse': {
'dataset_id': 'data/example.jsonl', # 构建的jsonl路径
}
},
)
run_task(task_cfg=task_cfg)
@unittest.skipUnless(0 in test_level_list(), 'skip test in current test level')
def test_run_benchmark(self):
task_cfg = TaskConfig(
model='stabilityai/stable-diffusion-xl-base-1.0', # model on modelscope
model_task=ModelTask.IMAGE_GENERATION, # must be IMAGE_GENERATION
model_args={
'use_safetensors': True,
'variant': 'fp16',
'torch_dtype': 'torch.float16',
},
datasets=[
# 'tifa160',
# 'genai_bench',
'evalmuse',
# 'hpdv2',
],
dataset_args={
'tifa160': {
'metric_list': [
# 'PickScore',
# 'CLIPScore',
# 'HPSv2Score',
# 'BLIPv2Score',
# 'ImageRewardScore',
# 'VQAScore',
'FGA_BLIP2Score',
]
}
},
limit=5,
generation_config={
'num_inference_steps': 50,
'guidance_scale': 7.5
},
# use_cache='outputs/20250427_134122',
)
run_task(task_cfg=task_cfg)
@unittest.skipUnless(0 in test_level_list(), 'skip test in current test level')
def test_run_benchmark_flux(self):
task_cfg = TaskConfig(
model='black-forest-labs/FLUX.1-dev', # model on modelscope
model_task=ModelTask.IMAGE_GENERATION, # must be IMAGE_GENERATION
model_args={
'torch_dtype': 'torch.float16',
},
datasets=[
# 'tifa160',
# 'genai_bench',
'evalmuse',
# 'hpdv2',
],
dataset_args={
'tifa160': {
'metric_list': [
'PickScore',
# 'CLIPScore',
# 'HPSv2Score',
# 'BLIPv2Score',
# 'ImageRewardScore',
# 'VQAScore',
# 'FGA_BLIP2Score',
]
}
},
generation_config={
'num_inference_steps': 50,
'guidance_scale': 3.5
},
use_cache='outputs/20250520_112314'
)
run_task(task_cfg=task_cfg)