KingNish commited on
Commit
8953cf1
·
verified ·
1 Parent(s): e698ae3

Delete eval

Browse files
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. eval/__init__.py +0 -2
  2. eval/gen/gen_images_mp.py +0 -238
  3. eval/gen/gen_images_mp_wise.py +0 -365
  4. eval/gen/geneval/evaluation/download_models.sh +0 -20
  5. eval/gen/geneval/evaluation/evaluate_images.py +0 -304
  6. eval/gen/geneval/evaluation/evaluate_images_mp.py +0 -332
  7. eval/gen/geneval/evaluation/object_names.txt +0 -80
  8. eval/gen/geneval/evaluation/summary_scores.py +0 -64
  9. eval/gen/geneval/prompts/create_prompts.py +0 -194
  10. eval/gen/geneval/prompts/evaluation_metadata.jsonl +0 -553
  11. eval/gen/geneval/prompts/evaluation_metadata_long.jsonl +0 -0
  12. eval/gen/geneval/prompts/generation_prompts.txt +0 -553
  13. eval/gen/geneval/prompts/object_names.txt +0 -80
  14. eval/gen/wise/cal_score.py +0 -162
  15. eval/gen/wise/final_data.json +0 -0
  16. eval/gen/wise/gpt_eval_mp.py +0 -268
  17. eval/vlm/__init__.py +0 -2
  18. eval/vlm/eval/mathvista/calculate_score.py +0 -271
  19. eval/vlm/eval/mathvista/evaluate_mathvista.py +0 -210
  20. eval/vlm/eval/mathvista/extract_answer.py +0 -160
  21. eval/vlm/eval/mathvista/extract_answer_mp.py +0 -161
  22. eval/vlm/eval/mathvista/prompts/ext_ans.py +0 -51
  23. eval/vlm/eval/mathvista/utilities.py +0 -229
  24. eval/vlm/eval/mmbench/evaluate_mmbench.py +0 -283
  25. eval/vlm/eval/mme/Your_Results/OCR.txt +0 -40
  26. eval/vlm/eval/mme/Your_Results/artwork.txt +0 -400
  27. eval/vlm/eval/mme/Your_Results/celebrity.txt +0 -340
  28. eval/vlm/eval/mme/Your_Results/code_reasoning.txt +0 -40
  29. eval/vlm/eval/mme/Your_Results/color.txt +0 -60
  30. eval/vlm/eval/mme/Your_Results/commonsense_reasoning.txt +0 -140
  31. eval/vlm/eval/mme/Your_Results/count.txt +0 -60
  32. eval/vlm/eval/mme/Your_Results/existence.txt +0 -60
  33. eval/vlm/eval/mme/Your_Results/landmark.txt +0 -400
  34. eval/vlm/eval/mme/Your_Results/numerical_calculation.txt +0 -40
  35. eval/vlm/eval/mme/Your_Results/position.txt +0 -60
  36. eval/vlm/eval/mme/Your_Results/posters.txt +0 -294
  37. eval/vlm/eval/mme/Your_Results/scene.txt +0 -400
  38. eval/vlm/eval/mme/Your_Results/text_translation.txt +0 -40
  39. eval/vlm/eval/mme/calculation.py +0 -184
  40. eval/vlm/eval/mme/eval.py +0 -74
  41. eval/vlm/eval/mmmu/answer_dict_val.json +0 -0
  42. eval/vlm/eval/mmmu/data_utils.py +0 -187
  43. eval/vlm/eval/mmmu/eval_utils.py +0 -275
  44. eval/vlm/eval/mmmu/evaluate_mmmu.py +0 -272
  45. eval/vlm/eval/mmmu/evaluate_mmmu_cot.py +0 -252
  46. eval/vlm/eval/mmmu/main_eval_only.py +0 -113
  47. eval/vlm/eval/mmvet/evaluate_mmvet.py +0 -112
  48. eval/vlm/eval/mmvp/evaluate_mmvp.py +0 -258
  49. eval/vlm/eval/pope/eval_pope.py +0 -120
  50. eval/vlm/eval/pope/evaluate_pope.py +0 -231
eval/__init__.py DELETED
@@ -1,2 +0,0 @@
1
- # Copyright 2025 Bytedance Ltd. and/or its affiliates.
2
- # SPDX-License-Identifier: Apache-2.0
 
 
 
eval/gen/gen_images_mp.py DELETED
@@ -1,238 +0,0 @@
1
- # Copyright 2025 Bytedance Ltd. and/or its affiliates.
2
- # SPDX-License-Identifier: Apache-2.0
3
-
4
- import os
5
- import json
6
- import argparse
7
- from safetensors.torch import load_file
8
-
9
- import torch
10
- import torch.distributed as dist
11
- from data.data_utils import add_special_tokens
12
- from modeling.bagel import (
13
- BagelConfig, Bagel, Qwen2Config, Qwen2ForCausalLM, SiglipVisionConfig, SiglipVisionModel
14
- )
15
- from modeling.qwen2 import Qwen2Tokenizer
16
- from modeling.autoencoder import load_ae
17
-
18
- from PIL import Image
19
- from modeling.bagel.qwen2_navit import NaiveCache
20
-
21
-
22
- def move_generation_input_to_device(generation_input, device):
23
- # Utility to move all tensors in generation_input to device
24
- for k, v in generation_input.items():
25
- if isinstance(v, torch.Tensor):
26
- generation_input[k] = v.to(device)
27
- return generation_input
28
-
29
-
30
- def setup_distributed():
31
- dist.init_process_group(backend="nccl")
32
- torch.cuda.set_device(int(os.environ["LOCAL_RANK"]))
33
-
34
-
35
- def generate_image(prompt, num_timesteps=50, cfg_scale=10.0, cfg_interval=[0, 1.0], cfg_renorm_min=0., timestep_shift=1.0, num_images=4, resolution=512, device=None): # 添加device参数
36
- past_key_values = NaiveCache(gen_model.config.llm_config.num_hidden_layers)
37
- newlens = [0] * num_images
38
- new_rope = [0] * num_images
39
-
40
- generation_input, newlens, new_rope = gen_model.prepare_prompts(
41
- curr_kvlens=newlens,
42
- curr_rope=new_rope,
43
- prompts=[prompt] * num_images,
44
- tokenizer=tokenizer,
45
- new_token_ids=new_token_ids,
46
- )
47
- generation_input = move_generation_input_to_device(generation_input, device)
48
-
49
- with torch.no_grad():
50
- with torch.amp.autocast("cuda", enabled=True, dtype=torch.float16):
51
- past_key_values = gen_model.forward_cache_update_text(past_key_values, **generation_input)
52
-
53
- generation_input = gen_model.prepare_vae_latent(
54
- curr_kvlens=newlens,
55
- curr_rope=new_rope,
56
- image_sizes=[(resolution, resolution)] * num_images,
57
- new_token_ids=new_token_ids,
58
- )
59
- generation_input = move_generation_input_to_device(generation_input, device)
60
-
61
- cfg_past_key_values = NaiveCache(gen_model.config.llm_config.num_hidden_layers)
62
- cfg_newlens = [0] * num_images
63
- cfg_new_rope = [0] * num_images
64
-
65
- generation_input_cfg = model.prepare_vae_latent_cfg(
66
- curr_kvlens=cfg_newlens,
67
- curr_rope=cfg_new_rope,
68
- image_sizes=[(resolution, resolution)] * num_images,
69
- )
70
- generation_input_cfg = move_generation_input_to_device(generation_input_cfg, device)
71
-
72
- with torch.no_grad():
73
- with torch.amp.autocast("cuda", enabled=True, dtype=torch.bfloat16):
74
- unpacked_latent = gen_model.generate_image(
75
- past_key_values=past_key_values,
76
- num_timesteps=num_timesteps,
77
- cfg_text_scale=cfg_scale,
78
- cfg_interval=cfg_interval,
79
- cfg_renorm_min=cfg_renorm_min,
80
- timestep_shift=timestep_shift,
81
- cfg_text_past_key_values=cfg_past_key_values,
82
- cfg_text_packed_position_ids=generation_input_cfg["cfg_packed_position_ids"],
83
- cfg_text_key_values_lens=generation_input_cfg["cfg_key_values_lens"],
84
- cfg_text_packed_query_indexes=generation_input_cfg["cfg_packed_query_indexes"],
85
- cfg_text_packed_key_value_indexes=generation_input_cfg["cfg_packed_key_value_indexes"],
86
- **generation_input,
87
- )
88
-
89
- image_list = []
90
- for latent in unpacked_latent:
91
- latent = latent.reshape(1, resolution//16, resolution//16, 2, 2, 16)
92
- latent = torch.einsum("nhwpqc->nchpwq", latent)
93
- latent = latent.reshape(1, 16, resolution//8, resolution//8)
94
- image = vae_model.decode(latent.to(device))
95
- tmpimage = ((image * 0.5 + 0.5).clamp(0, 1)[0].permute(1, 2, 0) * 255).to(torch.uint8).cpu().numpy()
96
- tmpimage = Image.fromarray(tmpimage)
97
- image_list.append(tmpimage)
98
-
99
- return image_list
100
-
101
-
102
- if __name__ == "__main__":
103
- parser = argparse.ArgumentParser(description="Generate images using Bagel model.")
104
- parser.add_argument("--output_dir", type=str, required=True, help="Directory to save the generated images.")
105
- parser.add_argument("--metadata_file", type=str, required=True, help="JSONL file containing lines of metadata for each prompt.")
106
- parser.add_argument("--num_images", type=int, default=4)
107
- parser.add_argument("--batch_size", type=int, default=4)
108
- parser.add_argument("--cfg_scale", type=float, default=4)
109
- parser.add_argument("--resolution", type=int, default=1024)
110
- parser.add_argument("--max_latent_size", type=int, default=64)
111
- parser.add_argument('--model-path', type=str, default='hf/BAGEL-7B-MoT/')
112
- args = parser.parse_args()
113
-
114
- seed = 42
115
- if seed is not None:
116
- import random
117
- import numpy as np
118
- random.seed(seed)
119
- np.random.seed(seed)
120
- torch.manual_seed(seed)
121
- if torch.cuda.is_available():
122
- torch.cuda.manual_seed(seed)
123
- torch.cuda.manual_seed_all(seed)
124
- torch.backends.cudnn.deterministic = True
125
- torch.backends.cudnn.benchmark = False
126
-
127
- setup_distributed()
128
- rank = dist.get_rank()
129
- world_size = dist.get_world_size()
130
- device = f"cuda:{rank}"
131
-
132
- output_dir = args.output_dir
133
- os.makedirs(output_dir, exist_ok=True)
134
- if rank == 0:
135
- print(f"Output images are saved in {output_dir}")
136
-
137
- llm_config = Qwen2Config.from_json_file(os.path.join(args.model_path, "llm_config.json"))
138
- llm_config.qk_norm = True
139
- llm_config.tie_word_embeddings = False
140
- llm_config.layer_module = "Qwen2MoTDecoderLayer"
141
-
142
- vit_config = SiglipVisionConfig.from_json_file(os.path.join(args.model_path, "vit_config.json"))
143
- vit_config.rope = False
144
- vit_config.num_hidden_layers = vit_config.num_hidden_layers - 1
145
-
146
- vae_model, vae_config = load_ae(local_path=os.path.join(args.model_path, "ae.safetensors"))
147
-
148
- config = BagelConfig(
149
- visual_gen=True,
150
- visual_und=True,
151
- llm_config=llm_config,
152
- vit_config=vit_config,
153
- vae_config=vae_config,
154
- vit_max_num_patch_per_side=70,
155
- connector_act='gelu_pytorch_tanh',
156
- latent_patch_size=2,
157
- max_latent_size=args.max_latent_size,
158
- )
159
- language_model = Qwen2ForCausalLM(llm_config)
160
- vit_model = SiglipVisionModel(vit_config)
161
- model = Bagel(language_model, vit_model, config)
162
- model.vit_model.vision_model.embeddings.convert_conv2d_to_linear(vit_config)
163
-
164
- tokenizer = Qwen2Tokenizer.from_pretrained(args.model_path)
165
- tokenizer, new_token_ids, _ = add_special_tokens(tokenizer)
166
-
167
- model_state_dict_path = os.path.join(args.model_path, "ema.safetensors")
168
- model_state_dict = load_file(model_state_dict_path, device="cpu")
169
- msg = model.load_state_dict(model_state_dict, strict=False)
170
- if rank == 0:
171
- print(msg)
172
- del model_state_dict
173
-
174
- model = model.to(device).eval()
175
- vae_model = vae_model.to(device).eval()
176
- gen_model = model
177
-
178
- cfg_scale = args.cfg_scale
179
- cfg_interval = [0, 1.0]
180
- timestep_shift = 3.0
181
- num_timesteps = 50
182
- cfg_renorm_min = 0.0
183
-
184
- with open(args.metadata_file, "r", encoding="utf-8") as fp:
185
- metadatas = [json.loads(line) for line in fp]
186
- total_metadatas = len(metadatas)
187
-
188
- prompts_per_gpu = (total_metadatas + world_size - 1) // world_size
189
- start = rank * prompts_per_gpu
190
- end = min(start + prompts_per_gpu, total_metadatas)
191
- print(f"GPU {rank}: Processing {end - start} prompts (indices {start} to {end - 1})")
192
-
193
- for idx in range(start, end):
194
- metadata = metadatas[idx]
195
- outpath = os.path.join(output_dir, f"{idx:0>5}")
196
- os.makedirs(outpath, exist_ok=True)
197
- prompt = metadata['prompt']
198
- print(f"GPU {rank} processing prompt {idx - start + 1}/{end - start}: '{prompt}'")
199
-
200
- sample_path = os.path.join(outpath, "samples")
201
- os.makedirs(sample_path, exist_ok=True)
202
-
203
- flag = True
204
- for idx in range(args.num_images):
205
- if not os.path.exists(os.path.join(sample_path, f"{idx:05}.png")):
206
- flag = False
207
- break
208
- if flag:
209
- print(f"GPU {rank} skipping generation for prompt: {prompt}")
210
- continue
211
-
212
- with open(os.path.join(outpath, "metadata.jsonl"), "w", encoding="utf-8") as fp:
213
- json.dump(metadata, fp)
214
-
215
- image_list = []
216
-
217
- for i in range(args.num_images // args.batch_size):
218
- tmp_image_list = generate_image(
219
- prompt=prompt,
220
- cfg_scale=cfg_scale,
221
- cfg_interval=cfg_interval,
222
- cfg_renorm_min=cfg_renorm_min,
223
- timestep_shift=timestep_shift,
224
- num_timesteps=num_timesteps,
225
- num_images=args.batch_size,
226
- resolution=args.resolution,
227
- device=device,
228
- )
229
- image_list.extend(tmp_image_list)
230
-
231
- sample_count = 0
232
- for sample in image_list:
233
- sample = sample.crop(sample.getbbox())
234
- sample.save(os.path.join(sample_path, f"{sample_count:05}.png"))
235
- sample_count += 1
236
-
237
- print(f"GPU {rank} has completed all tasks")
238
- dist.barrier()
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
eval/gen/gen_images_mp_wise.py DELETED
@@ -1,365 +0,0 @@
1
- # Copyright 2025 Bytedance Ltd. and/or its affiliates.
2
- # SPDX-License-Identifier: Apache-2.0
3
-
4
- import os
5
- import json
6
- import argparse
7
- from safetensors.torch import load_file
8
-
9
- import torch
10
- import torch.distributed as dist
11
- from data.data_utils import add_special_tokens
12
- from modeling.bagel import (
13
- BagelConfig, Bagel, Qwen2Config, Qwen2ForCausalLM, SiglipVisionConfig, SiglipVisionModel
14
- )
15
- from modeling.qwen2 import Qwen2Tokenizer
16
- from modeling.autoencoder import load_ae
17
-
18
- import copy
19
- from PIL import Image
20
- from modeling.bagel.qwen2_navit import NaiveCache
21
-
22
-
23
- def setup_distributed():
24
- dist.init_process_group(backend="nccl")
25
- torch.cuda.set_device(int(os.environ["LOCAL_RANK"]))
26
-
27
-
28
- SYSTEM_PROMPT = '''You should first think about the planning process in the mind and then generate the image.
29
- The planning process is enclosed within <think> </think> tags, i.e. <think> planning process here </think> image here'''
30
-
31
-
32
- def move_generation_input_to_device(generation_input, device):
33
- # Utility to move all tensors in generation_input to device
34
- for k, v in generation_input.items():
35
- if isinstance(v, torch.Tensor):
36
- generation_input[k] = v.to(device)
37
- return generation_input
38
-
39
-
40
- def generate_image_with_think(
41
- prompt, num_timesteps=50, cfg_scale=4.0, cfg_interval=[0, 1.0], cfg_renorm_min=0., timestep_shift=4.0, resolution=1024,
42
- max_length=2048, simple_think=False, device=None
43
- ):
44
- h, w = resolution, resolution
45
-
46
- past_key_values = NaiveCache(model.config.llm_config.num_hidden_layers)
47
- newlens = [0]
48
- new_rope = [0]
49
-
50
- # system prompt
51
- generation_input, newlens, new_rope = model.prepare_prompts(
52
- curr_kvlens=newlens,
53
- curr_rope=new_rope,
54
- prompts=[SYSTEM_PROMPT],
55
- tokenizer=tokenizer,
56
- new_token_ids=new_token_ids,
57
- )
58
- generation_input = move_generation_input_to_device(generation_input, device)
59
- with torch.amp.autocast("cuda", enabled=True, dtype=torch.bfloat16):
60
- past_key_values = model.forward_cache_update_text(past_key_values, **generation_input)
61
-
62
- ########## cfg
63
- generation_input_cfg = model.prepare_vae_latent_cfg(
64
- curr_kvlens=newlens,
65
- curr_rope=new_rope,
66
- image_sizes=[(h, w)],
67
- )
68
- generation_input_cfg = move_generation_input_to_device(generation_input_cfg, device)
69
- ########## cfg
70
-
71
- generation_input, newlens, new_rope = model.prepare_prompts(
72
- curr_kvlens=newlens,
73
- curr_rope=new_rope,
74
- prompts=[prompt],
75
- tokenizer=tokenizer,
76
- new_token_ids=new_token_ids,
77
- )
78
- generation_input = move_generation_input_to_device(generation_input, device)
79
- with torch.amp.autocast("cuda", enabled=True, dtype=torch.bfloat16):
80
- past_key_values = model.forward_cache_update_text(past_key_values, **generation_input)
81
-
82
- ########## think
83
- tmp_past_key_values = copy.deepcopy(past_key_values)
84
- tmp_newlens = copy.deepcopy(newlens)
85
- tmp_new_rope = copy.deepcopy(new_rope)
86
- tmp_generation_input, tmp_newlens, tmp_new_rope = model.prepare_prompts(
87
- curr_kvlens=tmp_newlens,
88
- curr_rope=tmp_new_rope,
89
- prompts=[prompt],
90
- tokenizer=tokenizer,
91
- new_token_ids=new_token_ids,
92
- )
93
- tmp_generation_input = move_generation_input_to_device(tmp_generation_input, device)
94
- with torch.amp.autocast("cuda", enabled=True, dtype=torch.bfloat16):
95
- tmp_past_key_values = model.forward_cache_update_text(tmp_past_key_values, **tmp_generation_input)
96
-
97
- tmp_generation_input = model.prepare_start_tokens(tmp_newlens, tmp_new_rope, new_token_ids)
98
- tmp_generation_input = move_generation_input_to_device(tmp_generation_input, device)
99
- with torch.amp.autocast("cuda", enabled=True, dtype=torch.bfloat16):
100
- unpacked_latent = model.generate_text(
101
- past_key_values=tmp_past_key_values,
102
- max_length=max_length,
103
- do_sample=True,
104
- temperature=0.3,
105
- end_token_id=new_token_ids['eos_token_id'],
106
- **tmp_generation_input,
107
- )
108
- output = tokenizer.decode(unpacked_latent[:,0])
109
- think_output = output.split('<|im_end|>')[0].split('<|im_start|>')[1]
110
-
111
- print("="*30, "original think", "="*30)
112
- print(think_output)
113
- if simple_think:
114
- think_output_list = think_output.split("</think>")
115
- if think_output_list[1] != "":
116
- think_output = think_output_list[1].strip()
117
- print("="*30, "processed think", "="*30)
118
- print(think_output)
119
- ########## think
120
-
121
- generation_input, newlens, new_rope = model.prepare_prompts(
122
- curr_kvlens=newlens,
123
- curr_rope=new_rope,
124
- prompts=[think_output],
125
- tokenizer=tokenizer,
126
- new_token_ids=new_token_ids,
127
- )
128
- generation_input = move_generation_input_to_device(generation_input, device)
129
- with torch.amp.autocast("cuda", enabled=True, dtype=torch.bfloat16):
130
- past_key_values = model.forward_cache_update_text(past_key_values, **generation_input)
131
-
132
- generation_input = model.prepare_vae_latent(
133
- curr_kvlens=newlens,
134
- curr_rope=new_rope,
135
- image_sizes=[(h, w)],
136
- new_token_ids=new_token_ids,
137
- )
138
- generation_input = move_generation_input_to_device(generation_input, device)
139
-
140
- ########## generate image
141
- with torch.amp.autocast("cuda", enabled=True, dtype=torch.bfloat16):
142
- unpacked_latent = model.generate_image(
143
- past_key_values=past_key_values,
144
- num_timesteps=num_timesteps,
145
- cfg_text_scale=cfg_scale,
146
- cfg_interval=cfg_interval,
147
- timestep_shift=timestep_shift,
148
- cfg_renorm_min=cfg_renorm_min,
149
- cfg_renorm_type="global",
150
- cfg_text_past_key_values=None,
151
- cfg_text_packed_position_ids=generation_input_cfg["cfg_packed_position_ids"],
152
- cfg_text_key_values_lens=generation_input_cfg["cfg_key_values_lens"],
153
- cfg_text_packed_query_indexes=generation_input_cfg["cfg_packed_query_indexes"],
154
- cfg_text_packed_key_value_indexes=generation_input_cfg["cfg_packed_key_value_indexes"],
155
- **generation_input,
156
- )
157
-
158
- latent0 = unpacked_latent[0]
159
- latent0 = latent0.reshape(1, h//16, w//16, 2, 2, 16)
160
- latent0 = torch.einsum("nhwpqc->nchpwq", latent0)
161
- latent0 = latent0.reshape(1, 16, h//8, w//8)
162
- image = vae_model.decode(latent0.to(device))
163
- tmpimage = ((image * 0.5 + 0.5).clamp(0, 1)[0].permute(1, 2, 0) * 255).to(torch.uint8).cpu().numpy()
164
- tmpimage = Image.fromarray(tmpimage)
165
-
166
- return tmpimage, think_output
167
-
168
-
169
- def generate_image(prompt, num_timesteps=50, cfg_scale=4.0, cfg_interval=[0, 1.0], cfg_renorm_min=0., timestep_shift=1.0, resolution=1024, device=None):
170
- past_key_values = NaiveCache(gen_model.config.llm_config.num_hidden_layers)
171
- newlens = [0]
172
- new_rope = [0]
173
-
174
- generation_input, newlens, new_rope = gen_model.prepare_prompts(
175
- curr_kvlens=newlens,
176
- curr_rope=new_rope,
177
- prompts=[prompt],
178
- tokenizer=tokenizer,
179
- new_token_ids=new_token_ids,
180
- )
181
- generation_input = move_generation_input_to_device(generation_input, device)
182
-
183
- with torch.no_grad():
184
- with torch.amp.autocast("cuda", enabled=True, dtype=torch.float16):
185
- past_key_values = gen_model.forward_cache_update_text(past_key_values, **generation_input)
186
-
187
- generation_input = gen_model.prepare_vae_latent(
188
- curr_kvlens=newlens,
189
- curr_rope=new_rope,
190
- image_sizes=[(resolution, resolution)],
191
- new_token_ids=new_token_ids,
192
- )
193
- generation_input = move_generation_input_to_device(generation_input, device)
194
-
195
- cfg_past_key_values = NaiveCache(gen_model.config.llm_config.num_hidden_layers)
196
- cfg_newlens = [0]
197
- cfg_new_rope = [0]
198
-
199
- generation_input_cfg = model.prepare_vae_latent_cfg(
200
- curr_kvlens=cfg_newlens,
201
- curr_rope=cfg_new_rope,
202
- image_sizes=[(resolution, resolution)],
203
- )
204
- generation_input_cfg = move_generation_input_to_device(generation_input_cfg, device)
205
- with torch.no_grad():
206
- with torch.amp.autocast("cuda", enabled=True, dtype=torch.bfloat16):
207
- unpacked_latent = gen_model.generate_image(
208
- past_key_values=past_key_values,
209
- num_timesteps=num_timesteps,
210
- cfg_text_scale=cfg_scale,
211
- cfg_interval=cfg_interval,
212
- cfg_renorm_min=cfg_renorm_min,
213
- timestep_shift=timestep_shift,
214
- cfg_text_past_key_values=cfg_past_key_values,
215
- cfg_text_packed_position_ids=generation_input_cfg["cfg_packed_position_ids"],
216
- cfg_text_key_values_lens=generation_input_cfg["cfg_key_values_lens"],
217
- cfg_text_packed_query_indexes=generation_input_cfg["cfg_packed_query_indexes"],
218
- cfg_text_packed_key_value_indexes=generation_input_cfg["cfg_packed_key_value_indexes"],
219
- **generation_input,
220
- )
221
-
222
- latent = unpacked_latent[0]
223
- latent = latent.reshape(1, resolution//16, resolution//16, 2, 2, 16)
224
- latent = torch.einsum("nhwpqc->nchpwq", latent)
225
- latent = latent.reshape(1, 16, resolution//8, resolution//8)
226
- image = vae_model.decode(latent.to(device))
227
- tmpimage = ((image * 0.5 + 0.5).clamp(0, 1)[0].permute(1, 2, 0) * 255).to(torch.uint8).cpu().numpy()
228
- tmpimage = Image.fromarray(tmpimage)
229
-
230
- return tmpimage
231
-
232
-
233
- if __name__ == "__main__":
234
- parser = argparse.ArgumentParser(description="Generate images using Bagel model.")
235
- parser.add_argument("--output_dir", type=str, required=True, help="Directory to save the generated images.")
236
- parser.add_argument("--metadata_file", type=str, required=True, help="JSON file containing lines of metadata for each prompt.")
237
- parser.add_argument("--cfg_scale", type=float, default=4)
238
- parser.add_argument("--resolution", type=int, default=1024)
239
- parser.add_argument("--max_latent_size", type=int, default=64)
240
- parser.add_argument("--think", action="store_true")
241
- parser.add_argument('--model-path', type=str, default='hf/BAGEL-7B-MoT/')
242
- args = parser.parse_args()
243
-
244
- seed = 42
245
- if seed is not None:
246
- import random
247
- import numpy as np
248
- random.seed(seed)
249
- np.random.seed(seed)
250
- torch.manual_seed(seed)
251
- if torch.cuda.is_available():
252
- torch.cuda.manual_seed(seed)
253
- torch.cuda.manual_seed_all(seed)
254
- torch.backends.cudnn.deterministic = True
255
- torch.backends.cudnn.benchmark = False
256
-
257
- setup_distributed()
258
- rank = dist.get_rank()
259
- world_size = dist.get_world_size()
260
- device = f"cuda:{rank}"
261
-
262
- output_dir = args.output_dir
263
- os.makedirs(output_dir, exist_ok=True)
264
- if rank == 0:
265
- print(f"Output images are saved in {output_dir}")
266
-
267
- llm_config = Qwen2Config.from_json_file(os.path.join(args.model_path, "llm_config.json"))
268
- llm_config.qk_norm = True
269
- llm_config.tie_word_embeddings = False
270
- llm_config.layer_module = "Qwen2MoTDecoderLayer"
271
-
272
- vit_config = SiglipVisionConfig.from_json_file(os.path.join(args.model_path, "vit_config.json"))
273
- vit_config.rope = False
274
- vit_config.num_hidden_layers = vit_config.num_hidden_layers - 1
275
-
276
- vae_model, vae_config = load_ae(local_path=os.path.join(args.model_path, "ae.safetensors"))
277
-
278
- config = BagelConfig(
279
- visual_gen=True,
280
- visual_und=True,
281
- llm_config=llm_config,
282
- vit_config=vit_config,
283
- vae_config=vae_config,
284
- vit_max_num_patch_per_side=70,
285
- connector_act='gelu_pytorch_tanh',
286
- latent_patch_size=2,
287
- max_latent_size=args.max_latent_size,
288
- )
289
- language_model = Qwen2ForCausalLM(llm_config)
290
- vit_model = SiglipVisionModel(vit_config)
291
- model = Bagel(language_model, vit_model, config)
292
- model.vit_model.vision_model.embeddings.convert_conv2d_to_linear(vit_config)
293
-
294
- tokenizer = Qwen2Tokenizer.from_pretrained(args.model_path)
295
- tokenizer, new_token_ids, _ = add_special_tokens(tokenizer)
296
-
297
- model_state_dict_path = os.path.join(args.model_path, "ema.safetensors")
298
- model_state_dict = load_file(model_state_dict_path, device="cpu")
299
- msg = model.load_state_dict(model_state_dict, strict=False)
300
- if rank == 0:
301
- print(msg)
302
-
303
- del model_state_dict
304
- model = model.to(device).eval()
305
- vae_model = vae_model.to(device).eval()
306
- gen_model = model
307
-
308
- cfg_scale = args.cfg_scale
309
- cfg_interval = [0.4, 1.0]
310
- timestep_shift = 3.0
311
- num_timesteps = 50
312
- cfg_renorm_min = 0.0
313
-
314
- with open(args.metadata_file, "r") as f:
315
- metadatas = json.load(f)
316
- total_metadatas = len(metadatas)
317
-
318
- prompts_per_gpu = (total_metadatas + world_size - 1) // world_size
319
- start = rank * prompts_per_gpu
320
- end = min(start + prompts_per_gpu, total_metadatas)
321
- print(f"GPU {rank}: Processing {end - start} prompts (indices {start} to {end - 1})")
322
-
323
- for idx in range(start, end):
324
- metadata = metadatas[idx]
325
- prompt = metadata['Prompt']
326
- prompt_id = metadata['prompt_id']
327
- outpath = os.path.join(output_dir, f"{prompt_id}.png")
328
- print(f"GPU {rank} processing prompt {idx - start + 1}/{end - start}: '{prompt}'")
329
-
330
- if os.path.exists(outpath):
331
- print(f"GPU {rank} skipping generation for prompt: {prompt}")
332
- continue
333
-
334
- if args.think:
335
- tmpimage, think_output = generate_image_with_think(
336
- prompt=prompt,
337
- cfg_scale=cfg_scale,
338
- cfg_interval=cfg_interval,
339
- cfg_renorm_min=cfg_renorm_min,
340
- timestep_shift=timestep_shift,
341
- num_timesteps=num_timesteps,
342
- resolution=args.resolution,
343
- max_length=2048,
344
- simple_think=False,
345
- device=device,
346
- )
347
- with open(outpath.replace(".png", ".txt"), "w") as f:
348
- f.write(think_output)
349
- else:
350
- tmpimage = generate_image(
351
- prompt=prompt,
352
- cfg_scale=cfg_scale,
353
- cfg_interval=cfg_interval,
354
- cfg_renorm_min=cfg_renorm_min,
355
- timestep_shift=timestep_shift,
356
- num_timesteps=num_timesteps,
357
- resolution=args.resolution,
358
- device=device,
359
- )
360
-
361
- tmpimage = tmpimage.crop(tmpimage.getbbox())
362
- tmpimage.save(outpath)
363
-
364
- print(f"GPU {rank} has completed all tasks")
365
- dist.barrier()
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
eval/gen/geneval/evaluation/download_models.sh DELETED
@@ -1,20 +0,0 @@
1
- # Copyright (c) 2023 Dhruba Ghosh
2
- # Copyright (c) 2025 Bytedance Ltd. and/or its affiliates.
3
- # SPDX-License-Identifier: MIT
4
- #
5
- # This file has been modified by ByteDance Ltd. and/or its affiliates. on 2025-05-20.
6
- #
7
- # Original file was released under MIT, with the full license text
8
- # available at https://github.com/djghosh13/geneval/blob/main/LICENSE.
9
- #
10
- # This modified file is released under the same license.
11
-
12
- #!/bin/bash
13
-
14
- # Download Mask2Former object detection config and weights
15
-
16
- if [ ! -z "$1" ]
17
- then
18
- mkdir -p "$1"
19
- wget https://download.openmmlab.com/mmdetection/v2.0/mask2former/mask2former_swin-s-p4-w7-224_lsj_8x2_50e_coco/mask2former_swin-s-p4-w7-224_lsj_8x2_50e_coco_20220504_001756-743b7d99.pth -O "$1/mask2former_swin-s-p4-w7-224_lsj_8x2_50e_coco.pth"
20
- fi
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
eval/gen/geneval/evaluation/evaluate_images.py DELETED
@@ -1,304 +0,0 @@
1
- # Copyright (c) 2023 Dhruba Ghosh
2
- # Copyright (c) 2025 Bytedance Ltd. and/or its affiliates.
3
- # SPDX-License-Identifier: MIT
4
- #
5
- # This file has been modified by ByteDance Ltd. and/or its affiliates. on 2025-05-20.
6
- #
7
- # Original file was released under MIT, with the full license text
8
- # available at https://github.com/djghosh13/geneval/blob/main/LICENSE.
9
- #
10
- # This modified file is released under the same license.
11
-
12
- """
13
- Evaluate generated images using Mask2Former (or other object detector model)
14
- """
15
-
16
- import argparse
17
- import json
18
- import os
19
- import re
20
- import sys
21
- import time
22
- from tqdm import tqdm
23
-
24
- import warnings
25
- warnings.filterwarnings("ignore")
26
-
27
- import numpy as np
28
- import pandas as pd
29
- from PIL import Image, ImageOps
30
- import torch
31
- import mmdet
32
- from mmdet.apis import inference_detector, init_detector
33
-
34
- import open_clip
35
- from clip_benchmark.metrics import zeroshot_classification as zsc
36
- zsc.tqdm = lambda it, *args, **kwargs: it
37
-
38
- # Get directory path
39
-
40
- def parse_args():
41
- parser = argparse.ArgumentParser()
42
- parser.add_argument("imagedir", type=str)
43
- parser.add_argument("--outfile", type=str, default="results.jsonl")
44
- parser.add_argument("--model-config", type=str, default=None)
45
- parser.add_argument("--model-path", type=str, default="./")
46
- # Other arguments
47
- parser.add_argument("--options", nargs="*", type=str, default=[])
48
- args = parser.parse_args()
49
- args.options = dict(opt.split("=", 1) for opt in args.options)
50
- if args.model_config is None:
51
- args.model_config = os.path.join(
52
- os.path.dirname(mmdet.__file__),
53
- "../configs/mask2former/mask2former_swin-s-p4-w7-224_lsj_8x2_50e_coco.py"
54
- )
55
- return args
56
-
57
- DEVICE = "cuda" if torch.cuda.is_available() else "cpu"
58
- assert DEVICE == "cuda"
59
-
60
- def timed(fn):
61
- def wrapper(*args, **kwargs):
62
- startt = time.time()
63
- result = fn(*args, **kwargs)
64
- endt = time.time()
65
- print(f'Function {fn.__name__!r} executed in {endt - startt:.3f}s', file=sys.stderr)
66
- return result
67
- return wrapper
68
-
69
- # Load models
70
-
71
- @timed
72
- def load_models(args):
73
- CONFIG_PATH = args.model_config
74
- OBJECT_DETECTOR = args.options.get('model', "mask2former_swin-s-p4-w7-224_lsj_8x2_50e_coco")
75
- CKPT_PATH = os.path.join(args.model_path, f"{OBJECT_DETECTOR}.pth")
76
- object_detector = init_detector(CONFIG_PATH, CKPT_PATH, device=DEVICE)
77
-
78
- clip_arch = args.options.get('clip_model', "ViT-L-14")
79
- clip_model, _, transform = open_clip.create_model_and_transforms(clip_arch, pretrained="openai", device=DEVICE)
80
- tokenizer = open_clip.get_tokenizer(clip_arch)
81
-
82
- with open(os.path.join(os.path.dirname(__file__), "object_names.txt")) as cls_file:
83
- classnames = [line.strip() for line in cls_file]
84
-
85
- return object_detector, (clip_model, transform, tokenizer), classnames
86
-
87
-
88
- COLORS = ["red", "orange", "yellow", "green", "blue", "purple", "pink", "brown", "black", "white"]
89
- COLOR_CLASSIFIERS = {}
90
-
91
- # Evaluation parts
92
-
93
- class ImageCrops(torch.utils.data.Dataset):
94
- def __init__(self, image: Image.Image, objects):
95
- self._image = image.convert("RGB")
96
- bgcolor = args.options.get('bgcolor', "#999")
97
- if bgcolor == "original":
98
- self._blank = self._image.copy()
99
- else:
100
- self._blank = Image.new("RGB", image.size, color=bgcolor)
101
- self._objects = objects
102
-
103
- def __len__(self):
104
- return len(self._objects)
105
-
106
- def __getitem__(self, index):
107
- box, mask = self._objects[index]
108
- if mask is not None:
109
- assert tuple(self._image.size[::-1]) == tuple(mask.shape), (index, self._image.size[::-1], mask.shape)
110
- image = Image.composite(self._image, self._blank, Image.fromarray(mask))
111
- else:
112
- image = self._image
113
- if args.options.get('crop', '1') == '1':
114
- image = image.crop(box[:4])
115
- # if args.save:
116
- # base_count = len(os.listdir(args.save))
117
- # image.save(os.path.join(args.save, f"cropped_{base_count:05}.png"))
118
- return (transform(image), 0)
119
-
120
-
121
- def color_classification(image, bboxes, classname):
122
- if classname not in COLOR_CLASSIFIERS:
123
- COLOR_CLASSIFIERS[classname] = zsc.zero_shot_classifier(
124
- clip_model, tokenizer, COLORS,
125
- [
126
- f"a photo of a {{c}} {classname}",
127
- f"a photo of a {{c}}-colored {classname}",
128
- f"a photo of a {{c}} object"
129
- ],
130
- DEVICE
131
- )
132
- clf = COLOR_CLASSIFIERS[classname]
133
- dataloader = torch.utils.data.DataLoader(
134
- ImageCrops(image, bboxes),
135
- batch_size=16, num_workers=4
136
- )
137
- with torch.no_grad():
138
- pred, _ = zsc.run_classification(clip_model, clf, dataloader, DEVICE)
139
- return [COLORS[index.item()] for index in pred.argmax(1)]
140
-
141
-
142
- def compute_iou(box_a, box_b):
143
- area_fn = lambda box: max(box[2] - box[0] + 1, 0) * max(box[3] - box[1] + 1, 0)
144
- i_area = area_fn([
145
- max(box_a[0], box_b[0]), max(box_a[1], box_b[1]),
146
- min(box_a[2], box_b[2]), min(box_a[3], box_b[3])
147
- ])
148
- u_area = area_fn(box_a) + area_fn(box_b) - i_area
149
- return i_area / u_area if u_area else 0
150
-
151
-
152
- def relative_position(obj_a, obj_b):
153
- """Give position of A relative to B, factoring in object dimensions"""
154
- boxes = np.array([obj_a[0], obj_b[0]])[:, :4].reshape(2, 2, 2)
155
- center_a, center_b = boxes.mean(axis=-2)
156
- dim_a, dim_b = np.abs(np.diff(boxes, axis=-2))[..., 0, :]
157
- offset = center_a - center_b
158
- #
159
- revised_offset = np.maximum(np.abs(offset) - POSITION_THRESHOLD * (dim_a + dim_b), 0) * np.sign(offset)
160
- if np.all(np.abs(revised_offset) < 1e-3):
161
- return set()
162
- #
163
- dx, dy = revised_offset / np.linalg.norm(offset)
164
- relations = set()
165
- if dx < -0.5: relations.add("left of")
166
- if dx > 0.5: relations.add("right of")
167
- if dy < -0.5: relations.add("above")
168
- if dy > 0.5: relations.add("below")
169
- return relations
170
-
171
-
172
- def evaluate(image, objects, metadata):
173
- """
174
- Evaluate given image using detected objects on the global metadata specifications.
175
- Assumptions:
176
- * Metadata combines 'include' clauses with AND, and 'exclude' clauses with OR
177
- * All clauses are independent, i.e., duplicating a clause has no effect on the correctness
178
- * CHANGED: Color and position will only be evaluated on the most confidently predicted objects;
179
- therefore, objects are expected to appear in sorted order
180
- """
181
- correct = True
182
- reason = []
183
- matched_groups = []
184
- # Check for expected objects
185
- for req in metadata.get('include', []):
186
- classname = req['class']
187
- matched = True
188
- found_objects = objects.get(classname, [])[:req['count']]
189
- if len(found_objects) < req['count']:
190
- correct = matched = False
191
- reason.append(f"expected {classname}>={req['count']}, found {len(found_objects)}")
192
- else:
193
- if 'color' in req:
194
- # Color check
195
- colors = color_classification(image, found_objects, classname)
196
- if colors.count(req['color']) < req['count']:
197
- correct = matched = False
198
- reason.append(
199
- f"expected {req['color']} {classname}>={req['count']}, found " +
200
- f"{colors.count(req['color'])} {req['color']}; and " +
201
- ", ".join(f"{colors.count(c)} {c}" for c in COLORS if c in colors)
202
- )
203
- if 'position' in req and matched:
204
- # Relative position check
205
- expected_rel, target_group = req['position']
206
- if matched_groups[target_group] is None:
207
- correct = matched = False
208
- reason.append(f"no target for {classname} to be {expected_rel}")
209
- else:
210
- for obj in found_objects:
211
- for target_obj in matched_groups[target_group]:
212
- true_rels = relative_position(obj, target_obj)
213
- if expected_rel not in true_rels:
214
- correct = matched = False
215
- reason.append(
216
- f"expected {classname} {expected_rel} target, found " +
217
- f"{' and '.join(true_rels)} target"
218
- )
219
- break
220
- if not matched:
221
- break
222
- if matched:
223
- matched_groups.append(found_objects)
224
- else:
225
- matched_groups.append(None)
226
- # Check for non-expected objects
227
- for req in metadata.get('exclude', []):
228
- classname = req['class']
229
- if len(objects.get(classname, [])) >= req['count']:
230
- correct = False
231
- reason.append(f"expected {classname}<{req['count']}, found {len(objects[classname])}")
232
- return correct, "\n".join(reason)
233
-
234
-
235
- def evaluate_image(filepath, metadata):
236
- result = inference_detector(object_detector, filepath)
237
- bbox = result[0] if isinstance(result, tuple) else result
238
- segm = result[1] if isinstance(result, tuple) and len(result) > 1 else None
239
- image = ImageOps.exif_transpose(Image.open(filepath))
240
- detected = {}
241
- # Determine bounding boxes to keep
242
- confidence_threshold = THRESHOLD if metadata['tag'] != "counting" else COUNTING_THRESHOLD
243
- for index, classname in enumerate(classnames):
244
- ordering = np.argsort(bbox[index][:, 4])[::-1]
245
- ordering = ordering[bbox[index][ordering, 4] > confidence_threshold] # Threshold
246
- ordering = ordering[:MAX_OBJECTS].tolist() # Limit number of detected objects per class
247
- detected[classname] = []
248
- while ordering:
249
- max_obj = ordering.pop(0)
250
- detected[classname].append((bbox[index][max_obj], None if segm is None else segm[index][max_obj]))
251
- ordering = [
252
- obj for obj in ordering
253
- if NMS_THRESHOLD == 1 or compute_iou(bbox[index][max_obj], bbox[index][obj]) < NMS_THRESHOLD
254
- ]
255
- if not detected[classname]:
256
- del detected[classname]
257
- # Evaluate
258
- is_correct, reason = evaluate(image, detected, metadata)
259
- return {
260
- 'filename': filepath,
261
- 'tag': metadata['tag'],
262
- 'prompt': metadata['prompt'],
263
- 'correct': is_correct,
264
- 'reason': reason,
265
- 'metadata': json.dumps(metadata),
266
- 'details': json.dumps({
267
- key: [box.tolist() for box, _ in value]
268
- for key, value in detected.items()
269
- })
270
- }
271
-
272
-
273
- def main(args):
274
- full_results = []
275
- for subfolder in tqdm(os.listdir(args.imagedir)):
276
- folderpath = os.path.join(args.imagedir, subfolder)
277
- if not os.path.isdir(folderpath) or not subfolder.isdigit():
278
- continue
279
- with open(os.path.join(folderpath, "metadata.jsonl")) as fp:
280
- metadata = json.load(fp)
281
- # Evaluate each image
282
- for imagename in os.listdir(os.path.join(folderpath, "samples")):
283
- imagepath = os.path.join(folderpath, "samples", imagename)
284
- if not os.path.isfile(imagepath) or not re.match(r"\d+\.png", imagename):
285
- continue
286
- result = evaluate_image(imagepath, metadata)
287
- full_results.append(result)
288
- # Save results
289
- if os.path.dirname(args.outfile):
290
- os.makedirs(os.path.dirname(args.outfile), exist_ok=True)
291
- with open(args.outfile, "w") as fp:
292
- pd.DataFrame(full_results).to_json(fp, orient="records", lines=True)
293
-
294
-
295
- if __name__ == "__main__":
296
- args = parse_args()
297
- object_detector, (clip_model, transform, tokenizer), classnames = load_models(args)
298
- THRESHOLD = float(args.options.get('threshold', 0.3))
299
- COUNTING_THRESHOLD = float(args.options.get('counting_threshold', 0.9))
300
- MAX_OBJECTS = int(args.options.get('max_objects', 16))
301
- NMS_THRESHOLD = float(args.options.get('max_overlap', 1.0))
302
- POSITION_THRESHOLD = float(args.options.get('position_threshold', 0.1))
303
-
304
- main(args)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
eval/gen/geneval/evaluation/evaluate_images_mp.py DELETED
@@ -1,332 +0,0 @@
1
- # Copyright (c) 2023 Dhruba Ghosh
2
- # Copyright (c) 2025 Bytedance Ltd. and/or its affiliates.
3
- # SPDX-License-Identifier: MIT
4
- #
5
- # This file has been modified by ByteDance Ltd. and/or its affiliates. on 2025-05-20.
6
- #
7
- # Original file was released under MIT, with the full license text
8
- # available at https://github.com/djghosh13/geneval/blob/main/LICENSE.
9
- #
10
- # This modified file is released under the same license.
11
-
12
- import argparse
13
- import json
14
- import os
15
- import re
16
- import sys
17
- import time
18
- from tqdm import tqdm
19
-
20
- import warnings
21
- warnings.filterwarnings("ignore")
22
-
23
- import numpy as np
24
- import pandas as pd
25
- from PIL import Image, ImageOps
26
- import torch
27
- import torch.distributed as dist
28
- import mmdet
29
- from mmdet.apis import inference_detector, init_detector
30
-
31
- import open_clip
32
- from clip_benchmark.metrics import zeroshot_classification as zsc
33
- zsc.tqdm = lambda it, *args, **kwargs: it
34
-
35
-
36
- def setup_distributed():
37
- """初始化分布式环境"""
38
- dist.init_process_group(backend="nccl")
39
- torch.cuda.set_device(int(os.environ["LOCAL_RANK"]))
40
-
41
-
42
- # Get directory path
43
-
44
- def parse_args():
45
- parser = argparse.ArgumentParser()
46
- parser.add_argument("imagedir", type=str)
47
- parser.add_argument("--outfile", type=str, default="results.jsonl")
48
- parser.add_argument("--model-config", type=str, default=None)
49
- parser.add_argument("--model-path", type=str, default="./")
50
- # Other arguments
51
- parser.add_argument("--options", nargs="*", type=str, default=[])
52
- args = parser.parse_args()
53
- args.options = dict(opt.split("=", 1) for opt in args.options)
54
- if args.model_config is None:
55
- args.model_config = os.path.join(
56
- os.path.dirname(mmdet.__file__),
57
- "../configs/mask2former/mask2former_swin-s-p4-w7-224_lsj_8x2_50e_coco.py"
58
- )
59
- return args
60
-
61
- DEVICE = "cuda" if torch.cuda.is_available() else "cpu"
62
- assert DEVICE == "cuda"
63
-
64
- def timed(fn):
65
- def wrapper(*args, **kwargs):
66
- startt = time.time()
67
- result = fn(*args, **kwargs)
68
- endt = time.time()
69
- print(f'Function {fn.__name__!r} executed in {endt - startt:.3f}s', file=sys.stderr)
70
- return result
71
- return wrapper
72
-
73
- # Load models
74
-
75
- @timed
76
- def load_models(args):
77
- CONFIG_PATH = args.model_config
78
- OBJECT_DETECTOR = args.options.get('model', "mask2former_swin-s-p4-w7-224_lsj_8x2_50e_coco")
79
- CKPT_PATH = os.path.join(args.model_path, f"{OBJECT_DETECTOR}.pth")
80
- object_detector = init_detector(CONFIG_PATH, CKPT_PATH, device=DEVICE)
81
-
82
- clip_arch = args.options.get('clip_model', "ViT-L-14")
83
- clip_model, _, transform = open_clip.create_model_and_transforms(clip_arch, pretrained="openai", device=DEVICE)
84
- tokenizer = open_clip.get_tokenizer(clip_arch)
85
-
86
- with open(os.path.join(os.path.dirname(__file__), "object_names.txt")) as cls_file:
87
- classnames = [line.strip() for line in cls_file]
88
-
89
- return object_detector, (clip_model, transform, tokenizer), classnames
90
-
91
-
92
- COLORS = ["red", "orange", "yellow", "green", "blue", "purple", "pink", "brown", "black", "white"]
93
- COLOR_CLASSIFIERS = {}
94
-
95
- # Evaluation parts
96
-
97
- class ImageCrops(torch.utils.data.Dataset):
98
- def __init__(self, image: Image.Image, objects):
99
- self._image = image.convert("RGB")
100
- bgcolor = args.options.get('bgcolor', "#999")
101
- if bgcolor == "original":
102
- self._blank = self._image.copy()
103
- else:
104
- self._blank = Image.new("RGB", image.size, color=bgcolor)
105
- self._objects = objects
106
-
107
- def __len__(self):
108
- return len(self._objects)
109
-
110
- def __getitem__(self, index):
111
- box, mask = self._objects[index]
112
- if mask is not None:
113
- assert tuple(self._image.size[::-1]) == tuple(mask.shape), (index, self._image.size[::-1], mask.shape)
114
- image = Image.composite(self._image, self._blank, Image.fromarray(mask))
115
- else:
116
- image = self._image
117
- if args.options.get('crop', '1') == '1':
118
- image = image.crop(box[:4])
119
- # if args.save:
120
- # base_count = len(os.listdir(args.save))
121
- # image.save(os.path.join(args.save, f"cropped_{base_count:05}.png"))
122
- return (transform(image), 0)
123
-
124
-
125
- def color_classification(image, bboxes, classname):
126
- if classname not in COLOR_CLASSIFIERS:
127
- COLOR_CLASSIFIERS[classname] = zsc.zero_shot_classifier(
128
- clip_model, tokenizer, COLORS,
129
- [
130
- f"a photo of a {{c}} {classname}",
131
- f"a photo of a {{c}}-colored {classname}",
132
- f"a photo of a {{c}} object"
133
- ],
134
- DEVICE
135
- )
136
- clf = COLOR_CLASSIFIERS[classname]
137
- dataloader = torch.utils.data.DataLoader(
138
- ImageCrops(image, bboxes),
139
- batch_size=16, num_workers=4
140
- )
141
- with torch.no_grad():
142
- pred, _ = zsc.run_classification(clip_model, clf, dataloader, DEVICE)
143
- return [COLORS[index.item()] for index in pred.argmax(1)]
144
-
145
-
146
- def compute_iou(box_a, box_b):
147
- area_fn = lambda box: max(box[2] - box[0] + 1, 0) * max(box[3] - box[1] + 1, 0)
148
- i_area = area_fn([
149
- max(box_a[0], box_b[0]), max(box_a[1], box_b[1]),
150
- min(box_a[2], box_b[2]), min(box_a[3], box_b[3])
151
- ])
152
- u_area = area_fn(box_a) + area_fn(box_b) - i_area
153
- return i_area / u_area if u_area else 0
154
-
155
-
156
- def relative_position(obj_a, obj_b):
157
- """Give position of A relative to B, factoring in object dimensions"""
158
- boxes = np.array([obj_a[0], obj_b[0]])[:, :4].reshape(2, 2, 2)
159
- center_a, center_b = boxes.mean(axis=-2)
160
- dim_a, dim_b = np.abs(np.diff(boxes, axis=-2))[..., 0, :]
161
- offset = center_a - center_b
162
- #
163
- revised_offset = np.maximum(np.abs(offset) - POSITION_THRESHOLD * (dim_a + dim_b), 0) * np.sign(offset)
164
- if np.all(np.abs(revised_offset) < 1e-3):
165
- return set()
166
- #
167
- dx, dy = revised_offset / np.linalg.norm(offset)
168
- relations = set()
169
- if dx < -0.5: relations.add("left of")
170
- if dx > 0.5: relations.add("right of")
171
- if dy < -0.5: relations.add("above")
172
- if dy > 0.5: relations.add("below")
173
- return relations
174
-
175
-
176
- def evaluate(image, objects, metadata):
177
- """
178
- Evaluate given image using detected objects on the global metadata specifications.
179
- Assumptions:
180
- * Metadata combines 'include' clauses with AND, and 'exclude' clauses with OR
181
- * All clauses are independent, i.e., duplicating a clause has no effect on the correctness
182
- * CHANGED: Color and position will only be evaluated on the most confidently predicted objects;
183
- therefore, objects are expected to appear in sorted order
184
- """
185
- correct = True
186
- reason = []
187
- matched_groups = []
188
- # Check for expected objects
189
- for req in metadata.get('include', []):
190
- classname = req['class']
191
- matched = True
192
- found_objects = objects.get(classname, [])[:req['count']]
193
- if len(found_objects) < req['count']:
194
- correct = matched = False
195
- reason.append(f"expected {classname}>={req['count']}, found {len(found_objects)}")
196
- else:
197
- if 'color' in req:
198
- # Color check
199
- colors = color_classification(image, found_objects, classname)
200
- if colors.count(req['color']) < req['count']:
201
- correct = matched = False
202
- reason.append(
203
- f"expected {req['color']} {classname}>={req['count']}, found " +
204
- f"{colors.count(req['color'])} {req['color']}; and " +
205
- ", ".join(f"{colors.count(c)} {c}" for c in COLORS if c in colors)
206
- )
207
- if 'position' in req and matched:
208
- # Relative position check
209
- expected_rel, target_group = req['position']
210
- if matched_groups[target_group] is None:
211
- correct = matched = False
212
- reason.append(f"no target for {classname} to be {expected_rel}")
213
- else:
214
- for obj in found_objects:
215
- for target_obj in matched_groups[target_group]:
216
- true_rels = relative_position(obj, target_obj)
217
- if expected_rel not in true_rels:
218
- correct = matched = False
219
- reason.append(
220
- f"expected {classname} {expected_rel} target, found " +
221
- f"{' and '.join(true_rels)} target"
222
- )
223
- break
224
- if not matched:
225
- break
226
- if matched:
227
- matched_groups.append(found_objects)
228
- else:
229
- matched_groups.append(None)
230
- # Check for non-expected objects
231
- for req in metadata.get('exclude', []):
232
- classname = req['class']
233
- if len(objects.get(classname, [])) >= req['count']:
234
- correct = False
235
- reason.append(f"expected {classname}<{req['count']}, found {len(objects[classname])}")
236
- return correct, "\n".join(reason)
237
-
238
-
239
- def evaluate_image(filepath, metadata):
240
- result = inference_detector(object_detector, filepath)
241
- bbox = result[0] if isinstance(result, tuple) else result
242
- segm = result[1] if isinstance(result, tuple) and len(result) > 1 else None
243
- image = ImageOps.exif_transpose(Image.open(filepath))
244
- detected = {}
245
- # Determine bounding boxes to keep
246
- confidence_threshold = THRESHOLD if metadata['tag'] != "counting" else COUNTING_THRESHOLD
247
- for index, classname in enumerate(classnames):
248
- ordering = np.argsort(bbox[index][:, 4])[::-1]
249
- ordering = ordering[bbox[index][ordering, 4] > confidence_threshold] # Threshold
250
- ordering = ordering[:MAX_OBJECTS].tolist() # Limit number of detected objects per class
251
- detected[classname] = []
252
- while ordering:
253
- max_obj = ordering.pop(0)
254
- detected[classname].append((bbox[index][max_obj], None if segm is None else segm[index][max_obj]))
255
- ordering = [
256
- obj for obj in ordering
257
- if NMS_THRESHOLD == 1 or compute_iou(bbox[index][max_obj], bbox[index][obj]) < NMS_THRESHOLD
258
- ]
259
- if not detected[classname]:
260
- del detected[classname]
261
- # Evaluate
262
- is_correct, reason = evaluate(image, detected, metadata)
263
- return {
264
- 'filename': filepath,
265
- 'tag': metadata['tag'],
266
- 'prompt': metadata['prompt'],
267
- 'correct': is_correct,
268
- 'reason': reason,
269
- 'metadata': json.dumps(metadata),
270
- 'details': json.dumps({
271
- key: [box.tolist() for box, _ in value]
272
- for key, value in detected.items()
273
- })
274
- }
275
-
276
-
277
- if __name__ == "__main__":
278
- args = parse_args()
279
- THRESHOLD = float(args.options.get('threshold', 0.3))
280
- COUNTING_THRESHOLD = float(args.options.get('counting_threshold', 0.9))
281
- MAX_OBJECTS = int(args.options.get('max_objects', 16))
282
- NMS_THRESHOLD = float(args.options.get('max_overlap', 1.0))
283
- POSITION_THRESHOLD = float(args.options.get('position_threshold', 0.1))
284
-
285
- # Initialize distributed environment
286
- setup_distributed()
287
- rank = dist.get_rank()
288
- world_size = dist.get_world_size()
289
- device = f"cuda:{rank}"
290
-
291
- # Load models
292
- if rank == 0:
293
- print(f"[Rank 0] Loading model...")
294
- object_detector, (clip_model, transform, tokenizer), classnames = load_models(args)
295
-
296
- full_results = []
297
- subfolders = [f for f in os.listdir(args.imagedir) if os.path.isdir(os.path.join(args.imagedir, f)) and f.isdigit()]
298
- total_subfolders = len(subfolders)
299
- # Divide subfolders to process by GPU
300
- subfolders_per_gpu = (total_subfolders + world_size - 1) // world_size
301
- start = rank * subfolders_per_gpu
302
- end = min(start + subfolders_per_gpu, total_subfolders)
303
- print(f"GPU {rank}: Processing {end - start} subfolders (index {start} to {end - 1})")
304
-
305
- for subfolder in tqdm(subfolders[start:end]):
306
- folderpath = os.path.join(args.imagedir, subfolder)
307
- with open(os.path.join(folderpath, "metadata.jsonl")) as fp:
308
- metadata = json.load(fp)
309
- # Evaluate each image
310
- for imagename in os.listdir(os.path.join(folderpath, "samples")):
311
- imagepath = os.path.join(folderpath, "samples", imagename)
312
- if not os.path.isfile(imagepath) or not re.match(r"\d+\.png", imagename):
313
- continue
314
- result = evaluate_image(imagepath, metadata)
315
- full_results.append(result)
316
-
317
- # Synchronize results from all GPUs
318
- all_results = [None] * world_size
319
- dist.all_gather_object(all_results, full_results)
320
- if rank == 0:
321
- # Merge results from all GPUs
322
- final_results = []
323
- for results in all_results:
324
- final_results.extend(results)
325
- # Save results
326
- if os.path.dirname(args.outfile):
327
- os.makedirs(os.path.dirname(args.outfile), exist_ok=True)
328
- with open(args.outfile, "w") as fp:
329
- pd.DataFrame(final_results).to_json(fp, orient="records", lines=True)
330
- print("All GPUs have completed their tasks and the final results have been saved.")
331
- else:
332
- print(f"GPU {rank} has completed all tasks")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
eval/gen/geneval/evaluation/object_names.txt DELETED
@@ -1,80 +0,0 @@
1
- person
2
- bicycle
3
- car
4
- motorcycle
5
- airplane
6
- bus
7
- train
8
- truck
9
- boat
10
- traffic light
11
- fire hydrant
12
- stop sign
13
- parking meter
14
- bench
15
- bird
16
- cat
17
- dog
18
- horse
19
- sheep
20
- cow
21
- elephant
22
- bear
23
- zebra
24
- giraffe
25
- backpack
26
- umbrella
27
- handbag
28
- tie
29
- suitcase
30
- frisbee
31
- skis
32
- snowboard
33
- sports ball
34
- kite
35
- baseball bat
36
- baseball glove
37
- skateboard
38
- surfboard
39
- tennis racket
40
- bottle
41
- wine glass
42
- cup
43
- fork
44
- knife
45
- spoon
46
- bowl
47
- banana
48
- apple
49
- sandwich
50
- orange
51
- broccoli
52
- carrot
53
- hot dog
54
- pizza
55
- donut
56
- cake
57
- chair
58
- couch
59
- potted plant
60
- bed
61
- dining table
62
- toilet
63
- tv
64
- laptop
65
- computer mouse
66
- tv remote
67
- computer keyboard
68
- cell phone
69
- microwave
70
- oven
71
- toaster
72
- sink
73
- refrigerator
74
- book
75
- clock
76
- vase
77
- scissors
78
- teddy bear
79
- hair drier
80
- toothbrush
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
eval/gen/geneval/evaluation/summary_scores.py DELETED
@@ -1,64 +0,0 @@
1
- # Copyright (c) 2023 Dhruba Ghosh
2
- # Copyright (c) 2025 Bytedance Ltd. and/or its affiliates.
3
- # SPDX-License-Identifier: MIT
4
- #
5
- # This file has been modified by ByteDance Ltd. and/or its affiliates. on 2025-05-20.
6
- #
7
- # Original file was released under MIT, with the full license text
8
- # available at https://github.com/djghosh13/geneval/blob/main/LICENSE.
9
- #
10
- # This modified file is released under the same license.
11
-
12
- import argparse
13
- import os
14
-
15
- import numpy as np
16
- import pandas as pd
17
-
18
-
19
- parser = argparse.ArgumentParser()
20
- parser.add_argument("filename", type=str)
21
- args = parser.parse_args()
22
-
23
- # Load classnames
24
-
25
- with open(os.path.join(os.path.dirname(__file__), "object_names.txt")) as cls_file:
26
- classnames = [line.strip() for line in cls_file]
27
- cls_to_idx = {"_".join(cls.split()):idx for idx, cls in enumerate(classnames)}
28
-
29
- # Load results
30
-
31
- df = pd.read_json(args.filename, orient="records", lines=True)
32
-
33
- # Measure overall success
34
-
35
- print("Summary")
36
- print("=======")
37
- print(f"Total images: {len(df)}")
38
- print(f"Total prompts: {len(df.groupby('metadata'))}")
39
- print(f"% correct images: {df['correct'].mean():.2%}")
40
- print(f"% correct prompts: {df.groupby('metadata')['correct'].any().mean():.2%}")
41
- print()
42
-
43
- # By group
44
-
45
- task_scores = []
46
-
47
- print("Task breakdown")
48
- print("==============")
49
- for tag, task_df in df.groupby('tag', sort=False):
50
- task_scores.append(task_df['correct'].mean())
51
- print(f"{tag:<16} = {task_df['correct'].mean():.2%} ({task_df['correct'].sum()} / {len(task_df)})")
52
- print()
53
-
54
- print(f"Overall score (avg. over tasks): {np.mean(task_scores):.5f}")
55
-
56
-
57
- print("\n\n==============")
58
- output_info = "SO TO CT CL POS ATTR ALL\n"
59
- for score in task_scores:
60
- output_info += f"{score:.2f} "
61
- output_info += f"{np.mean(task_scores):.2f}" + "\n"
62
- print(output_info)
63
- with open(os.path.join(os.path.dirname(args.filename), "geneval_results.txt"), "w") as f:
64
- f.write(output_info)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
eval/gen/geneval/prompts/create_prompts.py DELETED
@@ -1,194 +0,0 @@
1
- # Copyright (c) 2023 Dhruba Ghosh
2
- # Copyright (c) 2025 Bytedance Ltd. and/or its affiliates.
3
- # SPDX-License-Identifier: MIT
4
- #
5
- # This file has been modified by ByteDance Ltd. and/or its affiliates. on 2025-05-20.
6
- #
7
- # Original file was released under MIT, with the full license text
8
- # available at https://github.com/djghosh13/geneval/blob/main/LICENSE.
9
- #
10
- # This modified file is released under the same license.
11
-
12
- """
13
- Generate prompts for evaluation
14
- """
15
-
16
- import argparse
17
- import json
18
- import os
19
- import yaml
20
-
21
- import numpy as np
22
-
23
- # Load classnames
24
-
25
- with open("object_names.txt") as cls_file:
26
- classnames = [line.strip() for line in cls_file]
27
-
28
- # Proper a vs an
29
-
30
- def with_article(name: str):
31
- if name[0] in "aeiou":
32
- return f"an {name}"
33
- return f"a {name}"
34
-
35
- # Proper plural
36
-
37
- def make_plural(name: str):
38
- if name[-1] in "s":
39
- return f"{name}es"
40
- return f"{name}s"
41
-
42
- # Generates single object samples
43
-
44
- def generate_single_object_sample(rng: np.random.Generator, size: int = None):
45
- TAG = "single_object"
46
- if size > len(classnames):
47
- size = len(classnames)
48
- print(f"Not enough distinct classes, generating only {size} samples")
49
- return_scalar = size is None
50
- size = size or 1
51
- idxs = rng.choice(len(classnames), size=size, replace=False)
52
- samples = [dict(
53
- tag=TAG,
54
- include=[
55
- {"class": classnames[idx], "count": 1}
56
- ],
57
- prompt=f"a photo of {with_article(classnames[idx])}"
58
- ) for idx in idxs]
59
- if return_scalar:
60
- return samples[0]
61
- return samples
62
-
63
- # Generate two object samples
64
-
65
- def generate_two_object_sample(rng: np.random.Generator):
66
- TAG = "two_object"
67
- idx_a, idx_b = rng.choice(len(classnames), size=2, replace=False)
68
- return dict(
69
- tag=TAG,
70
- include=[
71
- {"class": classnames[idx_a], "count": 1},
72
- {"class": classnames[idx_b], "count": 1}
73
- ],
74
- prompt=f"a photo of {with_article(classnames[idx_a])} and {with_article(classnames[idx_b])}"
75
- )
76
-
77
- # Generate counting samples
78
-
79
- numbers = ["zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten"]
80
-
81
- def generate_counting_sample(rng: np.random.Generator, max_count=4):
82
- TAG = "counting"
83
- idx = rng.choice(len(classnames))
84
- num = int(rng.integers(2, max_count, endpoint=True))
85
- return dict(
86
- tag=TAG,
87
- include=[
88
- {"class": classnames[idx], "count": num}
89
- ],
90
- exclude=[
91
- {"class": classnames[idx], "count": num + 1}
92
- ],
93
- prompt=f"a photo of {numbers[num]} {make_plural(classnames[idx])}"
94
- )
95
-
96
- # Generate color samples
97
-
98
- colors = ["red", "orange", "yellow", "green", "blue", "purple", "pink", "brown", "black", "white"]
99
-
100
- def generate_color_sample(rng: np.random.Generator):
101
- TAG = "colors"
102
- idx = rng.choice(len(classnames) - 1) + 1
103
- idx = (idx + classnames.index("person")) % len(classnames) # No "[COLOR] person" prompts
104
- color = colors[rng.choice(len(colors))]
105
- return dict(
106
- tag=TAG,
107
- include=[
108
- {"class": classnames[idx], "count": 1, "color": color}
109
- ],
110
- prompt=f"a photo of {with_article(color)} {classnames[idx]}"
111
- )
112
-
113
- # Generate position samples
114
-
115
- positions = ["left of", "right of", "above", "below"]
116
-
117
- def generate_position_sample(rng: np.random.Generator):
118
- TAG = "position"
119
- idx_a, idx_b = rng.choice(len(classnames), size=2, replace=False)
120
- position = positions[rng.choice(len(positions))]
121
- return dict(
122
- tag=TAG,
123
- include=[
124
- {"class": classnames[idx_b], "count": 1},
125
- {"class": classnames[idx_a], "count": 1, "position": (position, 0)}
126
- ],
127
- prompt=f"a photo of {with_article(classnames[idx_a])} {position} {with_article(classnames[idx_b])}"
128
- )
129
-
130
- # Generate color attribution samples
131
-
132
- def generate_color_attribution_sample(rng: np.random.Generator):
133
- TAG = "color_attr"
134
- idxs = rng.choice(len(classnames) - 1, size=2, replace=False) + 1
135
- idx_a, idx_b = (idxs + classnames.index("person")) % len(classnames) # No "[COLOR] person" prompts
136
- cidx_a, cidx_b = rng.choice(len(colors), size=2, replace=False)
137
- return dict(
138
- tag=TAG,
139
- include=[
140
- {"class": classnames[idx_a], "count": 1, "color": colors[cidx_a]},
141
- {"class": classnames[idx_b], "count": 1, "color": colors[cidx_b]}
142
- ],
143
- prompt=f"a photo of {with_article(colors[cidx_a])} {classnames[idx_a]} and {with_article(colors[cidx_b])} {classnames[idx_b]}"
144
- )
145
-
146
-
147
- # Generate evaluation suite
148
-
149
- def generate_suite(rng: np.random.Generator, n: int = 100, output_path: str = ""):
150
- samples = []
151
- # Generate single object samples for all COCO classnames
152
- samples.extend(generate_single_object_sample(rng, size=len(classnames)))
153
- # Generate two object samples (~100)
154
- for _ in range(n):
155
- samples.append(generate_two_object_sample(rng))
156
- # Generate counting samples
157
- for _ in range(n):
158
- samples.append(generate_counting_sample(rng, max_count=4))
159
- # Generate color samples
160
- for _ in range(n):
161
- samples.append(generate_color_sample(rng))
162
- # Generate position samples
163
- for _ in range(n):
164
- samples.append(generate_position_sample(rng))
165
- # Generate color attribution samples
166
- for _ in range(n):
167
- samples.append(generate_color_attribution_sample(rng))
168
- # De-duplicate
169
- unique_samples, used_samples = [], set()
170
- for sample in samples:
171
- sample_text = yaml.safe_dump(sample)
172
- if sample_text not in used_samples:
173
- unique_samples.append(sample)
174
- used_samples.add(sample_text)
175
-
176
- # Write to files
177
- os.makedirs(output_path, exist_ok=True)
178
- with open(os.path.join(output_path, "generation_prompts.txt"), "w") as fp:
179
- for sample in unique_samples:
180
- print(sample['prompt'], file=fp)
181
- with open(os.path.join(output_path, "evaluation_metadata.jsonl"), "w") as fp:
182
- for sample in unique_samples:
183
- print(json.dumps(sample), file=fp)
184
-
185
-
186
- if __name__ == "__main__":
187
- parser = argparse.ArgumentParser()
188
- parser.add_argument("--seed", type=int, default=43, help="generation seed (default: 43)")
189
- parser.add_argument("--num-prompts", "-n", type=int, default=100, help="number of prompts per task (default: 100)")
190
- parser.add_argument("--output-path", "-o", type=str, default="prompts", help="output folder for prompts and metadata (default: 'prompts/')")
191
- args = parser.parse_args()
192
- rng = np.random.default_rng(args.seed)
193
- generate_suite(rng, args.num_prompts, args.output_path)
194
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
eval/gen/geneval/prompts/evaluation_metadata.jsonl DELETED
@@ -1,553 +0,0 @@
1
- {"tag": "single_object", "include": [{"class": "bench", "count": 1}], "prompt": "a photo of a bench"}
2
- {"tag": "single_object", "include": [{"class": "cow", "count": 1}], "prompt": "a photo of a cow"}
3
- {"tag": "single_object", "include": [{"class": "bicycle", "count": 1}], "prompt": "a photo of a bicycle"}
4
- {"tag": "single_object", "include": [{"class": "clock", "count": 1}], "prompt": "a photo of a clock"}
5
- {"tag": "single_object", "include": [{"class": "carrot", "count": 1}], "prompt": "a photo of a carrot"}
6
- {"tag": "single_object", "include": [{"class": "suitcase", "count": 1}], "prompt": "a photo of a suitcase"}
7
- {"tag": "single_object", "include": [{"class": "fork", "count": 1}], "prompt": "a photo of a fork"}
8
- {"tag": "single_object", "include": [{"class": "surfboard", "count": 1}], "prompt": "a photo of a surfboard"}
9
- {"tag": "single_object", "include": [{"class": "refrigerator", "count": 1}], "prompt": "a photo of a refrigerator"}
10
- {"tag": "single_object", "include": [{"class": "cup", "count": 1}], "prompt": "a photo of a cup"}
11
- {"tag": "single_object", "include": [{"class": "microwave", "count": 1}], "prompt": "a photo of a microwave"}
12
- {"tag": "single_object", "include": [{"class": "potted plant", "count": 1}], "prompt": "a photo of a potted plant"}
13
- {"tag": "single_object", "include": [{"class": "snowboard", "count": 1}], "prompt": "a photo of a snowboard"}
14
- {"tag": "single_object", "include": [{"class": "zebra", "count": 1}], "prompt": "a photo of a zebra"}
15
- {"tag": "single_object", "include": [{"class": "parking meter", "count": 1}], "prompt": "a photo of a parking meter"}
16
- {"tag": "single_object", "include": [{"class": "spoon", "count": 1}], "prompt": "a photo of a spoon"}
17
- {"tag": "single_object", "include": [{"class": "skateboard", "count": 1}], "prompt": "a photo of a skateboard"}
18
- {"tag": "single_object", "include": [{"class": "car", "count": 1}], "prompt": "a photo of a car"}
19
- {"tag": "single_object", "include": [{"class": "motorcycle", "count": 1}], "prompt": "a photo of a motorcycle"}
20
- {"tag": "single_object", "include": [{"class": "traffic light", "count": 1}], "prompt": "a photo of a traffic light"}
21
- {"tag": "single_object", "include": [{"class": "book", "count": 1}], "prompt": "a photo of a book"}
22
- {"tag": "single_object", "include": [{"class": "couch", "count": 1}], "prompt": "a photo of a couch"}
23
- {"tag": "single_object", "include": [{"class": "backpack", "count": 1}], "prompt": "a photo of a backpack"}
24
- {"tag": "single_object", "include": [{"class": "computer keyboard", "count": 1}], "prompt": "a photo of a computer keyboard"}
25
- {"tag": "single_object", "include": [{"class": "toaster", "count": 1}], "prompt": "a photo of a toaster"}
26
- {"tag": "single_object", "include": [{"class": "bird", "count": 1}], "prompt": "a photo of a bird"}
27
- {"tag": "single_object", "include": [{"class": "bowl", "count": 1}], "prompt": "a photo of a bowl"}
28
- {"tag": "single_object", "include": [{"class": "dog", "count": 1}], "prompt": "a photo of a dog"}
29
- {"tag": "single_object", "include": [{"class": "tie", "count": 1}], "prompt": "a photo of a tie"}
30
- {"tag": "single_object", "include": [{"class": "laptop", "count": 1}], "prompt": "a photo of a laptop"}
31
- {"tag": "single_object", "include": [{"class": "computer mouse", "count": 1}], "prompt": "a photo of a computer mouse"}
32
- {"tag": "single_object", "include": [{"class": "sandwich", "count": 1}], "prompt": "a photo of a sandwich"}
33
- {"tag": "single_object", "include": [{"class": "baseball bat", "count": 1}], "prompt": "a photo of a baseball bat"}
34
- {"tag": "single_object", "include": [{"class": "train", "count": 1}], "prompt": "a photo of a train"}
35
- {"tag": "single_object", "include": [{"class": "cell phone", "count": 1}], "prompt": "a photo of a cell phone"}
36
- {"tag": "single_object", "include": [{"class": "chair", "count": 1}], "prompt": "a photo of a chair"}
37
- {"tag": "single_object", "include": [{"class": "tv", "count": 1}], "prompt": "a photo of a tv"}
38
- {"tag": "single_object", "include": [{"class": "broccoli", "count": 1}], "prompt": "a photo of a broccoli"}
39
- {"tag": "single_object", "include": [{"class": "bed", "count": 1}], "prompt": "a photo of a bed"}
40
- {"tag": "single_object", "include": [{"class": "skis", "count": 1}], "prompt": "a photo of a skis"}
41
- {"tag": "single_object", "include": [{"class": "handbag", "count": 1}], "prompt": "a photo of a handbag"}
42
- {"tag": "single_object", "include": [{"class": "pizza", "count": 1}], "prompt": "a photo of a pizza"}
43
- {"tag": "single_object", "include": [{"class": "frisbee", "count": 1}], "prompt": "a photo of a frisbee"}
44
- {"tag": "single_object", "include": [{"class": "scissors", "count": 1}], "prompt": "a photo of a scissors"}
45
- {"tag": "single_object", "include": [{"class": "bottle", "count": 1}], "prompt": "a photo of a bottle"}
46
- {"tag": "single_object", "include": [{"class": "elephant", "count": 1}], "prompt": "a photo of an elephant"}
47
- {"tag": "single_object", "include": [{"class": "toilet", "count": 1}], "prompt": "a photo of a toilet"}
48
- {"tag": "single_object", "include": [{"class": "oven", "count": 1}], "prompt": "a photo of an oven"}
49
- {"tag": "single_object", "include": [{"class": "orange", "count": 1}], "prompt": "a photo of an orange"}
50
- {"tag": "single_object", "include": [{"class": "person", "count": 1}], "prompt": "a photo of a person"}
51
- {"tag": "single_object", "include": [{"class": "teddy bear", "count": 1}], "prompt": "a photo of a teddy bear"}
52
- {"tag": "single_object", "include": [{"class": "vase", "count": 1}], "prompt": "a photo of a vase"}
53
- {"tag": "single_object", "include": [{"class": "banana", "count": 1}], "prompt": "a photo of a banana"}
54
- {"tag": "single_object", "include": [{"class": "toothbrush", "count": 1}], "prompt": "a photo of a toothbrush"}
55
- {"tag": "single_object", "include": [{"class": "tv remote", "count": 1}], "prompt": "a photo of a tv remote"}
56
- {"tag": "single_object", "include": [{"class": "dining table", "count": 1}], "prompt": "a photo of a dining table"}
57
- {"tag": "single_object", "include": [{"class": "stop sign", "count": 1}], "prompt": "a photo of a stop sign"}
58
- {"tag": "single_object", "include": [{"class": "sheep", "count": 1}], "prompt": "a photo of a sheep"}
59
- {"tag": "single_object", "include": [{"class": "fire hydrant", "count": 1}], "prompt": "a photo of a fire hydrant"}
60
- {"tag": "single_object", "include": [{"class": "airplane", "count": 1}], "prompt": "a photo of an airplane"}
61
- {"tag": "single_object", "include": [{"class": "giraffe", "count": 1}], "prompt": "a photo of a giraffe"}
62
- {"tag": "single_object", "include": [{"class": "horse", "count": 1}], "prompt": "a photo of a horse"}
63
- {"tag": "single_object", "include": [{"class": "cat", "count": 1}], "prompt": "a photo of a cat"}
64
- {"tag": "single_object", "include": [{"class": "donut", "count": 1}], "prompt": "a photo of a donut"}
65
- {"tag": "single_object", "include": [{"class": "boat", "count": 1}], "prompt": "a photo of a boat"}
66
- {"tag": "single_object", "include": [{"class": "baseball glove", "count": 1}], "prompt": "a photo of a baseball glove"}
67
- {"tag": "single_object", "include": [{"class": "hair drier", "count": 1}], "prompt": "a photo of a hair drier"}
68
- {"tag": "single_object", "include": [{"class": "sink", "count": 1}], "prompt": "a photo of a sink"}
69
- {"tag": "single_object", "include": [{"class": "cake", "count": 1}], "prompt": "a photo of a cake"}
70
- {"tag": "single_object", "include": [{"class": "wine glass", "count": 1}], "prompt": "a photo of a wine glass"}
71
- {"tag": "single_object", "include": [{"class": "apple", "count": 1}], "prompt": "a photo of an apple"}
72
- {"tag": "single_object", "include": [{"class": "bus", "count": 1}], "prompt": "a photo of a bus"}
73
- {"tag": "single_object", "include": [{"class": "tennis racket", "count": 1}], "prompt": "a photo of a tennis racket"}
74
- {"tag": "single_object", "include": [{"class": "knife", "count": 1}], "prompt": "a photo of a knife"}
75
- {"tag": "single_object", "include": [{"class": "hot dog", "count": 1}], "prompt": "a photo of a hot dog"}
76
- {"tag": "single_object", "include": [{"class": "truck", "count": 1}], "prompt": "a photo of a truck"}
77
- {"tag": "single_object", "include": [{"class": "umbrella", "count": 1}], "prompt": "a photo of an umbrella"}
78
- {"tag": "single_object", "include": [{"class": "sports ball", "count": 1}], "prompt": "a photo of a sports ball"}
79
- {"tag": "single_object", "include": [{"class": "bear", "count": 1}], "prompt": "a photo of a bear"}
80
- {"tag": "single_object", "include": [{"class": "kite", "count": 1}], "prompt": "a photo of a kite"}
81
- {"tag": "two_object", "include": [{"class": "bench", "count": 1}, {"class": "sports ball", "count": 1}], "prompt": "a photo of a bench and a sports ball"}
82
- {"tag": "two_object", "include": [{"class": "toothbrush", "count": 1}, {"class": "snowboard", "count": 1}], "prompt": "a photo of a toothbrush and a snowboard"}
83
- {"tag": "two_object", "include": [{"class": "toaster", "count": 1}, {"class": "oven", "count": 1}], "prompt": "a photo of a toaster and an oven"}
84
- {"tag": "two_object", "include": [{"class": "broccoli", "count": 1}, {"class": "vase", "count": 1}], "prompt": "a photo of a broccoli and a vase"}
85
- {"tag": "two_object", "include": [{"class": "tennis racket", "count": 1}, {"class": "wine glass", "count": 1}], "prompt": "a photo of a tennis racket and a wine glass"}
86
- {"tag": "two_object", "include": [{"class": "fork", "count": 1}, {"class": "knife", "count": 1}], "prompt": "a photo of a fork and a knife"}
87
- {"tag": "two_object", "include": [{"class": "hair drier", "count": 1}, {"class": "cake", "count": 1}], "prompt": "a photo of a hair drier and a cake"}
88
- {"tag": "two_object", "include": [{"class": "horse", "count": 1}, {"class": "giraffe", "count": 1}], "prompt": "a photo of a horse and a giraffe"}
89
- {"tag": "two_object", "include": [{"class": "horse", "count": 1}, {"class": "computer keyboard", "count": 1}], "prompt": "a photo of a horse and a computer keyboard"}
90
- {"tag": "two_object", "include": [{"class": "toothbrush", "count": 1}, {"class": "carrot", "count": 1}], "prompt": "a photo of a toothbrush and a carrot"}
91
- {"tag": "two_object", "include": [{"class": "cake", "count": 1}, {"class": "zebra", "count": 1}], "prompt": "a photo of a cake and a zebra"}
92
- {"tag": "two_object", "include": [{"class": "hair drier", "count": 1}, {"class": "bear", "count": 1}], "prompt": "a photo of a hair drier and a bear"}
93
- {"tag": "two_object", "include": [{"class": "knife", "count": 1}, {"class": "zebra", "count": 1}], "prompt": "a photo of a knife and a zebra"}
94
- {"tag": "two_object", "include": [{"class": "couch", "count": 1}, {"class": "wine glass", "count": 1}], "prompt": "a photo of a couch and a wine glass"}
95
- {"tag": "two_object", "include": [{"class": "frisbee", "count": 1}, {"class": "vase", "count": 1}], "prompt": "a photo of a frisbee and a vase"}
96
- {"tag": "two_object", "include": [{"class": "book", "count": 1}, {"class": "laptop", "count": 1}], "prompt": "a photo of a book and a laptop"}
97
- {"tag": "two_object", "include": [{"class": "dining table", "count": 1}, {"class": "bear", "count": 1}], "prompt": "a photo of a dining table and a bear"}
98
- {"tag": "two_object", "include": [{"class": "frisbee", "count": 1}, {"class": "couch", "count": 1}], "prompt": "a photo of a frisbee and a couch"}
99
- {"tag": "two_object", "include": [{"class": "couch", "count": 1}, {"class": "horse", "count": 1}], "prompt": "a photo of a couch and a horse"}
100
- {"tag": "two_object", "include": [{"class": "toilet", "count": 1}, {"class": "computer mouse", "count": 1}], "prompt": "a photo of a toilet and a computer mouse"}
101
- {"tag": "two_object", "include": [{"class": "bottle", "count": 1}, {"class": "refrigerator", "count": 1}], "prompt": "a photo of a bottle and a refrigerator"}
102
- {"tag": "two_object", "include": [{"class": "potted plant", "count": 1}, {"class": "backpack", "count": 1}], "prompt": "a photo of a potted plant and a backpack"}
103
- {"tag": "two_object", "include": [{"class": "skateboard", "count": 1}, {"class": "cake", "count": 1}], "prompt": "a photo of a skateboard and a cake"}
104
- {"tag": "two_object", "include": [{"class": "broccoli", "count": 1}, {"class": "parking meter", "count": 1}], "prompt": "a photo of a broccoli and a parking meter"}
105
- {"tag": "two_object", "include": [{"class": "zebra", "count": 1}, {"class": "bed", "count": 1}], "prompt": "a photo of a zebra and a bed"}
106
- {"tag": "two_object", "include": [{"class": "oven", "count": 1}, {"class": "bed", "count": 1}], "prompt": "a photo of an oven and a bed"}
107
- {"tag": "two_object", "include": [{"class": "baseball bat", "count": 1}, {"class": "fork", "count": 1}], "prompt": "a photo of a baseball bat and a fork"}
108
- {"tag": "two_object", "include": [{"class": "vase", "count": 1}, {"class": "spoon", "count": 1}], "prompt": "a photo of a vase and a spoon"}
109
- {"tag": "two_object", "include": [{"class": "skateboard", "count": 1}, {"class": "sink", "count": 1}], "prompt": "a photo of a skateboard and a sink"}
110
- {"tag": "two_object", "include": [{"class": "pizza", "count": 1}, {"class": "bench", "count": 1}], "prompt": "a photo of a pizza and a bench"}
111
- {"tag": "two_object", "include": [{"class": "bowl", "count": 1}, {"class": "pizza", "count": 1}], "prompt": "a photo of a bowl and a pizza"}
112
- {"tag": "two_object", "include": [{"class": "tennis racket", "count": 1}, {"class": "bird", "count": 1}], "prompt": "a photo of a tennis racket and a bird"}
113
- {"tag": "two_object", "include": [{"class": "wine glass", "count": 1}, {"class": "bear", "count": 1}], "prompt": "a photo of a wine glass and a bear"}
114
- {"tag": "two_object", "include": [{"class": "fork", "count": 1}, {"class": "book", "count": 1}], "prompt": "a photo of a fork and a book"}
115
- {"tag": "two_object", "include": [{"class": "scissors", "count": 1}, {"class": "bowl", "count": 1}], "prompt": "a photo of a scissors and a bowl"}
116
- {"tag": "two_object", "include": [{"class": "laptop", "count": 1}, {"class": "carrot", "count": 1}], "prompt": "a photo of a laptop and a carrot"}
117
- {"tag": "two_object", "include": [{"class": "stop sign", "count": 1}, {"class": "bottle", "count": 1}], "prompt": "a photo of a stop sign and a bottle"}
118
- {"tag": "two_object", "include": [{"class": "microwave", "count": 1}, {"class": "truck", "count": 1}], "prompt": "a photo of a microwave and a truck"}
119
- {"tag": "two_object", "include": [{"class": "person", "count": 1}, {"class": "bear", "count": 1}], "prompt": "a photo of a person and a bear"}
120
- {"tag": "two_object", "include": [{"class": "frisbee", "count": 1}, {"class": "cell phone", "count": 1}], "prompt": "a photo of a frisbee and a cell phone"}
121
- {"tag": "two_object", "include": [{"class": "parking meter", "count": 1}, {"class": "teddy bear", "count": 1}], "prompt": "a photo of a parking meter and a teddy bear"}
122
- {"tag": "two_object", "include": [{"class": "tennis racket", "count": 1}, {"class": "bicycle", "count": 1}], "prompt": "a photo of a tennis racket and a bicycle"}
123
- {"tag": "two_object", "include": [{"class": "stop sign", "count": 1}, {"class": "motorcycle", "count": 1}], "prompt": "a photo of a stop sign and a motorcycle"}
124
- {"tag": "two_object", "include": [{"class": "fire hydrant", "count": 1}, {"class": "tennis racket", "count": 1}], "prompt": "a photo of a fire hydrant and a tennis racket"}
125
- {"tag": "two_object", "include": [{"class": "scissors", "count": 1}, {"class": "sandwich", "count": 1}], "prompt": "a photo of a scissors and a sandwich"}
126
- {"tag": "two_object", "include": [{"class": "pizza", "count": 1}, {"class": "book", "count": 1}], "prompt": "a photo of a pizza and a book"}
127
- {"tag": "two_object", "include": [{"class": "giraffe", "count": 1}, {"class": "computer mouse", "count": 1}], "prompt": "a photo of a giraffe and a computer mouse"}
128
- {"tag": "two_object", "include": [{"class": "stop sign", "count": 1}, {"class": "toaster", "count": 1}], "prompt": "a photo of a stop sign and a toaster"}
129
- {"tag": "two_object", "include": [{"class": "computer mouse", "count": 1}, {"class": "zebra", "count": 1}], "prompt": "a photo of a computer mouse and a zebra"}
130
- {"tag": "two_object", "include": [{"class": "chair", "count": 1}, {"class": "bench", "count": 1}], "prompt": "a photo of a chair and a bench"}
131
- {"tag": "two_object", "include": [{"class": "tv", "count": 1}, {"class": "carrot", "count": 1}], "prompt": "a photo of a tv and a carrot"}
132
- {"tag": "two_object", "include": [{"class": "surfboard", "count": 1}, {"class": "suitcase", "count": 1}], "prompt": "a photo of a surfboard and a suitcase"}
133
- {"tag": "two_object", "include": [{"class": "computer keyboard", "count": 1}, {"class": "laptop", "count": 1}], "prompt": "a photo of a computer keyboard and a laptop"}
134
- {"tag": "two_object", "include": [{"class": "computer keyboard", "count": 1}, {"class": "microwave", "count": 1}], "prompt": "a photo of a computer keyboard and a microwave"}
135
- {"tag": "two_object", "include": [{"class": "scissors", "count": 1}, {"class": "bird", "count": 1}], "prompt": "a photo of a scissors and a bird"}
136
- {"tag": "two_object", "include": [{"class": "person", "count": 1}, {"class": "snowboard", "count": 1}], "prompt": "a photo of a person and a snowboard"}
137
- {"tag": "two_object", "include": [{"class": "cow", "count": 1}, {"class": "horse", "count": 1}], "prompt": "a photo of a cow and a horse"}
138
- {"tag": "two_object", "include": [{"class": "handbag", "count": 1}, {"class": "refrigerator", "count": 1}], "prompt": "a photo of a handbag and a refrigerator"}
139
- {"tag": "two_object", "include": [{"class": "chair", "count": 1}, {"class": "laptop", "count": 1}], "prompt": "a photo of a chair and a laptop"}
140
- {"tag": "two_object", "include": [{"class": "toothbrush", "count": 1}, {"class": "bench", "count": 1}], "prompt": "a photo of a toothbrush and a bench"}
141
- {"tag": "two_object", "include": [{"class": "book", "count": 1}, {"class": "baseball bat", "count": 1}], "prompt": "a photo of a book and a baseball bat"}
142
- {"tag": "two_object", "include": [{"class": "horse", "count": 1}, {"class": "train", "count": 1}], "prompt": "a photo of a horse and a train"}
143
- {"tag": "two_object", "include": [{"class": "bench", "count": 1}, {"class": "vase", "count": 1}], "prompt": "a photo of a bench and a vase"}
144
- {"tag": "two_object", "include": [{"class": "traffic light", "count": 1}, {"class": "backpack", "count": 1}], "prompt": "a photo of a traffic light and a backpack"}
145
- {"tag": "two_object", "include": [{"class": "sports ball", "count": 1}, {"class": "cow", "count": 1}], "prompt": "a photo of a sports ball and a cow"}
146
- {"tag": "two_object", "include": [{"class": "computer mouse", "count": 1}, {"class": "spoon", "count": 1}], "prompt": "a photo of a computer mouse and a spoon"}
147
- {"tag": "two_object", "include": [{"class": "tv", "count": 1}, {"class": "bicycle", "count": 1}], "prompt": "a photo of a tv and a bicycle"}
148
- {"tag": "two_object", "include": [{"class": "bench", "count": 1}, {"class": "snowboard", "count": 1}], "prompt": "a photo of a bench and a snowboard"}
149
- {"tag": "two_object", "include": [{"class": "toothbrush", "count": 1}, {"class": "toilet", "count": 1}], "prompt": "a photo of a toothbrush and a toilet"}
150
- {"tag": "two_object", "include": [{"class": "person", "count": 1}, {"class": "apple", "count": 1}], "prompt": "a photo of a person and an apple"}
151
- {"tag": "two_object", "include": [{"class": "sink", "count": 1}, {"class": "sports ball", "count": 1}], "prompt": "a photo of a sink and a sports ball"}
152
- {"tag": "two_object", "include": [{"class": "stop sign", "count": 1}, {"class": "dog", "count": 1}], "prompt": "a photo of a stop sign and a dog"}
153
- {"tag": "two_object", "include": [{"class": "knife", "count": 1}, {"class": "stop sign", "count": 1}], "prompt": "a photo of a knife and a stop sign"}
154
- {"tag": "two_object", "include": [{"class": "wine glass", "count": 1}, {"class": "handbag", "count": 1}], "prompt": "a photo of a wine glass and a handbag"}
155
- {"tag": "two_object", "include": [{"class": "bowl", "count": 1}, {"class": "skis", "count": 1}], "prompt": "a photo of a bowl and a skis"}
156
- {"tag": "two_object", "include": [{"class": "frisbee", "count": 1}, {"class": "apple", "count": 1}], "prompt": "a photo of a frisbee and an apple"}
157
- {"tag": "two_object", "include": [{"class": "computer keyboard", "count": 1}, {"class": "cell phone", "count": 1}], "prompt": "a photo of a computer keyboard and a cell phone"}
158
- {"tag": "two_object", "include": [{"class": "stop sign", "count": 1}, {"class": "fork", "count": 1}], "prompt": "a photo of a stop sign and a fork"}
159
- {"tag": "two_object", "include": [{"class": "potted plant", "count": 1}, {"class": "boat", "count": 1}], "prompt": "a photo of a potted plant and a boat"}
160
- {"tag": "two_object", "include": [{"class": "tv", "count": 1}, {"class": "cell phone", "count": 1}], "prompt": "a photo of a tv and a cell phone"}
161
- {"tag": "two_object", "include": [{"class": "tie", "count": 1}, {"class": "broccoli", "count": 1}], "prompt": "a photo of a tie and a broccoli"}
162
- {"tag": "two_object", "include": [{"class": "potted plant", "count": 1}, {"class": "donut", "count": 1}], "prompt": "a photo of a potted plant and a donut"}
163
- {"tag": "two_object", "include": [{"class": "person", "count": 1}, {"class": "sink", "count": 1}], "prompt": "a photo of a person and a sink"}
164
- {"tag": "two_object", "include": [{"class": "couch", "count": 1}, {"class": "snowboard", "count": 1}], "prompt": "a photo of a couch and a snowboard"}
165
- {"tag": "two_object", "include": [{"class": "fork", "count": 1}, {"class": "baseball glove", "count": 1}], "prompt": "a photo of a fork and a baseball glove"}
166
- {"tag": "two_object", "include": [{"class": "apple", "count": 1}, {"class": "toothbrush", "count": 1}], "prompt": "a photo of an apple and a toothbrush"}
167
- {"tag": "two_object", "include": [{"class": "bus", "count": 1}, {"class": "baseball glove", "count": 1}], "prompt": "a photo of a bus and a baseball glove"}
168
- {"tag": "two_object", "include": [{"class": "person", "count": 1}, {"class": "stop sign", "count": 1}], "prompt": "a photo of a person and a stop sign"}
169
- {"tag": "two_object", "include": [{"class": "carrot", "count": 1}, {"class": "couch", "count": 1}], "prompt": "a photo of a carrot and a couch"}
170
- {"tag": "two_object", "include": [{"class": "baseball bat", "count": 1}, {"class": "bear", "count": 1}], "prompt": "a photo of a baseball bat and a bear"}
171
- {"tag": "two_object", "include": [{"class": "fire hydrant", "count": 1}, {"class": "train", "count": 1}], "prompt": "a photo of a fire hydrant and a train"}
172
- {"tag": "two_object", "include": [{"class": "baseball glove", "count": 1}, {"class": "carrot", "count": 1}], "prompt": "a photo of a baseball glove and a carrot"}
173
- {"tag": "two_object", "include": [{"class": "microwave", "count": 1}, {"class": "bench", "count": 1}], "prompt": "a photo of a microwave and a bench"}
174
- {"tag": "two_object", "include": [{"class": "cake", "count": 1}, {"class": "stop sign", "count": 1}], "prompt": "a photo of a cake and a stop sign"}
175
- {"tag": "two_object", "include": [{"class": "car", "count": 1}, {"class": "computer mouse", "count": 1}], "prompt": "a photo of a car and a computer mouse"}
176
- {"tag": "two_object", "include": [{"class": "suitcase", "count": 1}, {"class": "dining table", "count": 1}], "prompt": "a photo of a suitcase and a dining table"}
177
- {"tag": "two_object", "include": [{"class": "person", "count": 1}, {"class": "traffic light", "count": 1}], "prompt": "a photo of a person and a traffic light"}
178
- {"tag": "two_object", "include": [{"class": "cell phone", "count": 1}, {"class": "horse", "count": 1}], "prompt": "a photo of a cell phone and a horse"}
179
- {"tag": "two_object", "include": [{"class": "baseball bat", "count": 1}, {"class": "giraffe", "count": 1}], "prompt": "a photo of a baseball bat and a giraffe"}
180
- {"tag": "counting", "include": [{"class": "clock", "count": 2}], "exclude": [{"class": "clock", "count": 3}], "prompt": "a photo of two clocks"}
181
- {"tag": "counting", "include": [{"class": "backpack", "count": 2}], "exclude": [{"class": "backpack", "count": 3}], "prompt": "a photo of two backpacks"}
182
- {"tag": "counting", "include": [{"class": "handbag", "count": 4}], "exclude": [{"class": "handbag", "count": 5}], "prompt": "a photo of four handbags"}
183
- {"tag": "counting", "include": [{"class": "frisbee", "count": 2}], "exclude": [{"class": "frisbee", "count": 3}], "prompt": "a photo of two frisbees"}
184
- {"tag": "counting", "include": [{"class": "sports ball", "count": 3}], "exclude": [{"class": "sports ball", "count": 4}], "prompt": "a photo of three sports balls"}
185
- {"tag": "counting", "include": [{"class": "bear", "count": 2}], "exclude": [{"class": "bear", "count": 3}], "prompt": "a photo of two bears"}
186
- {"tag": "counting", "include": [{"class": "tie", "count": 2}], "exclude": [{"class": "tie", "count": 3}], "prompt": "a photo of two ties"}
187
- {"tag": "counting", "include": [{"class": "sink", "count": 4}], "exclude": [{"class": "sink", "count": 5}], "prompt": "a photo of four sinks"}
188
- {"tag": "counting", "include": [{"class": "toothbrush", "count": 2}], "exclude": [{"class": "toothbrush", "count": 3}], "prompt": "a photo of two toothbrushs"}
189
- {"tag": "counting", "include": [{"class": "person", "count": 3}], "exclude": [{"class": "person", "count": 4}], "prompt": "a photo of three persons"}
190
- {"tag": "counting", "include": [{"class": "tennis racket", "count": 3}], "exclude": [{"class": "tennis racket", "count": 4}], "prompt": "a photo of three tennis rackets"}
191
- {"tag": "counting", "include": [{"class": "bowl", "count": 4}], "exclude": [{"class": "bowl", "count": 5}], "prompt": "a photo of four bowls"}
192
- {"tag": "counting", "include": [{"class": "vase", "count": 4}], "exclude": [{"class": "vase", "count": 5}], "prompt": "a photo of four vases"}
193
- {"tag": "counting", "include": [{"class": "cup", "count": 3}], "exclude": [{"class": "cup", "count": 4}], "prompt": "a photo of three cups"}
194
- {"tag": "counting", "include": [{"class": "computer keyboard", "count": 4}], "exclude": [{"class": "computer keyboard", "count": 5}], "prompt": "a photo of four computer keyboards"}
195
- {"tag": "counting", "include": [{"class": "sink", "count": 3}], "exclude": [{"class": "sink", "count": 4}], "prompt": "a photo of three sinks"}
196
- {"tag": "counting", "include": [{"class": "oven", "count": 2}], "exclude": [{"class": "oven", "count": 3}], "prompt": "a photo of two ovens"}
197
- {"tag": "counting", "include": [{"class": "toilet", "count": 2}], "exclude": [{"class": "toilet", "count": 3}], "prompt": "a photo of two toilets"}
198
- {"tag": "counting", "include": [{"class": "bicycle", "count": 2}], "exclude": [{"class": "bicycle", "count": 3}], "prompt": "a photo of two bicycles"}
199
- {"tag": "counting", "include": [{"class": "train", "count": 2}], "exclude": [{"class": "train", "count": 3}], "prompt": "a photo of two trains"}
200
- {"tag": "counting", "include": [{"class": "orange", "count": 3}], "exclude": [{"class": "orange", "count": 4}], "prompt": "a photo of three oranges"}
201
- {"tag": "counting", "include": [{"class": "bus", "count": 3}], "exclude": [{"class": "bus", "count": 4}], "prompt": "a photo of three buses"}
202
- {"tag": "counting", "include": [{"class": "handbag", "count": 3}], "exclude": [{"class": "handbag", "count": 4}], "prompt": "a photo of three handbags"}
203
- {"tag": "counting", "include": [{"class": "snowboard", "count": 3}], "exclude": [{"class": "snowboard", "count": 4}], "prompt": "a photo of three snowboards"}
204
- {"tag": "counting", "include": [{"class": "snowboard", "count": 2}], "exclude": [{"class": "snowboard", "count": 3}], "prompt": "a photo of two snowboards"}
205
- {"tag": "counting", "include": [{"class": "dog", "count": 4}], "exclude": [{"class": "dog", "count": 5}], "prompt": "a photo of four dogs"}
206
- {"tag": "counting", "include": [{"class": "apple", "count": 3}], "exclude": [{"class": "apple", "count": 4}], "prompt": "a photo of three apples"}
207
- {"tag": "counting", "include": [{"class": "sheep", "count": 2}], "exclude": [{"class": "sheep", "count": 3}], "prompt": "a photo of two sheeps"}
208
- {"tag": "counting", "include": [{"class": "hot dog", "count": 3}], "exclude": [{"class": "hot dog", "count": 4}], "prompt": "a photo of three hot dogs"}
209
- {"tag": "counting", "include": [{"class": "zebra", "count": 3}], "exclude": [{"class": "zebra", "count": 4}], "prompt": "a photo of three zebras"}
210
- {"tag": "counting", "include": [{"class": "kite", "count": 3}], "exclude": [{"class": "kite", "count": 4}], "prompt": "a photo of three kites"}
211
- {"tag": "counting", "include": [{"class": "apple", "count": 4}], "exclude": [{"class": "apple", "count": 5}], "prompt": "a photo of four apples"}
212
- {"tag": "counting", "include": [{"class": "cell phone", "count": 3}], "exclude": [{"class": "cell phone", "count": 4}], "prompt": "a photo of three cell phones"}
213
- {"tag": "counting", "include": [{"class": "baseball glove", "count": 4}], "exclude": [{"class": "baseball glove", "count": 5}], "prompt": "a photo of four baseball gloves"}
214
- {"tag": "counting", "include": [{"class": "computer keyboard", "count": 3}], "exclude": [{"class": "computer keyboard", "count": 4}], "prompt": "a photo of three computer keyboards"}
215
- {"tag": "counting", "include": [{"class": "bed", "count": 2}], "exclude": [{"class": "bed", "count": 3}], "prompt": "a photo of two beds"}
216
- {"tag": "counting", "include": [{"class": "tv remote", "count": 2}], "exclude": [{"class": "tv remote", "count": 3}], "prompt": "a photo of two tv remotes"}
217
- {"tag": "counting", "include": [{"class": "fire hydrant", "count": 3}], "exclude": [{"class": "fire hydrant", "count": 4}], "prompt": "a photo of three fire hydrants"}
218
- {"tag": "counting", "include": [{"class": "book", "count": 3}], "exclude": [{"class": "book", "count": 4}], "prompt": "a photo of three books"}
219
- {"tag": "counting", "include": [{"class": "giraffe", "count": 4}], "exclude": [{"class": "giraffe", "count": 5}], "prompt": "a photo of four giraffes"}
220
- {"tag": "counting", "include": [{"class": "vase", "count": 2}], "exclude": [{"class": "vase", "count": 3}], "prompt": "a photo of two vases"}
221
- {"tag": "counting", "include": [{"class": "donut", "count": 4}], "exclude": [{"class": "donut", "count": 5}], "prompt": "a photo of four donuts"}
222
- {"tag": "counting", "include": [{"class": "chair", "count": 4}], "exclude": [{"class": "chair", "count": 5}], "prompt": "a photo of four chairs"}
223
- {"tag": "counting", "include": [{"class": "baseball bat", "count": 3}], "exclude": [{"class": "baseball bat", "count": 4}], "prompt": "a photo of three baseball bats"}
224
- {"tag": "counting", "include": [{"class": "stop sign", "count": 4}], "exclude": [{"class": "stop sign", "count": 5}], "prompt": "a photo of four stop signs"}
225
- {"tag": "counting", "include": [{"class": "pizza", "count": 2}], "exclude": [{"class": "pizza", "count": 3}], "prompt": "a photo of two pizzas"}
226
- {"tag": "counting", "include": [{"class": "refrigerator", "count": 3}], "exclude": [{"class": "refrigerator", "count": 4}], "prompt": "a photo of three refrigerators"}
227
- {"tag": "counting", "include": [{"class": "fire hydrant", "count": 2}], "exclude": [{"class": "fire hydrant", "count": 3}], "prompt": "a photo of two fire hydrants"}
228
- {"tag": "counting", "include": [{"class": "giraffe", "count": 3}], "exclude": [{"class": "giraffe", "count": 4}], "prompt": "a photo of three giraffes"}
229
- {"tag": "counting", "include": [{"class": "tv", "count": 4}], "exclude": [{"class": "tv", "count": 5}], "prompt": "a photo of four tvs"}
230
- {"tag": "counting", "include": [{"class": "wine glass", "count": 3}], "exclude": [{"class": "wine glass", "count": 4}], "prompt": "a photo of three wine glasses"}
231
- {"tag": "counting", "include": [{"class": "broccoli", "count": 4}], "exclude": [{"class": "broccoli", "count": 5}], "prompt": "a photo of four broccolis"}
232
- {"tag": "counting", "include": [{"class": "truck", "count": 3}], "exclude": [{"class": "truck", "count": 4}], "prompt": "a photo of three trucks"}
233
- {"tag": "counting", "include": [{"class": "truck", "count": 2}], "exclude": [{"class": "truck", "count": 3}], "prompt": "a photo of two trucks"}
234
- {"tag": "counting", "include": [{"class": "carrot", "count": 2}], "exclude": [{"class": "carrot", "count": 3}], "prompt": "a photo of two carrots"}
235
- {"tag": "counting", "include": [{"class": "sandwich", "count": 2}], "exclude": [{"class": "sandwich", "count": 3}], "prompt": "a photo of two sandwichs"}
236
- {"tag": "counting", "include": [{"class": "traffic light", "count": 4}], "exclude": [{"class": "traffic light", "count": 5}], "prompt": "a photo of four traffic lights"}
237
- {"tag": "counting", "include": [{"class": "clock", "count": 4}], "exclude": [{"class": "clock", "count": 5}], "prompt": "a photo of four clocks"}
238
- {"tag": "counting", "include": [{"class": "car", "count": 2}], "exclude": [{"class": "car", "count": 3}], "prompt": "a photo of two cars"}
239
- {"tag": "counting", "include": [{"class": "banana", "count": 2}], "exclude": [{"class": "banana", "count": 3}], "prompt": "a photo of two bananas"}
240
- {"tag": "counting", "include": [{"class": "wine glass", "count": 2}], "exclude": [{"class": "wine glass", "count": 3}], "prompt": "a photo of two wine glasses"}
241
- {"tag": "counting", "include": [{"class": "pizza", "count": 3}], "exclude": [{"class": "pizza", "count": 4}], "prompt": "a photo of three pizzas"}
242
- {"tag": "counting", "include": [{"class": "knife", "count": 4}], "exclude": [{"class": "knife", "count": 5}], "prompt": "a photo of four knifes"}
243
- {"tag": "counting", "include": [{"class": "suitcase", "count": 3}], "exclude": [{"class": "suitcase", "count": 4}], "prompt": "a photo of three suitcases"}
244
- {"tag": "counting", "include": [{"class": "zebra", "count": 4}], "exclude": [{"class": "zebra", "count": 5}], "prompt": "a photo of four zebras"}
245
- {"tag": "counting", "include": [{"class": "teddy bear", "count": 2}], "exclude": [{"class": "teddy bear", "count": 3}], "prompt": "a photo of two teddy bears"}
246
- {"tag": "counting", "include": [{"class": "skateboard", "count": 4}], "exclude": [{"class": "skateboard", "count": 5}], "prompt": "a photo of four skateboards"}
247
- {"tag": "counting", "include": [{"class": "hot dog", "count": 4}], "exclude": [{"class": "hot dog", "count": 5}], "prompt": "a photo of four hot dogs"}
248
- {"tag": "counting", "include": [{"class": "bird", "count": 3}], "exclude": [{"class": "bird", "count": 4}], "prompt": "a photo of three birds"}
249
- {"tag": "counting", "include": [{"class": "boat", "count": 4}], "exclude": [{"class": "boat", "count": 5}], "prompt": "a photo of four boats"}
250
- {"tag": "counting", "include": [{"class": "microwave", "count": 4}], "exclude": [{"class": "microwave", "count": 5}], "prompt": "a photo of four microwaves"}
251
- {"tag": "counting", "include": [{"class": "hair drier", "count": 2}], "exclude": [{"class": "hair drier", "count": 3}], "prompt": "a photo of two hair driers"}
252
- {"tag": "counting", "include": [{"class": "laptop", "count": 3}], "exclude": [{"class": "laptop", "count": 4}], "prompt": "a photo of three laptops"}
253
- {"tag": "counting", "include": [{"class": "cow", "count": 3}], "exclude": [{"class": "cow", "count": 4}], "prompt": "a photo of three cows"}
254
- {"tag": "counting", "include": [{"class": "parking meter", "count": 2}], "exclude": [{"class": "parking meter", "count": 3}], "prompt": "a photo of two parking meters"}
255
- {"tag": "counting", "include": [{"class": "bench", "count": 4}], "exclude": [{"class": "bench", "count": 5}], "prompt": "a photo of four benchs"}
256
- {"tag": "counting", "include": [{"class": "bench", "count": 3}], "exclude": [{"class": "bench", "count": 4}], "prompt": "a photo of three benchs"}
257
- {"tag": "counting", "include": [{"class": "frisbee", "count": 4}], "exclude": [{"class": "frisbee", "count": 5}], "prompt": "a photo of four frisbees"}
258
- {"tag": "counting", "include": [{"class": "book", "count": 4}], "exclude": [{"class": "book", "count": 5}], "prompt": "a photo of four books"}
259
- {"tag": "counting", "include": [{"class": "bus", "count": 4}], "exclude": [{"class": "bus", "count": 5}], "prompt": "a photo of four buses"}
260
- {"tag": "colors", "include": [{"class": "fire hydrant", "count": 1, "color": "blue"}], "prompt": "a photo of a blue fire hydrant"}
261
- {"tag": "colors", "include": [{"class": "car", "count": 1, "color": "pink"}], "prompt": "a photo of a pink car"}
262
- {"tag": "colors", "include": [{"class": "cup", "count": 1, "color": "purple"}], "prompt": "a photo of a purple cup"}
263
- {"tag": "colors", "include": [{"class": "cow", "count": 1, "color": "blue"}], "prompt": "a photo of a blue cow"}
264
- {"tag": "colors", "include": [{"class": "boat", "count": 1, "color": "yellow"}], "prompt": "a photo of a yellow boat"}
265
- {"tag": "colors", "include": [{"class": "umbrella", "count": 1, "color": "blue"}], "prompt": "a photo of a blue umbrella"}
266
- {"tag": "colors", "include": [{"class": "elephant", "count": 1, "color": "blue"}], "prompt": "a photo of a blue elephant"}
267
- {"tag": "colors", "include": [{"class": "elephant", "count": 1, "color": "yellow"}], "prompt": "a photo of a yellow elephant"}
268
- {"tag": "colors", "include": [{"class": "bicycle", "count": 1, "color": "red"}], "prompt": "a photo of a red bicycle"}
269
- {"tag": "colors", "include": [{"class": "suitcase", "count": 1, "color": "purple"}], "prompt": "a photo of a purple suitcase"}
270
- {"tag": "colors", "include": [{"class": "hair drier", "count": 1, "color": "purple"}], "prompt": "a photo of a purple hair drier"}
271
- {"tag": "colors", "include": [{"class": "sandwich", "count": 1, "color": "white"}], "prompt": "a photo of a white sandwich"}
272
- {"tag": "colors", "include": [{"class": "elephant", "count": 1, "color": "purple"}], "prompt": "a photo of a purple elephant"}
273
- {"tag": "colors", "include": [{"class": "microwave", "count": 1, "color": "green"}], "prompt": "a photo of a green microwave"}
274
- {"tag": "colors", "include": [{"class": "zebra", "count": 1, "color": "red"}], "prompt": "a photo of a red zebra"}
275
- {"tag": "colors", "include": [{"class": "apple", "count": 1, "color": "red"}], "prompt": "a photo of a red apple"}
276
- {"tag": "colors", "include": [{"class": "tv remote", "count": 1, "color": "yellow"}], "prompt": "a photo of a yellow tv remote"}
277
- {"tag": "colors", "include": [{"class": "toilet", "count": 1, "color": "blue"}], "prompt": "a photo of a blue toilet"}
278
- {"tag": "colors", "include": [{"class": "orange", "count": 1, "color": "orange"}], "prompt": "a photo of an orange orange"}
279
- {"tag": "colors", "include": [{"class": "donut", "count": 1, "color": "black"}], "prompt": "a photo of a black donut"}
280
- {"tag": "colors", "include": [{"class": "vase", "count": 1, "color": "red"}], "prompt": "a photo of a red vase"}
281
- {"tag": "colors", "include": [{"class": "pizza", "count": 1, "color": "purple"}], "prompt": "a photo of a purple pizza"}
282
- {"tag": "colors", "include": [{"class": "skateboard", "count": 1, "color": "pink"}], "prompt": "a photo of a pink skateboard"}
283
- {"tag": "colors", "include": [{"class": "skateboard", "count": 1, "color": "green"}], "prompt": "a photo of a green skateboard"}
284
- {"tag": "colors", "include": [{"class": "bear", "count": 1, "color": "purple"}], "prompt": "a photo of a purple bear"}
285
- {"tag": "colors", "include": [{"class": "chair", "count": 1, "color": "brown"}], "prompt": "a photo of a brown chair"}
286
- {"tag": "colors", "include": [{"class": "computer keyboard", "count": 1, "color": "brown"}], "prompt": "a photo of a brown computer keyboard"}
287
- {"tag": "colors", "include": [{"class": "cow", "count": 1, "color": "orange"}], "prompt": "a photo of an orange cow"}
288
- {"tag": "colors", "include": [{"class": "skis", "count": 1, "color": "brown"}], "prompt": "a photo of a brown skis"}
289
- {"tag": "colors", "include": [{"class": "kite", "count": 1, "color": "white"}], "prompt": "a photo of a white kite"}
290
- {"tag": "colors", "include": [{"class": "dog", "count": 1, "color": "red"}], "prompt": "a photo of a red dog"}
291
- {"tag": "colors", "include": [{"class": "couch", "count": 1, "color": "green"}], "prompt": "a photo of a green couch"}
292
- {"tag": "colors", "include": [{"class": "airplane", "count": 1, "color": "yellow"}], "prompt": "a photo of a yellow airplane"}
293
- {"tag": "colors", "include": [{"class": "tv", "count": 1, "color": "orange"}], "prompt": "a photo of an orange tv"}
294
- {"tag": "colors", "include": [{"class": "scissors", "count": 1, "color": "white"}], "prompt": "a photo of a white scissors"}
295
- {"tag": "colors", "include": [{"class": "cell phone", "count": 1, "color": "pink"}], "prompt": "a photo of a pink cell phone"}
296
- {"tag": "colors", "include": [{"class": "surfboard", "count": 1, "color": "green"}], "prompt": "a photo of a green surfboard"}
297
- {"tag": "colors", "include": [{"class": "fire hydrant", "count": 1, "color": "white"}], "prompt": "a photo of a white fire hydrant"}
298
- {"tag": "colors", "include": [{"class": "bicycle", "count": 1, "color": "black"}], "prompt": "a photo of a black bicycle"}
299
- {"tag": "colors", "include": [{"class": "carrot", "count": 1, "color": "purple"}], "prompt": "a photo of a purple carrot"}
300
- {"tag": "colors", "include": [{"class": "dining table", "count": 1, "color": "black"}], "prompt": "a photo of a black dining table"}
301
- {"tag": "colors", "include": [{"class": "potted plant", "count": 1, "color": "purple"}], "prompt": "a photo of a purple potted plant"}
302
- {"tag": "colors", "include": [{"class": "backpack", "count": 1, "color": "purple"}], "prompt": "a photo of a purple backpack"}
303
- {"tag": "colors", "include": [{"class": "train", "count": 1, "color": "yellow"}], "prompt": "a photo of a yellow train"}
304
- {"tag": "colors", "include": [{"class": "potted plant", "count": 1, "color": "pink"}], "prompt": "a photo of a pink potted plant"}
305
- {"tag": "colors", "include": [{"class": "giraffe", "count": 1, "color": "red"}], "prompt": "a photo of a red giraffe"}
306
- {"tag": "colors", "include": [{"class": "bear", "count": 1, "color": "brown"}], "prompt": "a photo of a brown bear"}
307
- {"tag": "colors", "include": [{"class": "train", "count": 1, "color": "black"}], "prompt": "a photo of a black train"}
308
- {"tag": "colors", "include": [{"class": "laptop", "count": 1, "color": "orange"}], "prompt": "a photo of an orange laptop"}
309
- {"tag": "colors", "include": [{"class": "hot dog", "count": 1, "color": "green"}], "prompt": "a photo of a green hot dog"}
310
- {"tag": "colors", "include": [{"class": "parking meter", "count": 1, "color": "yellow"}], "prompt": "a photo of a yellow parking meter"}
311
- {"tag": "colors", "include": [{"class": "potted plant", "count": 1, "color": "red"}], "prompt": "a photo of a red potted plant"}
312
- {"tag": "colors", "include": [{"class": "traffic light", "count": 1, "color": "green"}], "prompt": "a photo of a green traffic light"}
313
- {"tag": "colors", "include": [{"class": "tv", "count": 1, "color": "blue"}], "prompt": "a photo of a blue tv"}
314
- {"tag": "colors", "include": [{"class": "refrigerator", "count": 1, "color": "brown"}], "prompt": "a photo of a brown refrigerator"}
315
- {"tag": "colors", "include": [{"class": "tv remote", "count": 1, "color": "black"}], "prompt": "a photo of a black tv remote"}
316
- {"tag": "colors", "include": [{"class": "scissors", "count": 1, "color": "purple"}], "prompt": "a photo of a purple scissors"}
317
- {"tag": "colors", "include": [{"class": "orange", "count": 1, "color": "yellow"}], "prompt": "a photo of a yellow orange"}
318
- {"tag": "colors", "include": [{"class": "toaster", "count": 1, "color": "brown"}], "prompt": "a photo of a brown toaster"}
319
- {"tag": "colors", "include": [{"class": "parking meter", "count": 1, "color": "red"}], "prompt": "a photo of a red parking meter"}
320
- {"tag": "colors", "include": [{"class": "orange", "count": 1, "color": "brown"}], "prompt": "a photo of a brown orange"}
321
- {"tag": "colors", "include": [{"class": "clock", "count": 1, "color": "green"}], "prompt": "a photo of a green clock"}
322
- {"tag": "colors", "include": [{"class": "sheep", "count": 1, "color": "white"}], "prompt": "a photo of a white sheep"}
323
- {"tag": "colors", "include": [{"class": "oven", "count": 1, "color": "yellow"}], "prompt": "a photo of a yellow oven"}
324
- {"tag": "colors", "include": [{"class": "vase", "count": 1, "color": "green"}], "prompt": "a photo of a green vase"}
325
- {"tag": "colors", "include": [{"class": "teddy bear", "count": 1, "color": "black"}], "prompt": "a photo of a black teddy bear"}
326
- {"tag": "colors", "include": [{"class": "carrot", "count": 1, "color": "yellow"}], "prompt": "a photo of a yellow carrot"}
327
- {"tag": "colors", "include": [{"class": "hot dog", "count": 1, "color": "black"}], "prompt": "a photo of a black hot dog"}
328
- {"tag": "colors", "include": [{"class": "scissors", "count": 1, "color": "red"}], "prompt": "a photo of a red scissors"}
329
- {"tag": "colors", "include": [{"class": "teddy bear", "count": 1, "color": "white"}], "prompt": "a photo of a white teddy bear"}
330
- {"tag": "colors", "include": [{"class": "skis", "count": 1, "color": "black"}], "prompt": "a photo of a black skis"}
331
- {"tag": "colors", "include": [{"class": "dining table", "count": 1, "color": "blue"}], "prompt": "a photo of a blue dining table"}
332
- {"tag": "colors", "include": [{"class": "refrigerator", "count": 1, "color": "black"}], "prompt": "a photo of a black refrigerator"}
333
- {"tag": "colors", "include": [{"class": "dog", "count": 1, "color": "white"}], "prompt": "a photo of a white dog"}
334
- {"tag": "colors", "include": [{"class": "scissors", "count": 1, "color": "orange"}], "prompt": "a photo of an orange scissors"}
335
- {"tag": "colors", "include": [{"class": "cell phone", "count": 1, "color": "red"}], "prompt": "a photo of a red cell phone"}
336
- {"tag": "colors", "include": [{"class": "orange", "count": 1, "color": "white"}], "prompt": "a photo of a white orange"}
337
- {"tag": "colors", "include": [{"class": "clock", "count": 1, "color": "blue"}], "prompt": "a photo of a blue clock"}
338
- {"tag": "colors", "include": [{"class": "carrot", "count": 1, "color": "blue"}], "prompt": "a photo of a blue carrot"}
339
- {"tag": "colors", "include": [{"class": "motorcycle", "count": 1, "color": "green"}], "prompt": "a photo of a green motorcycle"}
340
- {"tag": "colors", "include": [{"class": "stop sign", "count": 1, "color": "pink"}], "prompt": "a photo of a pink stop sign"}
341
- {"tag": "colors", "include": [{"class": "vase", "count": 1, "color": "black"}], "prompt": "a photo of a black vase"}
342
- {"tag": "colors", "include": [{"class": "backpack", "count": 1, "color": "black"}], "prompt": "a photo of a black backpack"}
343
- {"tag": "colors", "include": [{"class": "car", "count": 1, "color": "red"}], "prompt": "a photo of a red car"}
344
- {"tag": "colors", "include": [{"class": "computer mouse", "count": 1, "color": "green"}], "prompt": "a photo of a green computer mouse"}
345
- {"tag": "colors", "include": [{"class": "backpack", "count": 1, "color": "red"}], "prompt": "a photo of a red backpack"}
346
- {"tag": "colors", "include": [{"class": "bus", "count": 1, "color": "green"}], "prompt": "a photo of a green bus"}
347
- {"tag": "colors", "include": [{"class": "toaster", "count": 1, "color": "orange"}], "prompt": "a photo of an orange toaster"}
348
- {"tag": "colors", "include": [{"class": "fork", "count": 1, "color": "yellow"}], "prompt": "a photo of a yellow fork"}
349
- {"tag": "colors", "include": [{"class": "parking meter", "count": 1, "color": "pink"}], "prompt": "a photo of a pink parking meter"}
350
- {"tag": "colors", "include": [{"class": "book", "count": 1, "color": "blue"}], "prompt": "a photo of a blue book"}
351
- {"tag": "colors", "include": [{"class": "broccoli", "count": 1, "color": "yellow"}], "prompt": "a photo of a yellow broccoli"}
352
- {"tag": "colors", "include": [{"class": "computer mouse", "count": 1, "color": "orange"}], "prompt": "a photo of an orange computer mouse"}
353
- {"tag": "colors", "include": [{"class": "cake", "count": 1, "color": "red"}], "prompt": "a photo of a red cake"}
354
- {"tag": "position", "include": [{"class": "teddy bear", "count": 1}, {"class": "dog", "count": 1, "position": ["right of", 0]}], "prompt": "a photo of a dog right of a teddy bear"}
355
- {"tag": "position", "include": [{"class": "kite", "count": 1}, {"class": "wine glass", "count": 1, "position": ["above", 0]}], "prompt": "a photo of a wine glass above a kite"}
356
- {"tag": "position", "include": [{"class": "cup", "count": 1}, {"class": "couch", "count": 1, "position": ["below", 0]}], "prompt": "a photo of a couch below a cup"}
357
- {"tag": "position", "include": [{"class": "cow", "count": 1}, {"class": "laptop", "count": 1, "position": ["left of", 0]}], "prompt": "a photo of a laptop left of a cow"}
358
- {"tag": "position", "include": [{"class": "hair drier", "count": 1}, {"class": "fork", "count": 1, "position": ["above", 0]}], "prompt": "a photo of a fork above a hair drier"}
359
- {"tag": "position", "include": [{"class": "baseball bat", "count": 1}, {"class": "tie", "count": 1, "position": ["right of", 0]}], "prompt": "a photo of a tie right of a baseball bat"}
360
- {"tag": "position", "include": [{"class": "fork", "count": 1}, {"class": "stop sign", "count": 1, "position": ["above", 0]}], "prompt": "a photo of a stop sign above a fork"}
361
- {"tag": "position", "include": [{"class": "skateboard", "count": 1}, {"class": "bird", "count": 1, "position": ["below", 0]}], "prompt": "a photo of a bird below a skateboard"}
362
- {"tag": "position", "include": [{"class": "tv", "count": 1}, {"class": "apple", "count": 1, "position": ["above", 0]}], "prompt": "a photo of an apple above a tv"}
363
- {"tag": "position", "include": [{"class": "potted plant", "count": 1}, {"class": "train", "count": 1, "position": ["above", 0]}], "prompt": "a photo of a train above a potted plant"}
364
- {"tag": "position", "include": [{"class": "refrigerator", "count": 1}, {"class": "truck", "count": 1, "position": ["left of", 0]}], "prompt": "a photo of a truck left of a refrigerator"}
365
- {"tag": "position", "include": [{"class": "cow", "count": 1}, {"class": "tv remote", "count": 1, "position": ["below", 0]}], "prompt": "a photo of a tv remote below a cow"}
366
- {"tag": "position", "include": [{"class": "train", "count": 1}, {"class": "bottle", "count": 1, "position": ["right of", 0]}], "prompt": "a photo of a bottle right of a train"}
367
- {"tag": "position", "include": [{"class": "cow", "count": 1}, {"class": "dog", "count": 1, "position": ["above", 0]}], "prompt": "a photo of a dog above a cow"}
368
- {"tag": "position", "include": [{"class": "person", "count": 1}, {"class": "skateboard", "count": 1, "position": ["above", 0]}], "prompt": "a photo of a skateboard above a person"}
369
- {"tag": "position", "include": [{"class": "umbrella", "count": 1}, {"class": "baseball glove", "count": 1, "position": ["below", 0]}], "prompt": "a photo of a baseball glove below an umbrella"}
370
- {"tag": "position", "include": [{"class": "oven", "count": 1}, {"class": "dining table", "count": 1, "position": ["right of", 0]}], "prompt": "a photo of a dining table right of an oven"}
371
- {"tag": "position", "include": [{"class": "suitcase", "count": 1}, {"class": "hot dog", "count": 1, "position": ["left of", 0]}], "prompt": "a photo of a hot dog left of a suitcase"}
372
- {"tag": "position", "include": [{"class": "toothbrush", "count": 1}, {"class": "bus", "count": 1, "position": ["below", 0]}], "prompt": "a photo of a bus below a toothbrush"}
373
- {"tag": "position", "include": [{"class": "sandwich", "count": 1}, {"class": "backpack", "count": 1, "position": ["right of", 0]}], "prompt": "a photo of a backpack right of a sandwich"}
374
- {"tag": "position", "include": [{"class": "baseball bat", "count": 1}, {"class": "cake", "count": 1, "position": ["below", 0]}], "prompt": "a photo of a cake below a baseball bat"}
375
- {"tag": "position", "include": [{"class": "tie", "count": 1}, {"class": "dog", "count": 1, "position": ["right of", 0]}], "prompt": "a photo of a dog right of a tie"}
376
- {"tag": "position", "include": [{"class": "boat", "count": 1}, {"class": "suitcase", "count": 1, "position": ["right of", 0]}], "prompt": "a photo of a suitcase right of a boat"}
377
- {"tag": "position", "include": [{"class": "clock", "count": 1}, {"class": "bear", "count": 1, "position": ["above", 0]}], "prompt": "a photo of a bear above a clock"}
378
- {"tag": "position", "include": [{"class": "umbrella", "count": 1}, {"class": "tv remote", "count": 1, "position": ["left of", 0]}], "prompt": "a photo of a tv remote left of an umbrella"}
379
- {"tag": "position", "include": [{"class": "umbrella", "count": 1}, {"class": "sports ball", "count": 1, "position": ["left of", 0]}], "prompt": "a photo of a sports ball left of an umbrella"}
380
- {"tag": "position", "include": [{"class": "dining table", "count": 1}, {"class": "train", "count": 1, "position": ["right of", 0]}], "prompt": "a photo of a train right of a dining table"}
381
- {"tag": "position", "include": [{"class": "elephant", "count": 1}, {"class": "hair drier", "count": 1, "position": ["below", 0]}], "prompt": "a photo of a hair drier below an elephant"}
382
- {"tag": "position", "include": [{"class": "spoon", "count": 1}, {"class": "tennis racket", "count": 1, "position": ["right of", 0]}], "prompt": "a photo of a tennis racket right of a spoon"}
383
- {"tag": "position", "include": [{"class": "hot dog", "count": 1}, {"class": "wine glass", "count": 1, "position": ["right of", 0]}], "prompt": "a photo of a wine glass right of a hot dog"}
384
- {"tag": "position", "include": [{"class": "bench", "count": 1}, {"class": "computer mouse", "count": 1, "position": ["left of", 0]}], "prompt": "a photo of a computer mouse left of a bench"}
385
- {"tag": "position", "include": [{"class": "orange", "count": 1}, {"class": "carrot", "count": 1, "position": ["left of", 0]}], "prompt": "a photo of a carrot left of an orange"}
386
- {"tag": "position", "include": [{"class": "toothbrush", "count": 1}, {"class": "kite", "count": 1, "position": ["above", 0]}], "prompt": "a photo of a kite above a toothbrush"}
387
- {"tag": "position", "include": [{"class": "traffic light", "count": 1}, {"class": "toaster", "count": 1, "position": ["below", 0]}], "prompt": "a photo of a toaster below a traffic light"}
388
- {"tag": "position", "include": [{"class": "baseball glove", "count": 1}, {"class": "cat", "count": 1, "position": ["below", 0]}], "prompt": "a photo of a cat below a baseball glove"}
389
- {"tag": "position", "include": [{"class": "zebra", "count": 1}, {"class": "skis", "count": 1, "position": ["right of", 0]}], "prompt": "a photo of a skis right of a zebra"}
390
- {"tag": "position", "include": [{"class": "chair", "count": 1}, {"class": "stop sign", "count": 1, "position": ["above", 0]}], "prompt": "a photo of a stop sign above a chair"}
391
- {"tag": "position", "include": [{"class": "parking meter", "count": 1}, {"class": "stop sign", "count": 1, "position": ["above", 0]}], "prompt": "a photo of a stop sign above a parking meter"}
392
- {"tag": "position", "include": [{"class": "skateboard", "count": 1}, {"class": "hot dog", "count": 1, "position": ["right of", 0]}], "prompt": "a photo of a hot dog right of a skateboard"}
393
- {"tag": "position", "include": [{"class": "computer keyboard", "count": 1}, {"class": "pizza", "count": 1, "position": ["below", 0]}], "prompt": "a photo of a pizza below a computer keyboard"}
394
- {"tag": "position", "include": [{"class": "toilet", "count": 1}, {"class": "hair drier", "count": 1, "position": ["left of", 0]}], "prompt": "a photo of a hair drier left of a toilet"}
395
- {"tag": "position", "include": [{"class": "stop sign", "count": 1}, {"class": "cow", "count": 1, "position": ["left of", 0]}], "prompt": "a photo of a cow left of a stop sign"}
396
- {"tag": "position", "include": [{"class": "skis", "count": 1}, {"class": "suitcase", "count": 1, "position": ["above", 0]}], "prompt": "a photo of a suitcase above a skis"}
397
- {"tag": "position", "include": [{"class": "laptop", "count": 1}, {"class": "book", "count": 1, "position": ["above", 0]}], "prompt": "a photo of a book above a laptop"}
398
- {"tag": "position", "include": [{"class": "pizza", "count": 1}, {"class": "toothbrush", "count": 1, "position": ["below", 0]}], "prompt": "a photo of a toothbrush below a pizza"}
399
- {"tag": "position", "include": [{"class": "kite", "count": 1}, {"class": "toilet", "count": 1, "position": ["left of", 0]}], "prompt": "a photo of a toilet left of a kite"}
400
- {"tag": "position", "include": [{"class": "sink", "count": 1}, {"class": "tie", "count": 1, "position": ["above", 0]}], "prompt": "a photo of a tie above a sink"}
401
- {"tag": "position", "include": [{"class": "couch", "count": 1}, {"class": "bird", "count": 1, "position": ["left of", 0]}], "prompt": "a photo of a bird left of a couch"}
402
- {"tag": "position", "include": [{"class": "sports ball", "count": 1}, {"class": "bed", "count": 1, "position": ["right of", 0]}], "prompt": "a photo of a bed right of a sports ball"}
403
- {"tag": "position", "include": [{"class": "surfboard", "count": 1}, {"class": "elephant", "count": 1, "position": ["below", 0]}], "prompt": "a photo of an elephant below a surfboard"}
404
- {"tag": "position", "include": [{"class": "motorcycle", "count": 1}, {"class": "frisbee", "count": 1, "position": ["right of", 0]}], "prompt": "a photo of a frisbee right of a motorcycle"}
405
- {"tag": "position", "include": [{"class": "fire hydrant", "count": 1}, {"class": "vase", "count": 1, "position": ["above", 0]}], "prompt": "a photo of a vase above a fire hydrant"}
406
- {"tag": "position", "include": [{"class": "elephant", "count": 1}, {"class": "zebra", "count": 1, "position": ["left of", 0]}], "prompt": "a photo of a zebra left of an elephant"}
407
- {"tag": "position", "include": [{"class": "bear", "count": 1}, {"class": "bench", "count": 1, "position": ["left of", 0]}], "prompt": "a photo of a bench left of a bear"}
408
- {"tag": "position", "include": [{"class": "bench", "count": 1}, {"class": "donut", "count": 1, "position": ["right of", 0]}], "prompt": "a photo of a donut right of a bench"}
409
- {"tag": "position", "include": [{"class": "horse", "count": 1}, {"class": "frisbee", "count": 1, "position": ["below", 0]}], "prompt": "a photo of a frisbee below a horse"}
410
- {"tag": "position", "include": [{"class": "snowboard", "count": 1}, {"class": "computer keyboard", "count": 1, "position": ["above", 0]}], "prompt": "a photo of a computer keyboard above a snowboard"}
411
- {"tag": "position", "include": [{"class": "cow", "count": 1}, {"class": "tv", "count": 1, "position": ["below", 0]}], "prompt": "a photo of a tv below a cow"}
412
- {"tag": "position", "include": [{"class": "horse", "count": 1}, {"class": "elephant", "count": 1, "position": ["below", 0]}], "prompt": "a photo of an elephant below a horse"}
413
- {"tag": "position", "include": [{"class": "banana", "count": 1}, {"class": "suitcase", "count": 1, "position": ["left of", 0]}], "prompt": "a photo of a suitcase left of a banana"}
414
- {"tag": "position", "include": [{"class": "airplane", "count": 1}, {"class": "train", "count": 1, "position": ["below", 0]}], "prompt": "a photo of a train below an airplane"}
415
- {"tag": "position", "include": [{"class": "backpack", "count": 1}, {"class": "cat", "count": 1, "position": ["below", 0]}], "prompt": "a photo of a cat below a backpack"}
416
- {"tag": "position", "include": [{"class": "cake", "count": 1}, {"class": "backpack", "count": 1, "position": ["below", 0]}], "prompt": "a photo of a backpack below a cake"}
417
- {"tag": "position", "include": [{"class": "knife", "count": 1}, {"class": "sandwich", "count": 1, "position": ["below", 0]}], "prompt": "a photo of a sandwich below a knife"}
418
- {"tag": "position", "include": [{"class": "parking meter", "count": 1}, {"class": "bicycle", "count": 1, "position": ["above", 0]}], "prompt": "a photo of a bicycle above a parking meter"}
419
- {"tag": "position", "include": [{"class": "suitcase", "count": 1}, {"class": "knife", "count": 1, "position": ["right of", 0]}], "prompt": "a photo of a knife right of a suitcase"}
420
- {"tag": "position", "include": [{"class": "knife", "count": 1}, {"class": "hot dog", "count": 1, "position": ["above", 0]}], "prompt": "a photo of a hot dog above a knife"}
421
- {"tag": "position", "include": [{"class": "parking meter", "count": 1}, {"class": "zebra", "count": 1, "position": ["right of", 0]}], "prompt": "a photo of a zebra right of a parking meter"}
422
- {"tag": "position", "include": [{"class": "zebra", "count": 1}, {"class": "chair", "count": 1, "position": ["left of", 0]}], "prompt": "a photo of a chair left of a zebra"}
423
- {"tag": "position", "include": [{"class": "airplane", "count": 1}, {"class": "cow", "count": 1, "position": ["below", 0]}], "prompt": "a photo of a cow below an airplane"}
424
- {"tag": "position", "include": [{"class": "umbrella", "count": 1}, {"class": "cup", "count": 1, "position": ["left of", 0]}], "prompt": "a photo of a cup left of an umbrella"}
425
- {"tag": "position", "include": [{"class": "computer keyboard", "count": 1}, {"class": "zebra", "count": 1, "position": ["below", 0]}], "prompt": "a photo of a zebra below a computer keyboard"}
426
- {"tag": "position", "include": [{"class": "broccoli", "count": 1}, {"class": "zebra", "count": 1, "position": ["below", 0]}], "prompt": "a photo of a zebra below a broccoli"}
427
- {"tag": "position", "include": [{"class": "sports ball", "count": 1}, {"class": "laptop", "count": 1, "position": ["below", 0]}], "prompt": "a photo of a laptop below a sports ball"}
428
- {"tag": "position", "include": [{"class": "baseball bat", "count": 1}, {"class": "truck", "count": 1, "position": ["left of", 0]}], "prompt": "a photo of a truck left of a baseball bat"}
429
- {"tag": "position", "include": [{"class": "baseball bat", "count": 1}, {"class": "refrigerator", "count": 1, "position": ["above", 0]}], "prompt": "a photo of a refrigerator above a baseball bat"}
430
- {"tag": "position", "include": [{"class": "baseball bat", "count": 1}, {"class": "tv", "count": 1, "position": ["above", 0]}], "prompt": "a photo of a tv above a baseball bat"}
431
- {"tag": "position", "include": [{"class": "bear", "count": 1}, {"class": "baseball glove", "count": 1, "position": ["right of", 0]}], "prompt": "a photo of a baseball glove right of a bear"}
432
- {"tag": "position", "include": [{"class": "scissors", "count": 1}, {"class": "refrigerator", "count": 1, "position": ["below", 0]}], "prompt": "a photo of a refrigerator below a scissors"}
433
- {"tag": "position", "include": [{"class": "suitcase", "count": 1}, {"class": "dining table", "count": 1, "position": ["above", 0]}], "prompt": "a photo of a dining table above a suitcase"}
434
- {"tag": "position", "include": [{"class": "broccoli", "count": 1}, {"class": "parking meter", "count": 1, "position": ["above", 0]}], "prompt": "a photo of a parking meter above a broccoli"}
435
- {"tag": "position", "include": [{"class": "truck", "count": 1}, {"class": "frisbee", "count": 1, "position": ["above", 0]}], "prompt": "a photo of a frisbee above a truck"}
436
- {"tag": "position", "include": [{"class": "banana", "count": 1}, {"class": "pizza", "count": 1, "position": ["right of", 0]}], "prompt": "a photo of a pizza right of a banana"}
437
- {"tag": "position", "include": [{"class": "boat", "count": 1}, {"class": "bus", "count": 1, "position": ["above", 0]}], "prompt": "a photo of a bus above a boat"}
438
- {"tag": "position", "include": [{"class": "tennis racket", "count": 1}, {"class": "cell phone", "count": 1, "position": ["left of", 0]}], "prompt": "a photo of a cell phone left of a tennis racket"}
439
- {"tag": "position", "include": [{"class": "broccoli", "count": 1}, {"class": "horse", "count": 1, "position": ["right of", 0]}], "prompt": "a photo of a horse right of a broccoli"}
440
- {"tag": "position", "include": [{"class": "bottle", "count": 1}, {"class": "broccoli", "count": 1, "position": ["above", 0]}], "prompt": "a photo of a broccoli above a bottle"}
441
- {"tag": "position", "include": [{"class": "horse", "count": 1}, {"class": "vase", "count": 1, "position": ["right of", 0]}], "prompt": "a photo of a vase right of a horse"}
442
- {"tag": "position", "include": [{"class": "spoon", "count": 1}, {"class": "bear", "count": 1, "position": ["above", 0]}], "prompt": "a photo of a bear above a spoon"}
443
- {"tag": "position", "include": [{"class": "bed", "count": 1}, {"class": "zebra", "count": 1, "position": ["right of", 0]}], "prompt": "a photo of a zebra right of a bed"}
444
- {"tag": "position", "include": [{"class": "laptop", "count": 1}, {"class": "cow", "count": 1, "position": ["right of", 0]}], "prompt": "a photo of a cow right of a laptop"}
445
- {"tag": "position", "include": [{"class": "frisbee", "count": 1}, {"class": "bed", "count": 1, "position": ["right of", 0]}], "prompt": "a photo of a bed right of a frisbee"}
446
- {"tag": "position", "include": [{"class": "motorcycle", "count": 1}, {"class": "tie", "count": 1, "position": ["right of", 0]}], "prompt": "a photo of a tie right of a motorcycle"}
447
- {"tag": "position", "include": [{"class": "tv", "count": 1}, {"class": "laptop", "count": 1, "position": ["right of", 0]}], "prompt": "a photo of a laptop right of a tv"}
448
- {"tag": "position", "include": [{"class": "chair", "count": 1}, {"class": "cell phone", "count": 1, "position": ["right of", 0]}], "prompt": "a photo of a cell phone right of a chair"}
449
- {"tag": "position", "include": [{"class": "potted plant", "count": 1}, {"class": "couch", "count": 1, "position": ["below", 0]}], "prompt": "a photo of a couch below a potted plant"}
450
- {"tag": "position", "include": [{"class": "tv", "count": 1}, {"class": "clock", "count": 1, "position": ["below", 0]}], "prompt": "a photo of a clock below a tv"}
451
- {"tag": "position", "include": [{"class": "vase", "count": 1}, {"class": "couch", "count": 1, "position": ["below", 0]}], "prompt": "a photo of a couch below a vase"}
452
- {"tag": "position", "include": [{"class": "cat", "count": 1}, {"class": "donut", "count": 1, "position": ["below", 0]}], "prompt": "a photo of a donut below a cat"}
453
- {"tag": "position", "include": [{"class": "toaster", "count": 1}, {"class": "couch", "count": 1, "position": ["left of", 0]}], "prompt": "a photo of a couch left of a toaster"}
454
- {"tag": "color_attr", "include": [{"class": "wine glass", "count": 1, "color": "purple"}, {"class": "apple", "count": 1, "color": "black"}], "prompt": "a photo of a purple wine glass and a black apple"}
455
- {"tag": "color_attr", "include": [{"class": "bus", "count": 1, "color": "green"}, {"class": "microwave", "count": 1, "color": "purple"}], "prompt": "a photo of a green bus and a purple microwave"}
456
- {"tag": "color_attr", "include": [{"class": "skis", "count": 1, "color": "green"}, {"class": "airplane", "count": 1, "color": "brown"}], "prompt": "a photo of a green skis and a brown airplane"}
457
- {"tag": "color_attr", "include": [{"class": "computer keyboard", "count": 1, "color": "yellow"}, {"class": "sink", "count": 1, "color": "black"}], "prompt": "a photo of a yellow computer keyboard and a black sink"}
458
- {"tag": "color_attr", "include": [{"class": "oven", "count": 1, "color": "pink"}, {"class": "motorcycle", "count": 1, "color": "green"}], "prompt": "a photo of a pink oven and a green motorcycle"}
459
- {"tag": "color_attr", "include": [{"class": "parking meter", "count": 1, "color": "purple"}, {"class": "laptop", "count": 1, "color": "red"}], "prompt": "a photo of a purple parking meter and a red laptop"}
460
- {"tag": "color_attr", "include": [{"class": "skateboard", "count": 1, "color": "yellow"}, {"class": "computer mouse", "count": 1, "color": "orange"}], "prompt": "a photo of a yellow skateboard and an orange computer mouse"}
461
- {"tag": "color_attr", "include": [{"class": "skis", "count": 1, "color": "red"}, {"class": "tie", "count": 1, "color": "brown"}], "prompt": "a photo of a red skis and a brown tie"}
462
- {"tag": "color_attr", "include": [{"class": "skateboard", "count": 1, "color": "pink"}, {"class": "train", "count": 1, "color": "black"}], "prompt": "a photo of a pink skateboard and a black train"}
463
- {"tag": "color_attr", "include": [{"class": "handbag", "count": 1, "color": "white"}, {"class": "bed", "count": 1, "color": "purple"}], "prompt": "a photo of a white handbag and a purple bed"}
464
- {"tag": "color_attr", "include": [{"class": "elephant", "count": 1, "color": "purple"}, {"class": "sports ball", "count": 1, "color": "brown"}], "prompt": "a photo of a purple elephant and a brown sports ball"}
465
- {"tag": "color_attr", "include": [{"class": "dog", "count": 1, "color": "purple"}, {"class": "dining table", "count": 1, "color": "black"}], "prompt": "a photo of a purple dog and a black dining table"}
466
- {"tag": "color_attr", "include": [{"class": "dining table", "count": 1, "color": "white"}, {"class": "car", "count": 1, "color": "red"}], "prompt": "a photo of a white dining table and a red car"}
467
- {"tag": "color_attr", "include": [{"class": "cell phone", "count": 1, "color": "blue"}, {"class": "apple", "count": 1, "color": "green"}], "prompt": "a photo of a blue cell phone and a green apple"}
468
- {"tag": "color_attr", "include": [{"class": "car", "count": 1, "color": "red"}, {"class": "potted plant", "count": 1, "color": "orange"}], "prompt": "a photo of a red car and an orange potted plant"}
469
- {"tag": "color_attr", "include": [{"class": "carrot", "count": 1, "color": "brown"}, {"class": "potted plant", "count": 1, "color": "white"}], "prompt": "a photo of a brown carrot and a white potted plant"}
470
- {"tag": "color_attr", "include": [{"class": "kite", "count": 1, "color": "black"}, {"class": "bear", "count": 1, "color": "green"}], "prompt": "a photo of a black kite and a green bear"}
471
- {"tag": "color_attr", "include": [{"class": "laptop", "count": 1, "color": "blue"}, {"class": "bear", "count": 1, "color": "brown"}], "prompt": "a photo of a blue laptop and a brown bear"}
472
- {"tag": "color_attr", "include": [{"class": "teddy bear", "count": 1, "color": "green"}, {"class": "kite", "count": 1, "color": "brown"}], "prompt": "a photo of a green teddy bear and a brown kite"}
473
- {"tag": "color_attr", "include": [{"class": "stop sign", "count": 1, "color": "yellow"}, {"class": "potted plant", "count": 1, "color": "blue"}], "prompt": "a photo of a yellow stop sign and a blue potted plant"}
474
- {"tag": "color_attr", "include": [{"class": "snowboard", "count": 1, "color": "orange"}, {"class": "cat", "count": 1, "color": "green"}], "prompt": "a photo of an orange snowboard and a green cat"}
475
- {"tag": "color_attr", "include": [{"class": "truck", "count": 1, "color": "orange"}, {"class": "sink", "count": 1, "color": "pink"}], "prompt": "a photo of an orange truck and a pink sink"}
476
- {"tag": "color_attr", "include": [{"class": "hot dog", "count": 1, "color": "brown"}, {"class": "pizza", "count": 1, "color": "purple"}], "prompt": "a photo of a brown hot dog and a purple pizza"}
477
- {"tag": "color_attr", "include": [{"class": "couch", "count": 1, "color": "green"}, {"class": "umbrella", "count": 1, "color": "orange"}], "prompt": "a photo of a green couch and an orange umbrella"}
478
- {"tag": "color_attr", "include": [{"class": "bed", "count": 1, "color": "brown"}, {"class": "cell phone", "count": 1, "color": "pink"}], "prompt": "a photo of a brown bed and a pink cell phone"}
479
- {"tag": "color_attr", "include": [{"class": "broccoli", "count": 1, "color": "black"}, {"class": "cake", "count": 1, "color": "yellow"}], "prompt": "a photo of a black broccoli and a yellow cake"}
480
- {"tag": "color_attr", "include": [{"class": "train", "count": 1, "color": "red"}, {"class": "bear", "count": 1, "color": "purple"}], "prompt": "a photo of a red train and a purple bear"}
481
- {"tag": "color_attr", "include": [{"class": "tennis racket", "count": 1, "color": "purple"}, {"class": "sink", "count": 1, "color": "black"}], "prompt": "a photo of a purple tennis racket and a black sink"}
482
- {"tag": "color_attr", "include": [{"class": "vase", "count": 1, "color": "blue"}, {"class": "banana", "count": 1, "color": "black"}], "prompt": "a photo of a blue vase and a black banana"}
483
- {"tag": "color_attr", "include": [{"class": "clock", "count": 1, "color": "blue"}, {"class": "cup", "count": 1, "color": "white"}], "prompt": "a photo of a blue clock and a white cup"}
484
- {"tag": "color_attr", "include": [{"class": "umbrella", "count": 1, "color": "red"}, {"class": "couch", "count": 1, "color": "blue"}], "prompt": "a photo of a red umbrella and a blue couch"}
485
- {"tag": "color_attr", "include": [{"class": "handbag", "count": 1, "color": "white"}, {"class": "giraffe", "count": 1, "color": "red"}], "prompt": "a photo of a white handbag and a red giraffe"}
486
- {"tag": "color_attr", "include": [{"class": "tv remote", "count": 1, "color": "pink"}, {"class": "airplane", "count": 1, "color": "blue"}], "prompt": "a photo of a pink tv remote and a blue airplane"}
487
- {"tag": "color_attr", "include": [{"class": "handbag", "count": 1, "color": "pink"}, {"class": "scissors", "count": 1, "color": "black"}], "prompt": "a photo of a pink handbag and a black scissors"}
488
- {"tag": "color_attr", "include": [{"class": "car", "count": 1, "color": "brown"}, {"class": "hair drier", "count": 1, "color": "pink"}], "prompt": "a photo of a brown car and a pink hair drier"}
489
- {"tag": "color_attr", "include": [{"class": "bus", "count": 1, "color": "black"}, {"class": "cell phone", "count": 1, "color": "brown"}], "prompt": "a photo of a black bus and a brown cell phone"}
490
- {"tag": "color_attr", "include": [{"class": "sheep", "count": 1, "color": "purple"}, {"class": "banana", "count": 1, "color": "pink"}], "prompt": "a photo of a purple sheep and a pink banana"}
491
- {"tag": "color_attr", "include": [{"class": "handbag", "count": 1, "color": "blue"}, {"class": "cell phone", "count": 1, "color": "white"}], "prompt": "a photo of a blue handbag and a white cell phone"}
492
- {"tag": "color_attr", "include": [{"class": "pizza", "count": 1, "color": "white"}, {"class": "umbrella", "count": 1, "color": "green"}], "prompt": "a photo of a white pizza and a green umbrella"}
493
- {"tag": "color_attr", "include": [{"class": "tie", "count": 1, "color": "white"}, {"class": "skateboard", "count": 1, "color": "purple"}], "prompt": "a photo of a white tie and a purple skateboard"}
494
- {"tag": "color_attr", "include": [{"class": "sports ball", "count": 1, "color": "yellow"}, {"class": "boat", "count": 1, "color": "green"}], "prompt": "a photo of a yellow sports ball and a green boat"}
495
- {"tag": "color_attr", "include": [{"class": "wine glass", "count": 1, "color": "white"}, {"class": "giraffe", "count": 1, "color": "brown"}], "prompt": "a photo of a white wine glass and a brown giraffe"}
496
- {"tag": "color_attr", "include": [{"class": "bowl", "count": 1, "color": "yellow"}, {"class": "baseball glove", "count": 1, "color": "white"}], "prompt": "a photo of a yellow bowl and a white baseball glove"}
497
- {"tag": "color_attr", "include": [{"class": "microwave", "count": 1, "color": "orange"}, {"class": "spoon", "count": 1, "color": "black"}], "prompt": "a photo of an orange microwave and a black spoon"}
498
- {"tag": "color_attr", "include": [{"class": "skateboard", "count": 1, "color": "orange"}, {"class": "bowl", "count": 1, "color": "pink"}], "prompt": "a photo of an orange skateboard and a pink bowl"}
499
- {"tag": "color_attr", "include": [{"class": "toilet", "count": 1, "color": "blue"}, {"class": "suitcase", "count": 1, "color": "white"}], "prompt": "a photo of a blue toilet and a white suitcase"}
500
- {"tag": "color_attr", "include": [{"class": "boat", "count": 1, "color": "white"}, {"class": "hot dog", "count": 1, "color": "orange"}], "prompt": "a photo of a white boat and an orange hot dog"}
501
- {"tag": "color_attr", "include": [{"class": "dining table", "count": 1, "color": "yellow"}, {"class": "dog", "count": 1, "color": "pink"}], "prompt": "a photo of a yellow dining table and a pink dog"}
502
- {"tag": "color_attr", "include": [{"class": "cake", "count": 1, "color": "red"}, {"class": "chair", "count": 1, "color": "purple"}], "prompt": "a photo of a red cake and a purple chair"}
503
- {"tag": "color_attr", "include": [{"class": "tie", "count": 1, "color": "blue"}, {"class": "dining table", "count": 1, "color": "pink"}], "prompt": "a photo of a blue tie and a pink dining table"}
504
- {"tag": "color_attr", "include": [{"class": "cow", "count": 1, "color": "blue"}, {"class": "computer keyboard", "count": 1, "color": "black"}], "prompt": "a photo of a blue cow and a black computer keyboard"}
505
- {"tag": "color_attr", "include": [{"class": "pizza", "count": 1, "color": "yellow"}, {"class": "oven", "count": 1, "color": "green"}], "prompt": "a photo of a yellow pizza and a green oven"}
506
- {"tag": "color_attr", "include": [{"class": "laptop", "count": 1, "color": "red"}, {"class": "car", "count": 1, "color": "brown"}], "prompt": "a photo of a red laptop and a brown car"}
507
- {"tag": "color_attr", "include": [{"class": "computer keyboard", "count": 1, "color": "purple"}, {"class": "scissors", "count": 1, "color": "blue"}], "prompt": "a photo of a purple computer keyboard and a blue scissors"}
508
- {"tag": "color_attr", "include": [{"class": "surfboard", "count": 1, "color": "green"}, {"class": "oven", "count": 1, "color": "orange"}], "prompt": "a photo of a green surfboard and an orange oven"}
509
- {"tag": "color_attr", "include": [{"class": "parking meter", "count": 1, "color": "yellow"}, {"class": "refrigerator", "count": 1, "color": "pink"}], "prompt": "a photo of a yellow parking meter and a pink refrigerator"}
510
- {"tag": "color_attr", "include": [{"class": "computer mouse", "count": 1, "color": "brown"}, {"class": "bottle", "count": 1, "color": "purple"}], "prompt": "a photo of a brown computer mouse and a purple bottle"}
511
- {"tag": "color_attr", "include": [{"class": "umbrella", "count": 1, "color": "red"}, {"class": "cow", "count": 1, "color": "green"}], "prompt": "a photo of a red umbrella and a green cow"}
512
- {"tag": "color_attr", "include": [{"class": "giraffe", "count": 1, "color": "red"}, {"class": "cell phone", "count": 1, "color": "black"}], "prompt": "a photo of a red giraffe and a black cell phone"}
513
- {"tag": "color_attr", "include": [{"class": "oven", "count": 1, "color": "brown"}, {"class": "train", "count": 1, "color": "purple"}], "prompt": "a photo of a brown oven and a purple train"}
514
- {"tag": "color_attr", "include": [{"class": "baseball bat", "count": 1, "color": "blue"}, {"class": "book", "count": 1, "color": "pink"}], "prompt": "a photo of a blue baseball bat and a pink book"}
515
- {"tag": "color_attr", "include": [{"class": "cup", "count": 1, "color": "green"}, {"class": "bowl", "count": 1, "color": "yellow"}], "prompt": "a photo of a green cup and a yellow bowl"}
516
- {"tag": "color_attr", "include": [{"class": "suitcase", "count": 1, "color": "yellow"}, {"class": "bus", "count": 1, "color": "brown"}], "prompt": "a photo of a yellow suitcase and a brown bus"}
517
- {"tag": "color_attr", "include": [{"class": "motorcycle", "count": 1, "color": "orange"}, {"class": "donut", "count": 1, "color": "pink"}], "prompt": "a photo of an orange motorcycle and a pink donut"}
518
- {"tag": "color_attr", "include": [{"class": "giraffe", "count": 1, "color": "orange"}, {"class": "baseball glove", "count": 1, "color": "white"}], "prompt": "a photo of an orange giraffe and a white baseball glove"}
519
- {"tag": "color_attr", "include": [{"class": "handbag", "count": 1, "color": "orange"}, {"class": "carrot", "count": 1, "color": "green"}], "prompt": "a photo of an orange handbag and a green carrot"}
520
- {"tag": "color_attr", "include": [{"class": "bottle", "count": 1, "color": "black"}, {"class": "refrigerator", "count": 1, "color": "white"}], "prompt": "a photo of a black bottle and a white refrigerator"}
521
- {"tag": "color_attr", "include": [{"class": "dog", "count": 1, "color": "white"}, {"class": "potted plant", "count": 1, "color": "blue"}], "prompt": "a photo of a white dog and a blue potted plant"}
522
- {"tag": "color_attr", "include": [{"class": "handbag", "count": 1, "color": "orange"}, {"class": "car", "count": 1, "color": "red"}], "prompt": "a photo of an orange handbag and a red car"}
523
- {"tag": "color_attr", "include": [{"class": "stop sign", "count": 1, "color": "red"}, {"class": "book", "count": 1, "color": "blue"}], "prompt": "a photo of a red stop sign and a blue book"}
524
- {"tag": "color_attr", "include": [{"class": "car", "count": 1, "color": "yellow"}, {"class": "toothbrush", "count": 1, "color": "orange"}], "prompt": "a photo of a yellow car and an orange toothbrush"}
525
- {"tag": "color_attr", "include": [{"class": "potted plant", "count": 1, "color": "black"}, {"class": "toilet", "count": 1, "color": "yellow"}], "prompt": "a photo of a black potted plant and a yellow toilet"}
526
- {"tag": "color_attr", "include": [{"class": "dining table", "count": 1, "color": "brown"}, {"class": "suitcase", "count": 1, "color": "white"}], "prompt": "a photo of a brown dining table and a white suitcase"}
527
- {"tag": "color_attr", "include": [{"class": "donut", "count": 1, "color": "orange"}, {"class": "stop sign", "count": 1, "color": "yellow"}], "prompt": "a photo of an orange donut and a yellow stop sign"}
528
- {"tag": "color_attr", "include": [{"class": "suitcase", "count": 1, "color": "green"}, {"class": "boat", "count": 1, "color": "blue"}], "prompt": "a photo of a green suitcase and a blue boat"}
529
- {"tag": "color_attr", "include": [{"class": "tennis racket", "count": 1, "color": "orange"}, {"class": "sports ball", "count": 1, "color": "yellow"}], "prompt": "a photo of an orange tennis racket and a yellow sports ball"}
530
- {"tag": "color_attr", "include": [{"class": "computer keyboard", "count": 1, "color": "purple"}, {"class": "chair", "count": 1, "color": "red"}], "prompt": "a photo of a purple computer keyboard and a red chair"}
531
- {"tag": "color_attr", "include": [{"class": "suitcase", "count": 1, "color": "purple"}, {"class": "pizza", "count": 1, "color": "orange"}], "prompt": "a photo of a purple suitcase and an orange pizza"}
532
- {"tag": "color_attr", "include": [{"class": "bottle", "count": 1, "color": "white"}, {"class": "sheep", "count": 1, "color": "blue"}], "prompt": "a photo of a white bottle and a blue sheep"}
533
- {"tag": "color_attr", "include": [{"class": "backpack", "count": 1, "color": "purple"}, {"class": "umbrella", "count": 1, "color": "white"}], "prompt": "a photo of a purple backpack and a white umbrella"}
534
- {"tag": "color_attr", "include": [{"class": "potted plant", "count": 1, "color": "orange"}, {"class": "spoon", "count": 1, "color": "black"}], "prompt": "a photo of an orange potted plant and a black spoon"}
535
- {"tag": "color_attr", "include": [{"class": "tennis racket", "count": 1, "color": "green"}, {"class": "dog", "count": 1, "color": "black"}], "prompt": "a photo of a green tennis racket and a black dog"}
536
- {"tag": "color_attr", "include": [{"class": "handbag", "count": 1, "color": "yellow"}, {"class": "refrigerator", "count": 1, "color": "blue"}], "prompt": "a photo of a yellow handbag and a blue refrigerator"}
537
- {"tag": "color_attr", "include": [{"class": "broccoli", "count": 1, "color": "pink"}, {"class": "sink", "count": 1, "color": "red"}], "prompt": "a photo of a pink broccoli and a red sink"}
538
- {"tag": "color_attr", "include": [{"class": "bowl", "count": 1, "color": "red"}, {"class": "sink", "count": 1, "color": "pink"}], "prompt": "a photo of a red bowl and a pink sink"}
539
- {"tag": "color_attr", "include": [{"class": "toilet", "count": 1, "color": "white"}, {"class": "apple", "count": 1, "color": "red"}], "prompt": "a photo of a white toilet and a red apple"}
540
- {"tag": "color_attr", "include": [{"class": "dining table", "count": 1, "color": "pink"}, {"class": "sandwich", "count": 1, "color": "black"}], "prompt": "a photo of a pink dining table and a black sandwich"}
541
- {"tag": "color_attr", "include": [{"class": "car", "count": 1, "color": "black"}, {"class": "parking meter", "count": 1, "color": "green"}], "prompt": "a photo of a black car and a green parking meter"}
542
- {"tag": "color_attr", "include": [{"class": "bird", "count": 1, "color": "yellow"}, {"class": "motorcycle", "count": 1, "color": "black"}], "prompt": "a photo of a yellow bird and a black motorcycle"}
543
- {"tag": "color_attr", "include": [{"class": "giraffe", "count": 1, "color": "brown"}, {"class": "stop sign", "count": 1, "color": "white"}], "prompt": "a photo of a brown giraffe and a white stop sign"}
544
- {"tag": "color_attr", "include": [{"class": "banana", "count": 1, "color": "white"}, {"class": "elephant", "count": 1, "color": "black"}], "prompt": "a photo of a white banana and a black elephant"}
545
- {"tag": "color_attr", "include": [{"class": "cow", "count": 1, "color": "orange"}, {"class": "sandwich", "count": 1, "color": "purple"}], "prompt": "a photo of an orange cow and a purple sandwich"}
546
- {"tag": "color_attr", "include": [{"class": "clock", "count": 1, "color": "red"}, {"class": "cell phone", "count": 1, "color": "black"}], "prompt": "a photo of a red clock and a black cell phone"}
547
- {"tag": "color_attr", "include": [{"class": "knife", "count": 1, "color": "brown"}, {"class": "donut", "count": 1, "color": "blue"}], "prompt": "a photo of a brown knife and a blue donut"}
548
- {"tag": "color_attr", "include": [{"class": "cup", "count": 1, "color": "red"}, {"class": "handbag", "count": 1, "color": "pink"}], "prompt": "a photo of a red cup and a pink handbag"}
549
- {"tag": "color_attr", "include": [{"class": "bicycle", "count": 1, "color": "yellow"}, {"class": "motorcycle", "count": 1, "color": "red"}], "prompt": "a photo of a yellow bicycle and a red motorcycle"}
550
- {"tag": "color_attr", "include": [{"class": "orange", "count": 1, "color": "red"}, {"class": "broccoli", "count": 1, "color": "purple"}], "prompt": "a photo of a red orange and a purple broccoli"}
551
- {"tag": "color_attr", "include": [{"class": "traffic light", "count": 1, "color": "orange"}, {"class": "toilet", "count": 1, "color": "white"}], "prompt": "a photo of an orange traffic light and a white toilet"}
552
- {"tag": "color_attr", "include": [{"class": "cup", "count": 1, "color": "green"}, {"class": "pizza", "count": 1, "color": "red"}], "prompt": "a photo of a green cup and a red pizza"}
553
- {"tag": "color_attr", "include": [{"class": "pizza", "count": 1, "color": "blue"}, {"class": "baseball glove", "count": 1, "color": "yellow"}], "prompt": "a photo of a blue pizza and a yellow baseball glove"}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
eval/gen/geneval/prompts/evaluation_metadata_long.jsonl DELETED
The diff for this file is too large to render. See raw diff
 
eval/gen/geneval/prompts/generation_prompts.txt DELETED
@@ -1,553 +0,0 @@
1
- a photo of a bench
2
- a photo of a cow
3
- a photo of a bicycle
4
- a photo of a clock
5
- a photo of a carrot
6
- a photo of a suitcase
7
- a photo of a fork
8
- a photo of a surfboard
9
- a photo of a refrigerator
10
- a photo of a cup
11
- a photo of a microwave
12
- a photo of a potted plant
13
- a photo of a snowboard
14
- a photo of a zebra
15
- a photo of a parking meter
16
- a photo of a spoon
17
- a photo of a skateboard
18
- a photo of a car
19
- a photo of a motorcycle
20
- a photo of a traffic light
21
- a photo of a book
22
- a photo of a couch
23
- a photo of a backpack
24
- a photo of a computer keyboard
25
- a photo of a toaster
26
- a photo of a bird
27
- a photo of a bowl
28
- a photo of a dog
29
- a photo of a tie
30
- a photo of a laptop
31
- a photo of a computer mouse
32
- a photo of a sandwich
33
- a photo of a baseball bat
34
- a photo of a train
35
- a photo of a cell phone
36
- a photo of a chair
37
- a photo of a tv
38
- a photo of a broccoli
39
- a photo of a bed
40
- a photo of a skis
41
- a photo of a handbag
42
- a photo of a pizza
43
- a photo of a frisbee
44
- a photo of a scissors
45
- a photo of a bottle
46
- a photo of an elephant
47
- a photo of a toilet
48
- a photo of an oven
49
- a photo of an orange
50
- a photo of a person
51
- a photo of a teddy bear
52
- a photo of a vase
53
- a photo of a banana
54
- a photo of a toothbrush
55
- a photo of a tv remote
56
- a photo of a dining table
57
- a photo of a stop sign
58
- a photo of a sheep
59
- a photo of a fire hydrant
60
- a photo of an airplane
61
- a photo of a giraffe
62
- a photo of a horse
63
- a photo of a cat
64
- a photo of a donut
65
- a photo of a boat
66
- a photo of a baseball glove
67
- a photo of a hair drier
68
- a photo of a sink
69
- a photo of a cake
70
- a photo of a wine glass
71
- a photo of an apple
72
- a photo of a bus
73
- a photo of a tennis racket
74
- a photo of a knife
75
- a photo of a hot dog
76
- a photo of a truck
77
- a photo of an umbrella
78
- a photo of a sports ball
79
- a photo of a bear
80
- a photo of a kite
81
- a photo of a bench and a sports ball
82
- a photo of a toothbrush and a snowboard
83
- a photo of a toaster and an oven
84
- a photo of a broccoli and a vase
85
- a photo of a tennis racket and a wine glass
86
- a photo of a fork and a knife
87
- a photo of a hair drier and a cake
88
- a photo of a horse and a giraffe
89
- a photo of a horse and a computer keyboard
90
- a photo of a toothbrush and a carrot
91
- a photo of a cake and a zebra
92
- a photo of a hair drier and a bear
93
- a photo of a knife and a zebra
94
- a photo of a couch and a wine glass
95
- a photo of a frisbee and a vase
96
- a photo of a book and a laptop
97
- a photo of a dining table and a bear
98
- a photo of a frisbee and a couch
99
- a photo of a couch and a horse
100
- a photo of a toilet and a computer mouse
101
- a photo of a bottle and a refrigerator
102
- a photo of a potted plant and a backpack
103
- a photo of a skateboard and a cake
104
- a photo of a broccoli and a parking meter
105
- a photo of a zebra and a bed
106
- a photo of an oven and a bed
107
- a photo of a baseball bat and a fork
108
- a photo of a vase and a spoon
109
- a photo of a skateboard and a sink
110
- a photo of a pizza and a bench
111
- a photo of a bowl and a pizza
112
- a photo of a tennis racket and a bird
113
- a photo of a wine glass and a bear
114
- a photo of a fork and a book
115
- a photo of a scissors and a bowl
116
- a photo of a laptop and a carrot
117
- a photo of a stop sign and a bottle
118
- a photo of a microwave and a truck
119
- a photo of a person and a bear
120
- a photo of a frisbee and a cell phone
121
- a photo of a parking meter and a teddy bear
122
- a photo of a tennis racket and a bicycle
123
- a photo of a stop sign and a motorcycle
124
- a photo of a fire hydrant and a tennis racket
125
- a photo of a scissors and a sandwich
126
- a photo of a pizza and a book
127
- a photo of a giraffe and a computer mouse
128
- a photo of a stop sign and a toaster
129
- a photo of a computer mouse and a zebra
130
- a photo of a chair and a bench
131
- a photo of a tv and a carrot
132
- a photo of a surfboard and a suitcase
133
- a photo of a computer keyboard and a laptop
134
- a photo of a computer keyboard and a microwave
135
- a photo of a scissors and a bird
136
- a photo of a person and a snowboard
137
- a photo of a cow and a horse
138
- a photo of a handbag and a refrigerator
139
- a photo of a chair and a laptop
140
- a photo of a toothbrush and a bench
141
- a photo of a book and a baseball bat
142
- a photo of a horse and a train
143
- a photo of a bench and a vase
144
- a photo of a traffic light and a backpack
145
- a photo of a sports ball and a cow
146
- a photo of a computer mouse and a spoon
147
- a photo of a tv and a bicycle
148
- a photo of a bench and a snowboard
149
- a photo of a toothbrush and a toilet
150
- a photo of a person and an apple
151
- a photo of a sink and a sports ball
152
- a photo of a stop sign and a dog
153
- a photo of a knife and a stop sign
154
- a photo of a wine glass and a handbag
155
- a photo of a bowl and a skis
156
- a photo of a frisbee and an apple
157
- a photo of a computer keyboard and a cell phone
158
- a photo of a stop sign and a fork
159
- a photo of a potted plant and a boat
160
- a photo of a tv and a cell phone
161
- a photo of a tie and a broccoli
162
- a photo of a potted plant and a donut
163
- a photo of a person and a sink
164
- a photo of a couch and a snowboard
165
- a photo of a fork and a baseball glove
166
- a photo of an apple and a toothbrush
167
- a photo of a bus and a baseball glove
168
- a photo of a person and a stop sign
169
- a photo of a carrot and a couch
170
- a photo of a baseball bat and a bear
171
- a photo of a fire hydrant and a train
172
- a photo of a baseball glove and a carrot
173
- a photo of a microwave and a bench
174
- a photo of a cake and a stop sign
175
- a photo of a car and a computer mouse
176
- a photo of a suitcase and a dining table
177
- a photo of a person and a traffic light
178
- a photo of a cell phone and a horse
179
- a photo of a baseball bat and a giraffe
180
- a photo of two clocks
181
- a photo of two backpacks
182
- a photo of four handbags
183
- a photo of two frisbees
184
- a photo of three sports balls
185
- a photo of two bears
186
- a photo of two ties
187
- a photo of four sinks
188
- a photo of two toothbrushs
189
- a photo of three persons
190
- a photo of three tennis rackets
191
- a photo of four bowls
192
- a photo of four vases
193
- a photo of three cups
194
- a photo of four computer keyboards
195
- a photo of three sinks
196
- a photo of two ovens
197
- a photo of two toilets
198
- a photo of two bicycles
199
- a photo of two trains
200
- a photo of three oranges
201
- a photo of three buses
202
- a photo of three handbags
203
- a photo of three snowboards
204
- a photo of two snowboards
205
- a photo of four dogs
206
- a photo of three apples
207
- a photo of two sheeps
208
- a photo of three hot dogs
209
- a photo of three zebras
210
- a photo of three kites
211
- a photo of four apples
212
- a photo of three cell phones
213
- a photo of four baseball gloves
214
- a photo of three computer keyboards
215
- a photo of two beds
216
- a photo of two tv remotes
217
- a photo of three fire hydrants
218
- a photo of three books
219
- a photo of four giraffes
220
- a photo of two vases
221
- a photo of four donuts
222
- a photo of four chairs
223
- a photo of three baseball bats
224
- a photo of four stop signs
225
- a photo of two pizzas
226
- a photo of three refrigerators
227
- a photo of two fire hydrants
228
- a photo of three giraffes
229
- a photo of four tvs
230
- a photo of three wine glasses
231
- a photo of four broccolis
232
- a photo of three trucks
233
- a photo of two trucks
234
- a photo of two carrots
235
- a photo of two sandwichs
236
- a photo of four traffic lights
237
- a photo of four clocks
238
- a photo of two cars
239
- a photo of two bananas
240
- a photo of two wine glasses
241
- a photo of three pizzas
242
- a photo of four knifes
243
- a photo of three suitcases
244
- a photo of four zebras
245
- a photo of two teddy bears
246
- a photo of four skateboards
247
- a photo of four hot dogs
248
- a photo of three birds
249
- a photo of four boats
250
- a photo of four microwaves
251
- a photo of two hair driers
252
- a photo of three laptops
253
- a photo of three cows
254
- a photo of two parking meters
255
- a photo of four benchs
256
- a photo of three benchs
257
- a photo of four frisbees
258
- a photo of four books
259
- a photo of four buses
260
- a photo of a blue fire hydrant
261
- a photo of a pink car
262
- a photo of a purple cup
263
- a photo of a blue cow
264
- a photo of a yellow boat
265
- a photo of a blue umbrella
266
- a photo of a blue elephant
267
- a photo of a yellow elephant
268
- a photo of a red bicycle
269
- a photo of a purple suitcase
270
- a photo of a purple hair drier
271
- a photo of a white sandwich
272
- a photo of a purple elephant
273
- a photo of a green microwave
274
- a photo of a red zebra
275
- a photo of a red apple
276
- a photo of a yellow tv remote
277
- a photo of a blue toilet
278
- a photo of an orange orange
279
- a photo of a black donut
280
- a photo of a red vase
281
- a photo of a purple pizza
282
- a photo of a pink skateboard
283
- a photo of a green skateboard
284
- a photo of a purple bear
285
- a photo of a brown chair
286
- a photo of a brown computer keyboard
287
- a photo of an orange cow
288
- a photo of a brown skis
289
- a photo of a white kite
290
- a photo of a red dog
291
- a photo of a green couch
292
- a photo of a yellow airplane
293
- a photo of an orange tv
294
- a photo of a white scissors
295
- a photo of a pink cell phone
296
- a photo of a green surfboard
297
- a photo of a white fire hydrant
298
- a photo of a black bicycle
299
- a photo of a purple carrot
300
- a photo of a black dining table
301
- a photo of a purple potted plant
302
- a photo of a purple backpack
303
- a photo of a yellow train
304
- a photo of a pink potted plant
305
- a photo of a red giraffe
306
- a photo of a brown bear
307
- a photo of a black train
308
- a photo of an orange laptop
309
- a photo of a green hot dog
310
- a photo of a yellow parking meter
311
- a photo of a red potted plant
312
- a photo of a green traffic light
313
- a photo of a blue tv
314
- a photo of a brown refrigerator
315
- a photo of a black tv remote
316
- a photo of a purple scissors
317
- a photo of a yellow orange
318
- a photo of a brown toaster
319
- a photo of a red parking meter
320
- a photo of a brown orange
321
- a photo of a green clock
322
- a photo of a white sheep
323
- a photo of a yellow oven
324
- a photo of a green vase
325
- a photo of a black teddy bear
326
- a photo of a yellow carrot
327
- a photo of a black hot dog
328
- a photo of a red scissors
329
- a photo of a white teddy bear
330
- a photo of a black skis
331
- a photo of a blue dining table
332
- a photo of a black refrigerator
333
- a photo of a white dog
334
- a photo of an orange scissors
335
- a photo of a red cell phone
336
- a photo of a white orange
337
- a photo of a blue clock
338
- a photo of a blue carrot
339
- a photo of a green motorcycle
340
- a photo of a pink stop sign
341
- a photo of a black vase
342
- a photo of a black backpack
343
- a photo of a red car
344
- a photo of a green computer mouse
345
- a photo of a red backpack
346
- a photo of a green bus
347
- a photo of an orange toaster
348
- a photo of a yellow fork
349
- a photo of a pink parking meter
350
- a photo of a blue book
351
- a photo of a yellow broccoli
352
- a photo of an orange computer mouse
353
- a photo of a red cake
354
- a photo of a dog right of a teddy bear
355
- a photo of a wine glass above a kite
356
- a photo of a couch below a cup
357
- a photo of a laptop left of a cow
358
- a photo of a fork above a hair drier
359
- a photo of a tie right of a baseball bat
360
- a photo of a stop sign above a fork
361
- a photo of a bird below a skateboard
362
- a photo of an apple above a tv
363
- a photo of a train above a potted plant
364
- a photo of a truck left of a refrigerator
365
- a photo of a tv remote below a cow
366
- a photo of a bottle right of a train
367
- a photo of a dog above a cow
368
- a photo of a skateboard above a person
369
- a photo of a baseball glove below an umbrella
370
- a photo of a dining table right of an oven
371
- a photo of a hot dog left of a suitcase
372
- a photo of a bus below a toothbrush
373
- a photo of a backpack right of a sandwich
374
- a photo of a cake below a baseball bat
375
- a photo of a dog right of a tie
376
- a photo of a suitcase right of a boat
377
- a photo of a bear above a clock
378
- a photo of a tv remote left of an umbrella
379
- a photo of a sports ball left of an umbrella
380
- a photo of a train right of a dining table
381
- a photo of a hair drier below an elephant
382
- a photo of a tennis racket right of a spoon
383
- a photo of a wine glass right of a hot dog
384
- a photo of a computer mouse left of a bench
385
- a photo of a carrot left of an orange
386
- a photo of a kite above a toothbrush
387
- a photo of a toaster below a traffic light
388
- a photo of a cat below a baseball glove
389
- a photo of a skis right of a zebra
390
- a photo of a stop sign above a chair
391
- a photo of a stop sign above a parking meter
392
- a photo of a hot dog right of a skateboard
393
- a photo of a pizza below a computer keyboard
394
- a photo of a hair drier left of a toilet
395
- a photo of a cow left of a stop sign
396
- a photo of a suitcase above a skis
397
- a photo of a book above a laptop
398
- a photo of a toothbrush below a pizza
399
- a photo of a toilet left of a kite
400
- a photo of a tie above a sink
401
- a photo of a bird left of a couch
402
- a photo of a bed right of a sports ball
403
- a photo of an elephant below a surfboard
404
- a photo of a frisbee right of a motorcycle
405
- a photo of a vase above a fire hydrant
406
- a photo of a zebra left of an elephant
407
- a photo of a bench left of a bear
408
- a photo of a donut right of a bench
409
- a photo of a frisbee below a horse
410
- a photo of a computer keyboard above a snowboard
411
- a photo of a tv below a cow
412
- a photo of an elephant below a horse
413
- a photo of a suitcase left of a banana
414
- a photo of a train below an airplane
415
- a photo of a cat below a backpack
416
- a photo of a backpack below a cake
417
- a photo of a sandwich below a knife
418
- a photo of a bicycle above a parking meter
419
- a photo of a knife right of a suitcase
420
- a photo of a hot dog above a knife
421
- a photo of a zebra right of a parking meter
422
- a photo of a chair left of a zebra
423
- a photo of a cow below an airplane
424
- a photo of a cup left of an umbrella
425
- a photo of a zebra below a computer keyboard
426
- a photo of a zebra below a broccoli
427
- a photo of a laptop below a sports ball
428
- a photo of a truck left of a baseball bat
429
- a photo of a refrigerator above a baseball bat
430
- a photo of a tv above a baseball bat
431
- a photo of a baseball glove right of a bear
432
- a photo of a refrigerator below a scissors
433
- a photo of a dining table above a suitcase
434
- a photo of a parking meter above a broccoli
435
- a photo of a frisbee above a truck
436
- a photo of a pizza right of a banana
437
- a photo of a bus above a boat
438
- a photo of a cell phone left of a tennis racket
439
- a photo of a horse right of a broccoli
440
- a photo of a broccoli above a bottle
441
- a photo of a vase right of a horse
442
- a photo of a bear above a spoon
443
- a photo of a zebra right of a bed
444
- a photo of a cow right of a laptop
445
- a photo of a bed right of a frisbee
446
- a photo of a tie right of a motorcycle
447
- a photo of a laptop right of a tv
448
- a photo of a cell phone right of a chair
449
- a photo of a couch below a potted plant
450
- a photo of a clock below a tv
451
- a photo of a couch below a vase
452
- a photo of a donut below a cat
453
- a photo of a couch left of a toaster
454
- a photo of a purple wine glass and a black apple
455
- a photo of a green bus and a purple microwave
456
- a photo of a green skis and a brown airplane
457
- a photo of a yellow computer keyboard and a black sink
458
- a photo of a pink oven and a green motorcycle
459
- a photo of a purple parking meter and a red laptop
460
- a photo of a yellow skateboard and an orange computer mouse
461
- a photo of a red skis and a brown tie
462
- a photo of a pink skateboard and a black train
463
- a photo of a white handbag and a purple bed
464
- a photo of a purple elephant and a brown sports ball
465
- a photo of a purple dog and a black dining table
466
- a photo of a white dining table and a red car
467
- a photo of a blue cell phone and a green apple
468
- a photo of a red car and an orange potted plant
469
- a photo of a brown carrot and a white potted plant
470
- a photo of a black kite and a green bear
471
- a photo of a blue laptop and a brown bear
472
- a photo of a green teddy bear and a brown kite
473
- a photo of a yellow stop sign and a blue potted plant
474
- a photo of an orange snowboard and a green cat
475
- a photo of an orange truck and a pink sink
476
- a photo of a brown hot dog and a purple pizza
477
- a photo of a green couch and an orange umbrella
478
- a photo of a brown bed and a pink cell phone
479
- a photo of a black broccoli and a yellow cake
480
- a photo of a red train and a purple bear
481
- a photo of a purple tennis racket and a black sink
482
- a photo of a blue vase and a black banana
483
- a photo of a blue clock and a white cup
484
- a photo of a red umbrella and a blue couch
485
- a photo of a white handbag and a red giraffe
486
- a photo of a pink tv remote and a blue airplane
487
- a photo of a pink handbag and a black scissors
488
- a photo of a brown car and a pink hair drier
489
- a photo of a black bus and a brown cell phone
490
- a photo of a purple sheep and a pink banana
491
- a photo of a blue handbag and a white cell phone
492
- a photo of a white pizza and a green umbrella
493
- a photo of a white tie and a purple skateboard
494
- a photo of a yellow sports ball and a green boat
495
- a photo of a white wine glass and a brown giraffe
496
- a photo of a yellow bowl and a white baseball glove
497
- a photo of an orange microwave and a black spoon
498
- a photo of an orange skateboard and a pink bowl
499
- a photo of a blue toilet and a white suitcase
500
- a photo of a white boat and an orange hot dog
501
- a photo of a yellow dining table and a pink dog
502
- a photo of a red cake and a purple chair
503
- a photo of a blue tie and a pink dining table
504
- a photo of a blue cow and a black computer keyboard
505
- a photo of a yellow pizza and a green oven
506
- a photo of a red laptop and a brown car
507
- a photo of a purple computer keyboard and a blue scissors
508
- a photo of a green surfboard and an orange oven
509
- a photo of a yellow parking meter and a pink refrigerator
510
- a photo of a brown computer mouse and a purple bottle
511
- a photo of a red umbrella and a green cow
512
- a photo of a red giraffe and a black cell phone
513
- a photo of a brown oven and a purple train
514
- a photo of a blue baseball bat and a pink book
515
- a photo of a green cup and a yellow bowl
516
- a photo of a yellow suitcase and a brown bus
517
- a photo of an orange motorcycle and a pink donut
518
- a photo of an orange giraffe and a white baseball glove
519
- a photo of an orange handbag and a green carrot
520
- a photo of a black bottle and a white refrigerator
521
- a photo of a white dog and a blue potted plant
522
- a photo of an orange handbag and a red car
523
- a photo of a red stop sign and a blue book
524
- a photo of a yellow car and an orange toothbrush
525
- a photo of a black potted plant and a yellow toilet
526
- a photo of a brown dining table and a white suitcase
527
- a photo of an orange donut and a yellow stop sign
528
- a photo of a green suitcase and a blue boat
529
- a photo of an orange tennis racket and a yellow sports ball
530
- a photo of a purple computer keyboard and a red chair
531
- a photo of a purple suitcase and an orange pizza
532
- a photo of a white bottle and a blue sheep
533
- a photo of a purple backpack and a white umbrella
534
- a photo of an orange potted plant and a black spoon
535
- a photo of a green tennis racket and a black dog
536
- a photo of a yellow handbag and a blue refrigerator
537
- a photo of a pink broccoli and a red sink
538
- a photo of a red bowl and a pink sink
539
- a photo of a white toilet and a red apple
540
- a photo of a pink dining table and a black sandwich
541
- a photo of a black car and a green parking meter
542
- a photo of a yellow bird and a black motorcycle
543
- a photo of a brown giraffe and a white stop sign
544
- a photo of a white banana and a black elephant
545
- a photo of an orange cow and a purple sandwich
546
- a photo of a red clock and a black cell phone
547
- a photo of a brown knife and a blue donut
548
- a photo of a red cup and a pink handbag
549
- a photo of a yellow bicycle and a red motorcycle
550
- a photo of a red orange and a purple broccoli
551
- a photo of an orange traffic light and a white toilet
552
- a photo of a green cup and a red pizza
553
- a photo of a blue pizza and a yellow baseball glove
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
eval/gen/geneval/prompts/object_names.txt DELETED
@@ -1,80 +0,0 @@
1
- person
2
- bicycle
3
- car
4
- motorcycle
5
- airplane
6
- bus
7
- train
8
- truck
9
- boat
10
- traffic light
11
- fire hydrant
12
- stop sign
13
- parking meter
14
- bench
15
- bird
16
- cat
17
- dog
18
- horse
19
- sheep
20
- cow
21
- elephant
22
- bear
23
- zebra
24
- giraffe
25
- backpack
26
- umbrella
27
- handbag
28
- tie
29
- suitcase
30
- frisbee
31
- skis
32
- snowboard
33
- sports ball
34
- kite
35
- baseball bat
36
- baseball glove
37
- skateboard
38
- surfboard
39
- tennis racket
40
- bottle
41
- wine glass
42
- cup
43
- fork
44
- knife
45
- spoon
46
- bowl
47
- banana
48
- apple
49
- sandwich
50
- orange
51
- broccoli
52
- carrot
53
- hot dog
54
- pizza
55
- donut
56
- cake
57
- chair
58
- couch
59
- potted plant
60
- bed
61
- dining table
62
- toilet
63
- tv
64
- laptop
65
- computer mouse
66
- tv remote
67
- computer keyboard
68
- cell phone
69
- microwave
70
- oven
71
- toaster
72
- sink
73
- refrigerator
74
- book
75
- clock
76
- vase
77
- scissors
78
- teddy bear
79
- hair drier
80
- toothbrush
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
eval/gen/wise/cal_score.py DELETED
@@ -1,162 +0,0 @@
1
- # Copyright 2025 Bytedance Ltd. and/or its affiliates.
2
- # SPDX-License-Identifier: Apache-2.0
3
-
4
- import json
5
- import os
6
- import argparse
7
- from collections import defaultdict
8
-
9
-
10
- def calculate_wiscore(consistency, realism, aesthetic_quality):
11
- return 0.7 * consistency + 0.2 * realism + 0.1 * aesthetic_quality
12
-
13
-
14
- def cal_culture(file_path):
15
- all_scores = []
16
- total_objects = 0
17
- has_9_9 = False
18
-
19
- with open(file_path, 'r') as file:
20
- for line in file:
21
- total_objects += 1
22
- data = json.loads(line)
23
- if 9.9 in [data['consistency'], data['realism'], data['aesthetic_quality']]:
24
- has_9_9 = True
25
- wiscore = calculate_wiscore(data['consistency'], data['realism'], data['aesthetic_quality'])
26
- all_scores.append(wiscore)
27
-
28
- if has_9_9 or total_objects < 400:
29
- print(f"Skipping file {file_path}: Contains 9.9 or has less than 400 objects.")
30
- return None
31
-
32
- total_score = sum(all_scores)
33
- avg_score = total_score / (len(all_scores)*2) if len(all_scores) > 0 else 0
34
-
35
- score = {
36
- 'total': total_score,
37
- 'average': avg_score
38
- }
39
-
40
- print(f" Cultural - Total: {score['total']:.2f}, Average: {score['average']:.2f}")
41
-
42
- return avg_score
43
-
44
-
45
- def cal_space_time(file_path):
46
- categories = defaultdict(list)
47
- total_objects = 0
48
- has_9_9 = False
49
-
50
- with open(file_path, 'r') as file:
51
- for line in file:
52
- total_objects += 1
53
- data = json.loads(line)
54
- if 9.9 in [data['consistency'], data['realism'], data['aesthetic_quality']]:
55
- has_9_9 = True
56
- subcategory = data['Subcategory']
57
- wiscore = calculate_wiscore(data['consistency'], data['realism'], data['aesthetic_quality'])
58
- if subcategory in ['Longitudinal time', 'Horizontal time']:
59
- categories['Time'].append(wiscore)
60
- else:
61
- categories['Space'].append(wiscore)
62
-
63
- if has_9_9 or total_objects < 300:
64
- print(f"Skipping file {file_path}: Contains 9.9 or has less than 400 objects.")
65
- return None
66
-
67
- total_scores = {category: sum(scores) for category, scores in categories.items()}
68
- avg_scores = {category: sum(scores) / (len(scores) * 2 )if len(scores) > 0 else 0 for category, scores in categories.items()}
69
-
70
- scores = {
71
- 'total': total_scores,
72
- 'average': avg_scores
73
- }
74
-
75
- print(f" Time - Total: {scores['total'].get('Time', 0):.2f}, Average: {scores['average'].get('Time', 0):.2f}")
76
- print(f" Space - Total: {scores['total'].get('Space', 0):.2f}, Average: {scores['average'].get('Space', 0):.2f}")
77
-
78
- return avg_scores
79
-
80
-
81
- def cal_science(file_path):
82
- categories = defaultdict(list)
83
- total_objects = 0
84
- has_9_9 = False
85
-
86
- with open(file_path, 'r') as file:
87
- for line in file:
88
- total_objects += 1
89
- data = json.loads(line)
90
- if 9.9 in [data['consistency'], data['realism'], data['aesthetic_quality']]:
91
- has_9_9 = True
92
-
93
- prompt_id = data.get('prompt_id', 0)
94
- if 701 <= prompt_id <= 800:
95
- category = 'Biology'
96
- elif 801 <= prompt_id <= 900:
97
- category = 'Physics'
98
- elif 901 <= prompt_id <= 1000:
99
- category = 'Chemistry'
100
- else:
101
- category = "?"
102
-
103
- wiscore = calculate_wiscore(data['consistency'], data['realism'], data['aesthetic_quality'])
104
- categories[category].append(wiscore)
105
-
106
- if has_9_9 or total_objects < 300:
107
- print(f"Skipping file {file_path}: Contains 9.9 or has less than 300 objects.")
108
- return None
109
-
110
- total_scores = {category: sum(scores) for category, scores in categories.items()}
111
- avg_scores = {category: sum(scores) / (len(scores)*2) if len(scores) > 0 else 0 for category, scores in categories.items()}
112
-
113
- scores = {
114
- 'total': total_scores,
115
- 'average': avg_scores
116
- }
117
-
118
- for category in ['Biology', 'Physics', 'Chemistry']:
119
- print(f" {category} - Total: {scores['total'].get(category, 0):.2f}, Average: {scores['average'].get(category, 0):.2f}")
120
-
121
- return avg_scores
122
-
123
-
124
- if __name__ == "__main__":
125
- parser = argparse.ArgumentParser(description='Image Quality Assessment Tool')
126
- parser.add_argument('--output_dir', required=True,
127
- help='Path to the output directory')
128
- args = parser.parse_args()
129
-
130
- avg_score = dict()
131
-
132
- score = cal_culture(
133
- os.path.join(args.output_dir, "cultural_common_sense_scores.jsonl")
134
- )
135
- avg_score['Cultural'] = score
136
-
137
- scores = cal_space_time(
138
- os.path.join(args.output_dir, "spatio-temporal_reasoning_scores.jsonl")
139
- )
140
- avg_score.update(scores)
141
-
142
- scores = cal_science(
143
- os.path.join(args.output_dir, "natural_science_scores.jsonl")
144
- )
145
- avg_score.update(scores)
146
-
147
- avg_all = sum(avg_score.values()) / len(avg_score)
148
-
149
- avg_score['Overall'] = avg_all
150
- keys = ""
151
- values = ""
152
- for k, v in avg_score.items():
153
- keys += f"{k} "
154
- values += f"{v:.2f} "
155
- print(keys)
156
- print(values)
157
-
158
- writer = open(os.path.join(args.output_dir, "results.txt"), 'w')
159
- print(f"write results to file {os.path.join(args.output_dir, 'results.txt')}")
160
- writer.write(keys + "\n")
161
- writer.write(values + "\n")
162
- writer.close()
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
eval/gen/wise/final_data.json DELETED
The diff for this file is too large to render. See raw diff
 
eval/gen/wise/gpt_eval_mp.py DELETED
@@ -1,268 +0,0 @@
1
- # Copyright 2025 Bytedance Ltd. and/or its affiliates.
2
- # SPDX-License-Identifier: Apache-2.0
3
-
4
- import json
5
- import os
6
- import base64
7
- import re
8
- import argparse
9
- import openai
10
- from pathlib import Path
11
- from typing import Dict, Any, List
12
- import concurrent.futures
13
-
14
- openai.api_key = os.getenv('OPENAI_API_KEY')
15
- print(openai.api_key)
16
-
17
-
18
- def parse_arguments():
19
- parser = argparse.ArgumentParser(description='Image Quality Assessment Tool')
20
-
21
- parser.add_argument('--json_path', required=True,
22
- help='Path to the prompts JSON file')
23
- parser.add_argument('--image_dir', required=True,
24
- help='Path to the image directory')
25
- parser.add_argument('--output_dir', required=True,
26
- help='Path to the output directory')
27
-
28
- return parser.parse_args()
29
-
30
-
31
- def get_config(args):
32
- filename = args.json_path.split("/")[-1].split(".")[0]
33
- return {
34
- "json_path": args.json_path,
35
- "image_dir": args.image_dir,
36
- "output_dir": args.output_dir,
37
- "result_files": {
38
- "full": f"{filename}_full.jsonl",
39
- "scores": f"{filename}_scores.jsonl",
40
- }
41
- }
42
-
43
-
44
- def extract_scores(evaluation_text: str) -> Dict[str, float]:
45
- score_pattern = r"\*{0,2}(Consistency|Realism|Aesthetic Quality)\*{0,2}\s*[::]?\s*(\d)"
46
- matches = re.findall(score_pattern, evaluation_text, re.IGNORECASE)
47
-
48
- scores = {
49
- "consistency": 9.9,
50
- "realism": 9.9,
51
- "aesthetic_quality": 9.9
52
- }
53
-
54
- for key, value in matches:
55
- key = key.lower().replace(" ", "_")
56
- if key in scores:
57
- scores[key] = float(value)
58
-
59
- return scores
60
-
61
-
62
- def encode_image(image_path: str) -> str:
63
- with open(image_path, "rb") as image_file:
64
- return base64.b64encode(image_file.read()).decode('utf-8')
65
-
66
-
67
- def load_prompts(json_path: str) -> Dict[int, Dict[str, Any]]:
68
- with open(json_path, 'r') as f:
69
- data = json.load(f)
70
- return {item["prompt_id"]: item for item in data}
71
-
72
-
73
- def build_evaluation_messages(prompt_data: Dict, image_base64: str) -> list:
74
- return [
75
- {
76
- "role": "system",
77
- "content": [
78
- {
79
- "type": "text",
80
- "text": "You are a professional Vincennes image quality audit expert, please evaluate the image quality strictly according to the protocol."
81
- }
82
- ]
83
- },
84
- {
85
- "role": "user",
86
- "content": [
87
- {
88
- "type": "text",
89
- "text": f"""Please evaluate strictly and return ONLY the three scores as requested.
90
-
91
- # Text-to-Image Quality Evaluation Protocol
92
-
93
- ## System Instruction
94
- You are an AI quality auditor for text-to-image generation. Apply these rules with ABSOLUTE RUTHLESSNESS. Only images meeting the HIGHEST standards should receive top scores.
95
-
96
- **Input Parameters**
97
- - PROMPT: [User's original prompt to]
98
- - EXPLANATION: [Further explanation of the original prompt]
99
- ---
100
-
101
- ## Scoring Criteria
102
-
103
- **Consistency (0-2):** How accurately and completely the image reflects the PROMPT.
104
- * **0 (Rejected):** Fails to capture key elements of the prompt, or contradicts the prompt.
105
- * **1 (Conditional):** Partially captures the prompt. Some elements are present, but not all, or not accurately. Noticeable deviations from the prompt's intent.
106
- * **2 (Exemplary):** Perfectly and completely aligns with the PROMPT. Every single element and nuance of the prompt is flawlessly represented in the image. The image is an ideal, unambiguous visual realization of the given prompt.
107
-
108
- **Realism (0-2):** How realistically the image is rendered.
109
- * **0 (Rejected):** Physically implausible and clearly artificial. Breaks fundamental laws of physics or visual realism.
110
- * **1 (Conditional):** Contains minor inconsistencies or unrealistic elements. While somewhat believable, noticeable flaws detract from realism.
111
- * **2 (Exemplary):** Achieves photorealistic quality, indistinguishable from a real photograph. Flawless adherence to physical laws, accurate material representation, and coherent spatial relationships. No visual cues betraying AI generation.
112
-
113
- **Aesthetic Quality (0-2):** The overall artistic appeal and visual quality of the image.
114
- * **0 (Rejected):** Poor aesthetic composition, visually unappealing, and lacks artistic merit.
115
- * **1 (Conditional):** Demonstrates basic visual appeal, acceptable composition, and color harmony, but lacks distinction or artistic flair.
116
- * **2 (Exemplary):** Possesses exceptional aesthetic quality, comparable to a masterpiece. Strikingly beautiful, with perfect composition, a harmonious color palette, and a captivating artistic style. Demonstrates a high degree of artistic vision and execution.
117
-
118
- ---
119
-
120
- ## Output Format
121
-
122
- **Do not include any other text, explanations, or labels.** You must return only three lines of text, each containing a metric and the corresponding score, for example:
123
-
124
- **Example Output:**
125
- Consistency: 2
126
- Realism: 1
127
- Aesthetic Quality: 0
128
-
129
- ---
130
-
131
- **IMPORTANT Enforcement:**
132
-
133
- Be EXTREMELY strict in your evaluation. A score of '2' should be exceedingly rare and reserved only for images that truly excel and meet the highest possible standards in each metric. If there is any doubt, downgrade the score.
134
-
135
- For **Consistency**, a score of '2' requires complete and flawless adherence to every aspect of the prompt, leaving no room for misinterpretation or omission.
136
-
137
- For **Realism**, a score of '2' means the image is virtually indistinguishable from a real photograph in terms of detail, lighting, physics, and material properties.
138
-
139
- For **Aesthetic Quality**, a score of '2' demands exceptional artistic merit, not just pleasant visuals.
140
-
141
- ---
142
- Here are the Prompt and EXPLANATION for this evaluation:
143
- PROMPT: "{prompt_data['Prompt']}"
144
- EXPLANATION: "{prompt_data['Explanation']}"
145
- Please strictly adhere to the scoring criteria and follow the template format when providing your results."""
146
- },
147
- {
148
- "type": "image_url",
149
- "image_url": {
150
- "url": f"data:image/png;base64,{image_base64}"
151
- }
152
- }
153
- ]
154
- }
155
- ]
156
-
157
-
158
- def evaluate_image(prompt_data: Dict, image_path: str, config: Dict) -> Dict[str, Any]:
159
- try:
160
- base64_image = encode_image(image_path)
161
- messages = build_evaluation_messages(prompt_data, base64_image)
162
-
163
- response = openai_client.chat.completions.create(
164
- model=model,
165
- messages=messages,
166
- temperature=0.0,
167
- max_tokens=2000,
168
- n=1,
169
- )
170
- response = response.to_dict()
171
-
172
- evaluation_text = response['choices'][0]['message']['content'].strip()
173
- scores = extract_scores(evaluation_text)
174
-
175
- return {
176
- "evaluation": evaluation_text,
177
- **scores
178
- }
179
- except Exception as e:
180
- return {
181
- "evaluation": f"Evaluation failed: {str(e)}",
182
- "consistency": 9.9,
183
- "realism": 9.9,
184
- "aesthetic_quality": 9.9
185
- }
186
-
187
-
188
- def save_results(data, filename, config):
189
- path = os.path.join(config["output_dir"], filename)
190
-
191
- assert filename.endswith('.jsonl')
192
- with open(path, 'a', encoding='utf-8') as f:
193
- json_line = json.dumps(data, ensure_ascii=False)
194
- f.write(json_line + '\n')
195
-
196
-
197
- def process_prompt(prompt_id, prompt_data, config):
198
- image_path = os.path.join(config["image_dir"], f"{prompt_id}.png")
199
-
200
- if not os.path.exists(image_path):
201
- print(f"Warning: Image not found {image_path}")
202
- return None
203
-
204
- print(f"Evaluating prompt_id: {prompt_id}...")
205
- evaluation_result = evaluate_image(prompt_data, image_path, config)
206
-
207
- full_record = {
208
- "prompt_id": prompt_id,
209
- "prompt": prompt_data["Prompt"],
210
- "key": prompt_data["Explanation"],
211
- "image_path": image_path,
212
- "evaluation": evaluation_result["evaluation"]
213
- }
214
-
215
- score_record = {
216
- "prompt_id": prompt_id,
217
- "Subcategory": prompt_data["Subcategory"],
218
- "consistency": evaluation_result["consistency"],
219
- "realism": evaluation_result["realism"],
220
- "aesthetic_quality": evaluation_result["aesthetic_quality"]
221
- }
222
-
223
- return full_record, score_record
224
-
225
-
226
- if __name__ == "__main__":
227
- api_key = openai.api_key
228
- base_url = "your_api_url",
229
- api_version = "2024-03-01-preview"
230
- model = "gpt-4o-2024-11-20"
231
-
232
- openai_client = openai.AzureOpenAI(
233
- azure_endpoint=base_url,
234
- api_version=api_version,
235
- api_key=api_key,
236
- )
237
-
238
- args = parse_arguments()
239
- config = get_config(args)
240
- Path(config["output_dir"]).mkdir(parents=True, exist_ok=True)
241
-
242
- prompts = load_prompts(config["json_path"])
243
-
244
- processed_ids = set()
245
- if os.path.exists(os.path.join(config["output_dir"], config["result_files"]["full"])):
246
- with open(os.path.join(config["output_dir"], config["result_files"]["full"]), 'r', encoding='utf-8') as f:
247
- for line in f:
248
- data = json.loads(line)
249
- processed_ids.add(data["prompt_id"])
250
- left_prompts = {k: v for k, v in prompts.items() if k not in processed_ids}
251
- print(f"Process {len(left_prompts)} prompts...")
252
-
253
- MAX_THREADS = 30
254
-
255
- with concurrent.futures.ThreadPoolExecutor(max_workers=MAX_THREADS) as executor:
256
- futures = [executor.submit(process_prompt, prompt_id, prompt_data, config)
257
- for prompt_id, prompt_data in left_prompts.items()]
258
- for future in concurrent.futures.as_completed(futures):
259
- try:
260
- result = future.result()
261
- if result:
262
- full_record, score_record = result
263
- print(full_record)
264
- save_results(full_record, config["result_files"]["full"], config)
265
- save_results(score_record, config["result_files"]["scores"], config)
266
-
267
- except Exception as e:
268
- print(f"An error occurred: {e}")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
eval/vlm/__init__.py DELETED
@@ -1,2 +0,0 @@
1
- # Copyright 2025 Bytedance Ltd. and/or its affiliates.
2
- # SPDX-License-Identifier: Apache-2.0
 
 
 
eval/vlm/eval/mathvista/calculate_score.py DELETED
@@ -1,271 +0,0 @@
1
- # Copyright (c) 2023 OpenGVLab
2
- # Copyright (c) 2025 Bytedance Ltd. and/or its affiliates.
3
- # SPDX-License-Identifier: MIT
4
- #
5
- # This file has been modified by ByteDance Ltd. and/or its affiliates. on 2025-05-20.
6
- #
7
- # Original file was released under MIT, with the full license text
8
- # available at https://github.com/OpenGVLab/InternVL/blob/main/LICENSE.
9
- #
10
- # This modified file is released under the same license.
11
-
12
- import argparse
13
-
14
- import pandas as pd
15
- # !pip install python-Levenshtein
16
- from Levenshtein import distance
17
- from utilities import *
18
-
19
-
20
- def get_most_similar(prediction, choices):
21
- """
22
- Use the Levenshtein distance (or edit distance) to determine which of the choices is most similar to the given prediction
23
- """
24
- distances = [distance(prediction, choice) for choice in choices]
25
- ind = distances.index(min(distances))
26
- return choices[ind]
27
- # return min(choices, key=lambda choice: distance(prediction, choice))
28
-
29
-
30
- def normalize_extracted_answer(extraction, choices, question_type, answer_type, precision):
31
- """
32
- Normalize the extracted answer to match the answer type
33
- """
34
- if question_type == 'multi_choice':
35
- # make sure the extraction is a string
36
- if isinstance(extraction, str):
37
- extraction = extraction.strip()
38
- else:
39
- try:
40
- extraction = str(extraction)
41
- except:
42
- extraction = ''
43
-
44
- # extract "A" from "(A) text"
45
- letter = re.findall(r'\(([a-zA-Z])\)', extraction)
46
- if len(letter) > 0:
47
- extraction = letter[0].upper()
48
-
49
- options = [chr(ord('A') + i) for i in range(len(choices))]
50
-
51
- if extraction in options:
52
- # convert option letter to text, e.g. "A" -> "text"
53
- ind = options.index(extraction)
54
- extraction = choices[ind]
55
- else:
56
- # select the most similar option
57
- extraction = get_most_similar(extraction, choices)
58
- assert extraction in choices
59
-
60
- elif answer_type == 'integer':
61
- try:
62
- extraction = str(int(float(extraction)))
63
- except:
64
- extraction = None
65
-
66
- elif answer_type == 'float':
67
- try:
68
- extraction = str(round(float(extraction), int(precision)))
69
- except:
70
- extraction = None
71
-
72
- elif answer_type == 'list':
73
- try:
74
- extraction = str(extraction)
75
- except:
76
- extraction = None
77
-
78
- return extraction
79
-
80
-
81
- def safe_equal(prediction, answer):
82
- """
83
- Check if the prediction is equal to the answer, even if they are of different types
84
- """
85
- try:
86
- if prediction == answer:
87
- return True
88
- return False
89
- except Exception as e:
90
- print(e)
91
- return False
92
-
93
-
94
- def get_acc_with_contion(res_pd, key, value):
95
- if key == 'skills':
96
- # if value in res_pd[key]:
97
- total_pd = res_pd[res_pd[key].apply(lambda x: value in x)]
98
- else:
99
- total_pd = res_pd[res_pd[key] == value]
100
-
101
- correct_pd = total_pd[total_pd['true_false'] == True] # noqa: E712
102
- acc = '{:.2f}'.format(len(correct_pd) / len(total_pd) * 100)
103
- return len(correct_pd), len(total_pd), acc
104
-
105
-
106
- if __name__ == '__main__':
107
- parser = argparse.ArgumentParser()
108
- parser.add_argument('--output_dir', type=str, default='./results')
109
- parser.add_argument('--output_file', type=str, default='output.json')
110
- parser.add_argument('--score_file', type=str, default='scores.json')
111
- parser.add_argument('--gt_file', type=str, default='./eval/vlm/data/MathVista/annot_testmini.json', help='ground truth file')
112
- parser.add_argument('--number', type=int, default=-1, help='number of problems to run')
113
- parser.add_argument('--rerun', action='store_true', help='rerun the evaluation')
114
- parser.add_argument('--caculate_gain', action='store_true', help='caculate the score gains over random guess')
115
- parser.add_argument('--random_file', type=str, default='score_random_guess.json')
116
- args = parser.parse_args()
117
-
118
- # args
119
- output_file = os.path.join(args.output_dir, args.output_file)
120
-
121
- # # quick test
122
- # output_file = '../results/llava-llama-2-13b/output_llava_llama_2_13b.json'
123
-
124
- # read json
125
- print(f'Reading {output_file}...')
126
- results = read_json(output_file)
127
-
128
- # read ground truth
129
- print(f'Reading {args.gt_file}...')
130
- gts = read_json(args.gt_file)
131
-
132
- # full pids
133
- full_pids = list(results.keys())
134
- if args.number > 0:
135
- full_pids = full_pids[:min(args.number, len(full_pids))]
136
- print('Number of testing problems:', len(full_pids))
137
-
138
- ## [1] Evaluate if the prediction is true or false
139
- print('\nEvaluating the predictions...')
140
- update_json_flag = False
141
- for pid in full_pids:
142
- problem = results[pid]
143
- # print(problem)
144
-
145
- if args.rerun:
146
- if 'prediction' in problem:
147
- del problem['prediction']
148
- if 'true_false' in problem:
149
- del problem['true_false']
150
-
151
- choices = problem['choices']
152
- question_type = problem['question_type']
153
- answer_type = problem['answer_type']
154
- precision = problem['precision']
155
- extraction = problem['extraction']
156
-
157
- if 'answer' in problem:
158
- answer = problem['answer']
159
- else:
160
- if pid in gts:
161
- answer = gts[pid]['answer']
162
- else:
163
- answer = ''
164
- problem['answer'] = answer
165
-
166
- # normalize the extracted answer to match the answer type
167
- prediction = normalize_extracted_answer(extraction, choices, question_type, answer_type, precision)
168
-
169
- # verify the prediction is true or false
170
- true_false = safe_equal(prediction, answer)
171
-
172
- # update the problem
173
- if 'true_false' not in problem:
174
- update_json_flag = True
175
-
176
- elif true_false != problem['true_false']:
177
- update_json_flag = True
178
-
179
- if 'prediction' not in problem:
180
- update_json_flag = True
181
-
182
- elif prediction != problem['prediction']:
183
- update_json_flag = True
184
-
185
- problem['prediction'] = prediction
186
- problem['true_false'] = true_false
187
-
188
- # save the updated json
189
- if update_json_flag:
190
- print('\n!!!Some problems are updated.!!!')
191
- print(f'\nSaving {output_file}...')
192
- save_json(results, output_file)
193
-
194
- ## [2] Calculate the average accuracy
195
- total = len(full_pids)
196
- correct = 0
197
- for pid in full_pids:
198
- if results[pid]['true_false']:
199
- correct += 1
200
- accuracy = str(round(correct / total * 100, 2))
201
- print(f'\nCorrect: {correct}, Total: {total}, Accuracy: {accuracy}%')
202
-
203
- scores = {'average': {'accuracy': accuracy, 'correct': correct, 'total': total}}
204
-
205
- ## [3] Calculate the fine-grained accuracy scores
206
-
207
- # merge the 'metadata' attribute into the data
208
- for pid in results:
209
- results[pid].update(results[pid].pop('metadata'))
210
-
211
- # convert the data to a pandas DataFrame
212
- df = pd.DataFrame(results).T
213
-
214
- print(len(df))
215
- print('Number of test problems:', len(df))
216
- # assert len(df) == 1000 # Important!!!
217
-
218
- # asign the target keys for evaluation
219
- target_keys = ['question_type', 'answer_type', 'language', 'source', 'category', 'task', 'context', 'grade',
220
- 'skills']
221
-
222
- for key in target_keys:
223
- print(f'\nType: [{key}]')
224
- # get the unique values of the key
225
- if key == 'skills':
226
- # the value is a list
227
- values = []
228
- for i in range(len(df)):
229
- values += df[key][i]
230
- values = list(set(values))
231
- else:
232
- values = df[key].unique()
233
- # print(values)
234
-
235
- # calculate the accuracy for each value
236
- scores[key] = {}
237
- for value in values:
238
- correct, total, acc = get_acc_with_contion(df, key, value)
239
- if total > 0:
240
- print(f'[{value}]: {acc}% ({correct}/{total})')
241
- scores[key][value] = {'accuracy': acc, 'correct': correct, 'total': total}
242
-
243
- # sort the scores by accuracy
244
- scores[key] = dict(sorted(scores[key].items(), key=lambda item: float(item[1]['accuracy']), reverse=True))
245
-
246
- # save the scores
247
- scores_file = os.path.join(args.output_dir, args.score_file)
248
- print(f'\nSaving {scores_file}...')
249
- save_json(scores, scores_file)
250
- print('\nDone!')
251
-
252
- # [4] Calculate the score gains over random guess
253
- if args.caculate_gain:
254
- random_file = os.path.join(args.output_dir, args.random_file)
255
- random_scores = json.load(open(random_file))
256
-
257
- print('\nCalculating the score gains...')
258
- for key in scores:
259
- if key == 'average':
260
- gain = round(float(scores[key]['accuracy']) - float(random_scores[key]['accuracy']), 2)
261
- scores[key]['acc_gain'] = gain
262
- else:
263
- for sub_key in scores[key]:
264
- gain = round(
265
- float(scores[key][sub_key]['accuracy']) - float(random_scores[key][sub_key]['accuracy']), 2)
266
- scores[key][sub_key]['acc_gain'] = str(gain)
267
-
268
- # save the score gains
269
- print(f'\nSaving {scores_file}...')
270
- save_json(scores, scores_file)
271
- print('\nDone!')
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
eval/vlm/eval/mathvista/evaluate_mathvista.py DELETED
@@ -1,210 +0,0 @@
1
- # Copyright (c) 2023 OpenGVLab
2
- # Copyright (c) 2025 Bytedance Ltd. and/or its affiliates.
3
- # SPDX-License-Identifier: MIT
4
- #
5
- # This file has been modified by ByteDance Ltd. and/or its affiliates. on 2025-05-20.
6
- #
7
- # Original file was released under MIT, with the full license text
8
- # available at https://github.com/OpenGVLab/InternVL/blob/main/LICENSE.
9
- #
10
- # This modified file is released under the same license.
11
-
12
- import argparse
13
- import itertools
14
- import json
15
- import os
16
- import random
17
-
18
- import torch
19
- from datasets import concatenate_datasets, load_dataset
20
- from eval.vlm.utils import load_model_and_tokenizer, build_transform, process_conversation
21
- from tqdm import tqdm
22
-
23
- ds_collections = {
24
- 'MathVista_testmini': {
25
- 'root': 'AI4Math/MathVista',
26
- 'max_new_tokens': 4096,
27
- 'min_new_tokens': 1,
28
- 'split': 'testmini'
29
- },
30
- 'MathVista_test': {
31
- 'root': 'AI4Math/MathVista',
32
- 'max_new_tokens': 4096,
33
- 'min_new_tokens': 1,
34
- 'split': 'test'
35
- },
36
- }
37
-
38
-
39
- COT_INSTRUCTION = (
40
- 'Your task is to answer the question below. '
41
- "Give step by step reasoning before you answer, and when you're ready to answer, "
42
- "please use the format \"Final answer: ..\""
43
- '\n\n'
44
- 'Question:'
45
- '\n\n'
46
- '{question}'
47
- )
48
-
49
-
50
- def collate_fn(batches):
51
- images = [_['images'] for _ in batches]
52
- data_items = [_['data_item'] for _ in batches]
53
- return images, data_items
54
-
55
-
56
- class MathVistaDataset(torch.utils.data.Dataset):
57
-
58
- def __init__(self, root, split):
59
- dataset = load_dataset(root, cache_dir=os.path.join(os.getcwd(), 'eval/vlm/data/MathVista/'))
60
- self.data = dataset[split]
61
-
62
- def __len__(self):
63
- return len(self.data)
64
-
65
- def __getitem__(self, idx):
66
- data_item = self.data[idx]
67
- image = data_item['decoded_image']
68
- del data_item['decoded_image']
69
-
70
- images = [image.convert('RGB') if image.mode != 'RGB' else image]
71
-
72
- return {
73
- 'images': images,
74
- 'data_item': data_item,
75
- }
76
-
77
-
78
- class InferenceSampler(torch.utils.data.sampler.Sampler):
79
-
80
- def __init__(self, size):
81
- self._size = int(size)
82
- assert size > 0
83
- self._rank = torch.distributed.get_rank()
84
- self._world_size = torch.distributed.get_world_size()
85
- self._local_indices = self._get_local_indices(size, self._world_size, self._rank)
86
-
87
- @staticmethod
88
- def _get_local_indices(total_size, world_size, rank):
89
- shard_size = total_size // world_size
90
- left = total_size % world_size
91
- shard_sizes = [shard_size + int(r < left) for r in range(world_size)]
92
-
93
- begin = sum(shard_sizes[:rank])
94
- end = min(sum(shard_sizes[:rank + 1]), total_size)
95
- return range(begin, end)
96
-
97
- def __iter__(self):
98
- yield from self._local_indices
99
-
100
- def __len__(self):
101
- return len(self._local_indices)
102
-
103
-
104
- def evaluate_chat_model():
105
- random.seed(args.seed)
106
-
107
- for ds_name in args.datasets:
108
- dataset = MathVistaDataset(
109
- root=ds_collections[ds_name]['root'],
110
- split=ds_collections[ds_name]['split'],
111
- )
112
- dataloader = torch.utils.data.DataLoader(
113
- dataset=dataset,
114
- sampler=InferenceSampler(len(dataset)),
115
- batch_size=args.batch_size,
116
- num_workers=args.num_workers,
117
- pin_memory=True,
118
- drop_last=False,
119
- collate_fn=collate_fn,
120
- )
121
-
122
- outputs = []
123
- for _, (images, data_items) in tqdm(enumerate(dataloader)):
124
- if args.cot:
125
- question = COT_INSTRUCTION.format(question=data_items[0]['query'])
126
- else:
127
- question = data_items[0]['query']
128
-
129
- images = images[0]
130
- images, conversation = process_conversation(images, question)
131
-
132
- pred = model.chat(
133
- tokenizer,
134
- new_token_ids,
135
- image_transform,
136
- images=images,
137
- prompt=conversation,
138
- max_length=ds_collections[ds_name]['max_new_tokens'] if not args.cot else 4096, # TODO: how to use ds_collections[ds_name]['min_new_tokens']
139
- )
140
-
141
- data_item = data_items[0]
142
- data_item['response'] = pred
143
- outputs.append(data_item)
144
-
145
- torch.distributed.barrier()
146
-
147
- world_size = torch.distributed.get_world_size()
148
- merged_outputs = [None for _ in range(world_size)]
149
- torch.distributed.all_gather_object(merged_outputs, json.dumps(outputs))
150
-
151
- merged_outputs = [json.loads(_) for _ in merged_outputs]
152
- merged_outputs = [_ for _ in itertools.chain.from_iterable(merged_outputs)]
153
-
154
- if torch.distributed.get_rank() == 0:
155
- temp = {}
156
- for data_item in merged_outputs:
157
- pid = data_item['pid']
158
- temp[pid] = data_item
159
-
160
- print(f'Evaluating {ds_name} ...')
161
- results_file = 'results.json'
162
- output_path = os.path.join(args.out_dir, 'results.json')
163
- json.dump(temp, open(output_path, 'w'), indent=4)
164
- print('Results saved to {}'.format(output_path))
165
-
166
- if args.cot:
167
- cmd = f'python eval/vlm/eval/mathvista/extract_answer_mp.py --output_file {results_file} --output_dir {args.out_dir}'
168
- else:
169
- cmd = f'python eval/vlm/eval/mathvista/extract_answer_mp.py --output_file {results_file} --output_dir {args.out_dir}'
170
- print(cmd)
171
- os.system(cmd)
172
-
173
- cmd = f'python eval/vlm/eval/mathvista/calculate_score.py --output_file {results_file} --output_dir {args.out_dir} --score_file score.json'
174
- print(cmd)
175
- os.system(cmd)
176
-
177
-
178
- if __name__ == '__main__':
179
- parser = argparse.ArgumentParser()
180
- parser.add_argument('--datasets', type=str, default='MathVista_testmini')
181
- parser.add_argument('--batch-size', type=int, default=1)
182
- parser.add_argument('--num-workers', type=int, default=1)
183
- parser.add_argument('--out-dir', type=str, default='results')
184
- parser.add_argument('--seed', type=int, default=0)
185
- parser.add_argument('--cot', action='store_true')
186
- parser.add_argument('--model-path', type=str, default='hf/BAGEL-7B-MoT/')
187
- args = parser.parse_args()
188
-
189
- if not os.path.exists(args.out_dir):
190
- os.makedirs(args.out_dir, exist_ok=True)
191
-
192
- args.datasets = args.datasets.split(',')
193
- print('datasets:', args.datasets)
194
- assert args.batch_size == 1, 'Only batch size 1 is supported'
195
-
196
- torch.distributed.init_process_group(
197
- backend='nccl',
198
- world_size=int(os.getenv('WORLD_SIZE', '1')),
199
- rank=int(os.getenv('RANK', '0')),
200
- )
201
-
202
- torch.cuda.set_device(int(os.getenv('LOCAL_RANK', 0)))
203
-
204
- model, tokenizer, new_token_ids = load_model_and_tokenizer(args)
205
- image_transform = build_transform()
206
-
207
- total_params = sum(p.numel() for p in model.parameters()) / 1e9
208
- print(f'[test] total_params: {total_params}B')
209
-
210
- evaluate_chat_model()
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
eval/vlm/eval/mathvista/extract_answer.py DELETED
@@ -1,160 +0,0 @@
1
- # Copyright (c) 2023 OpenGVLab
2
- # Copyright (c) 2025 Bytedance Ltd. and/or its affiliates.
3
- # SPDX-License-Identifier: MIT
4
- #
5
- # This file has been modified by ByteDance Ltd. and/or its affiliates. on 2025-05-20.
6
- #
7
- # Original file was released under MIT, with the full license text
8
- # available at https://github.com/OpenGVLab/InternVL/blob/main/LICENSE.
9
- #
10
- # This modified file is released under the same license.
11
-
12
- import argparse
13
-
14
- from tqdm import tqdm
15
- from utilities import *
16
-
17
- openai.api_key = os.getenv('OPENAI_API_KEY')
18
- print(openai.api_key)
19
-
20
- # load demo prompt
21
- from prompts.ext_ans import demo_prompt
22
-
23
-
24
- def verify_extraction(extraction):
25
- extraction = extraction.strip()
26
- if extraction == '' or extraction is None:
27
- return False
28
- return True
29
-
30
-
31
- def create_test_prompt(demo_prompt, query, response):
32
- demo_prompt = demo_prompt.strip()
33
- test_prompt = f'{query}\n\n{response}'
34
- full_prompt = f'{demo_prompt}\n\n{test_prompt}\n\nExtracted answer: '
35
- return full_prompt
36
-
37
-
38
- def _extract_answer(text):
39
- match = re.search(r'(Final answer:|Answer:)\s*(.*)', text, re.IGNORECASE)
40
- if match:
41
- return match.group(2).strip()
42
- return text
43
-
44
-
45
- def extract_answer(response, problem, quick_extract=False):
46
- question_type = problem['question_type']
47
- answer_type = problem['answer_type']
48
- choices = problem['choices']
49
- query = problem['query']
50
-
51
- if response == '':
52
- return ''
53
-
54
- if question_type == 'multi_choice' and response in choices:
55
- return response
56
-
57
- if answer_type == 'integer':
58
- try:
59
- extraction = int(response)
60
- return str(extraction)
61
- except:
62
- pass
63
-
64
- if answer_type == 'float':
65
- try:
66
- extraction = str(float(response))
67
- return extraction
68
- except:
69
- pass
70
-
71
- # quick extraction
72
- if quick_extract:
73
- print('Quickly extracting answer...')
74
- # The answer is "text". -> "text"
75
- try:
76
- result = _extract_answer(response)
77
- return result
78
- # result = re.search(r'The answer is "(.*)"\.', response)
79
- # if result:
80
- # extraction = result.group(1)
81
- # return extraction
82
- except:
83
- pass
84
-
85
- # general extraction
86
- try:
87
- full_prompt = create_test_prompt(demo_prompt, query, response)
88
- extraction = get_chat_response(full_prompt, openai.api_key, patience=5)
89
- return extraction
90
- except Exception as e:
91
- print(e)
92
- print(f'Error in extracting answer for {pid}')
93
-
94
- return ''
95
-
96
-
97
- if __name__ == '__main__':
98
- parser = argparse.ArgumentParser()
99
- # input
100
- parser.add_argument('--output_dir', type=str, default='./results')
101
- parser.add_argument('--output_file', type=str, default='mathvista_answer.json')
102
- parser.add_argument('--response_label', type=str, default='response', help='response label for the input file')
103
- # model
104
- parser.add_argument('--llm_engine', type=str, default='gpt-4-0613', help='llm engine',
105
- choices=['gpt-3.5-turbo', 'gpt-3.5', 'gpt-4', 'gpt-4-0314', 'gpt-4-0613'])
106
- parser.add_argument('--number', type=int, default=-1, help='number of problems to run')
107
- parser.add_argument('--quick_extract', action='store_true', help='use rules to extract answer for some problems')
108
- parser.add_argument('--rerun', action='store_true', help='rerun the answer extraction')
109
- # output
110
- parser.add_argument('--save_every', type=int, default=10, help='save every n problems')
111
- parser.add_argument('--output_label', type=str, default='', help='label for the output file')
112
- args = parser.parse_args()
113
-
114
- # args
115
- label = args.response_label
116
- result_file = os.path.join(args.output_dir, args.output_file)
117
-
118
- if args.output_label != '':
119
- output_file = result_file.replace('.json', f'_{args.output_label}.json')
120
- else:
121
- output_file = result_file
122
-
123
- # read results
124
- print(f'Reading {result_file}...')
125
- results = read_json(result_file)
126
-
127
- # full pids
128
- full_pids = list(results.keys())
129
- if args.number > 0:
130
- full_pids = full_pids[:min(args.number, len(full_pids))]
131
- print('Number of testing problems:', len(full_pids))
132
-
133
- # test pids
134
- if args.rerun:
135
- test_pids = full_pids
136
- else:
137
- test_pids = []
138
- for pid in full_pids:
139
- # print(pid)
140
- if 'extraction' not in results[pid] or not verify_extraction(results[pid]['extraction']):
141
- test_pids.append(pid)
142
-
143
- test_num = len(test_pids)
144
- print('Number of problems to run:', test_num)
145
- # print(test_pids)
146
-
147
- # tqdm, enumerate results
148
- for i, pid in enumerate(tqdm(test_pids)):
149
- problem = results[pid]
150
-
151
- assert label in problem
152
- response = problem[label]
153
-
154
- extraction = extract_answer(response, problem, args.quick_extract)
155
- results[pid]['extraction'] = extraction
156
-
157
- if i % args.save_every == 0 or i == test_num - 1:
158
- print(f'Saving results to {output_file}...')
159
- save_json(results, output_file)
160
- print(f'Results saved.')
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
eval/vlm/eval/mathvista/extract_answer_mp.py DELETED
@@ -1,161 +0,0 @@
1
- # Copyright (c) 2023 OpenGVLab
2
- # Copyright (c) 2025 Bytedance Ltd. and/or its affiliates.
3
- # SPDX-License-Identifier: MIT
4
- #
5
- # This file has been modified by ByteDance Ltd. and/or its affiliates. on 2025-05-20.
6
- #
7
- # Original file was released under MIT, with the full license text
8
- # available at https://github.com/OpenGVLab/InternVL/blob/main/LICENSE.
9
- #
10
- # This modified file is released under the same license.
11
-
12
-
13
- import argparse
14
- import os
15
- import re
16
- import json
17
- import openai
18
- from concurrent.futures import ThreadPoolExecutor, as_completed
19
- from tqdm import tqdm
20
- from utilities import *
21
- from prompts.ext_ans import demo_prompt
22
-
23
- openai.api_key = os.getenv('OPENAI_API_KEY')
24
- print(openai.api_key)
25
-
26
- def verify_extraction(extraction):
27
- extraction = extraction.strip()
28
- if extraction == '' or extraction is None:
29
- return False
30
- return True
31
-
32
- def create_test_prompt(demo_prompt, query, response):
33
- demo_prompt = demo_prompt.strip()
34
- test_prompt = f'{query}\n\n{response}'
35
- full_prompt = f'{demo_prompt}\n\n{test_prompt}\n\nExtracted answer: '
36
- return full_prompt
37
-
38
- def _extract_answer(text):
39
- match = re.search(r'(Final answer:|Answer:)\s*(.*)', text, re.IGNORECASE)
40
- if match:
41
- return match.group(2).strip()
42
- return text
43
-
44
- def extract_answer(response, problem, quick_extract=False):
45
- question_type = problem['question_type']
46
- answer_type = problem['answer_type']
47
- choices = problem['choices']
48
- query = problem['query']
49
-
50
- if response == '':
51
- return ''
52
-
53
- if question_type == 'multi_choice' and response in choices:
54
- return response
55
-
56
- if answer_type == 'integer':
57
- try:
58
- extraction = int(response)
59
- return str(extraction)
60
- except:
61
- pass
62
-
63
- if answer_type == 'float':
64
- try:
65
- extraction = str(float(response))
66
- return extraction
67
- except:
68
- pass
69
-
70
- # quick extraction
71
- if quick_extract:
72
- print('Quickly extracting answer...')
73
- try:
74
- result = _extract_answer(response)
75
- return result
76
- except:
77
- pass
78
-
79
- try:
80
- full_prompt = create_test_prompt(demo_prompt, query, response)
81
- extraction = get_chat_response(full_prompt, openai.api_key, patience=5, model=args.llm_engine)
82
- return extraction
83
- except Exception as e:
84
- print(e)
85
-
86
- return ''
87
-
88
- def process_problem(pid, results, label, args):
89
- problem = results[pid]
90
- response = problem[label]
91
- extraction = extract_answer(response, problem, args.quick_extract)
92
- return pid, extraction
93
-
94
- if __name__ == '__main__':
95
- parser = argparse.ArgumentParser()
96
- # input
97
- parser.add_argument('--output_dir', type=str, default='./results')
98
- parser.add_argument('--output_file', type=str, default='mathvista_answer.json')
99
- parser.add_argument('--response_label', type=str, default='response', help='response label for the input file')
100
- # model
101
- parser.add_argument('--llm_engine', type=str, default='gpt-4o-2024-11-20', help='llm engine',
102
- choices=['gpt-3.5-turbo', 'gpt-3.5', 'gpt-4', 'gpt-4-0314', 'gpt-4-0613',
103
- 'gpt-4o-2024-08-06', 'gpt-4o-2024-11-20'])
104
- parser.add_argument('--number', type=int, default=-1, help='number of problems to run')
105
- parser.add_argument('--quick_extract', action='store_true', help='use rules to extract answer for some problems')
106
- parser.add_argument('--rerun', action='store_true', help='rerun the answer extraction')
107
- # output
108
- parser.add_argument('--save_every', type=int, default=100, help='save every n problems')
109
- parser.add_argument('--output_label', type=str, default='', help='label for the output file')
110
- parser.add_argument('--max_workers', type=int, default=40, help='max workers for ThreadPoolExecutor')
111
- args = parser.parse_args()
112
-
113
- label = args.response_label
114
- result_file = os.path.join(args.output_dir, args.output_file)
115
-
116
- if args.output_label != '':
117
- output_file = result_file.replace('.json', f'_{args.output_label}.json')
118
- else:
119
- output_file = result_file
120
-
121
- print(f'Reading {result_file}...')
122
- results = read_json(result_file)
123
-
124
- full_pids = list(results.keys())
125
- if args.number > 0:
126
- full_pids = full_pids[:min(args.number, len(full_pids))]
127
- print('Number of total problems:', len(full_pids))
128
-
129
- if args.rerun:
130
- test_pids = full_pids
131
- else:
132
- test_pids = []
133
- for pid in full_pids:
134
- if 'extraction' not in results[pid] or not verify_extraction(results[pid]['extraction']):
135
- test_pids.append(pid)
136
-
137
- test_num = len(test_pids)
138
- print('Number of problems to run:', test_num)
139
-
140
- with ThreadPoolExecutor(max_workers=args.max_workers) as executor:
141
- future_to_pid = {}
142
- for pid in test_pids:
143
- future = executor.submit(process_problem, pid, results, label, args)
144
- future_to_pid[future] = pid
145
-
146
- completed_count = 0
147
- for future in tqdm(as_completed(future_to_pid), total=test_num):
148
- pid = future_to_pid[future]
149
- try:
150
- pid_result, extraction = future.result()
151
- results[pid_result]['extraction'] = extraction
152
- except Exception as e:
153
- print(f'Error processing pid={pid}: {e}')
154
-
155
- completed_count += 1
156
- if (completed_count % args.save_every == 0) or (completed_count == test_num):
157
- print(f'Saving results to {output_file}... [{completed_count}/{test_num}]')
158
- save_json(results, output_file)
159
- print('Results saved.')
160
-
161
- print('All done!')
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
eval/vlm/eval/mathvista/prompts/ext_ans.py DELETED
@@ -1,51 +0,0 @@
1
- # Copyright (c) 2023 OpenGVLab
2
- # Copyright (c) 2025 Bytedance Ltd. and/or its affiliates.
3
- # SPDX-License-Identifier: MIT
4
- #
5
- # This file has been modified by ByteDance Ltd. and/or its affiliates. on 2025-05-20.
6
- #
7
- # Original file was released under MIT, with the full license text
8
- # available at https://github.com/OpenGVLab/InternVL/blob/main/LICENSE.
9
- #
10
- # This modified file is released under the same license.
11
-
12
- # pids = 852, 104, 824, 506, 540
13
-
14
- demo_prompt = """
15
- Please read the following example. Then extract the answer from the model response and type it at the end of the prompt.
16
-
17
- Hint: Please answer the question requiring an integer answer and provide the final value, e.g., 1, 2, 3, at the end.
18
- Question: Which number is missing?
19
-
20
- Model response: The number missing in the sequence is 14.
21
-
22
- Extracted answer: 14
23
-
24
- Hint: Please answer the question requiring a floating-point number with one decimal place and provide the final value, e.g., 1.2, 1.3, 1.4, at the end.
25
- Question: What is the fraction of females facing the camera?
26
-
27
- Model response: The fraction of females facing the camera is 0.6, which means that six out of ten females in the group are facing the camera.
28
-
29
- Extracted answer: 0.6
30
-
31
- Hint: Please answer the question requiring a floating-point number with two decimal places and provide the final value, e.g., 1.23, 1.34, 1.45, at the end.
32
- Question: How much money does Luca need to buy a sour apple candy and a butterscotch candy? (Unit: $)
33
-
34
- Model response: Luca needs $1.45 to buy a sour apple candy and a butterscotch candy.
35
-
36
- Extracted answer: 1.45
37
-
38
- Hint: Please answer the question requiring a Python list as an answer and provide the final list, e.g., [1, 2, 3], [1.2, 1.3, 1.4], at the end.
39
- Question: Between which two years does the line graph saw its maximum peak?
40
-
41
- Model response: The line graph saw its maximum peak between 2007 and 2008.
42
-
43
- Extracted answer: [2007, 2008]
44
-
45
- Hint: Please answer the question and provide the correct option letter, e.g., A, B, C, D, at the end.
46
- Question: What fraction of the shape is blue?\nChoices:\n(A) 3/11\n(B) 8/11\n(C) 6/11\n(D) 3/5
47
-
48
- Model response: The correct answer is (B) 8/11.
49
-
50
- Extracted answer: B
51
- """
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
eval/vlm/eval/mathvista/utilities.py DELETED
@@ -1,229 +0,0 @@
1
- # Copyright (c) 2023 OpenGVLab
2
- # Copyright (c) 2025 Bytedance Ltd. and/or its affiliates.
3
- # SPDX-License-Identifier: MIT
4
- #
5
- # This file has been modified by ByteDance Ltd. and/or its affiliates. on 2025-05-20.
6
- #
7
- # Original file was released under MIT, with the full license text
8
- # available at https://github.com/OpenGVLab/InternVL/blob/main/LICENSE.
9
- #
10
- # This modified file is released under the same license.
11
-
12
- import json
13
- import os
14
- import pickle
15
- import re
16
- import time
17
-
18
- import cv2
19
- import openai
20
- from word2number import w2n
21
-
22
- openai_client = None
23
-
24
-
25
- def create_dir(output_dir):
26
- if not os.path.exists(output_dir):
27
- os.makedirs(output_dir)
28
-
29
-
30
- def read_csv(file):
31
- data = []
32
- with open(file, 'r') as f:
33
- for line in f:
34
- data.append(line.strip())
35
- return data
36
-
37
-
38
- def read_pandas_csv(csv_path):
39
- # read a pandas csv sheet
40
- import pandas as pd
41
- df = pd.read_csv(csv_path)
42
- return df
43
-
44
-
45
- def read_json(path):
46
- with open(path, 'r', encoding='utf-8') as f:
47
- return json.load(f)
48
-
49
-
50
- def read_jsonl(file):
51
- with open(file, 'r') as f:
52
- data = [json.loads(line) for line in f]
53
- return data
54
-
55
-
56
- def read_pickle(path):
57
- with open(path, 'rb') as f:
58
- return pickle.load(f)
59
-
60
-
61
- def save_json(data, path):
62
- with open(path, 'w') as f:
63
- json.dump(data, f, indent=4)
64
-
65
-
66
- def save_array_img(path, image):
67
- cv2.imwrite(path, image)
68
-
69
-
70
- def contains_digit(text):
71
- # check if text contains a digit
72
- if any(char.isdigit() for char in text):
73
- return True
74
- return False
75
-
76
-
77
- def contains_number_word(text):
78
- # check if text contains a number word
79
- ignore_words = ['a', 'an', 'point']
80
- words = re.findall(r'\b\w+\b', text) # This regex pattern matches any word in the text
81
- for word in words:
82
- if word in ignore_words:
83
- continue
84
- try:
85
- w2n.word_to_num(word)
86
- return True # If the word can be converted to a number, return True
87
- except ValueError:
88
- continue # If the word can't be converted to a number, continue with the next word
89
-
90
- # check if text contains a digit
91
- if any(char.isdigit() for char in text):
92
- return True
93
-
94
- return False # If none of the words could be converted to a number, return False
95
-
96
-
97
- def contains_quantity_word(text, special_keep_words=[]):
98
- # check if text contains a quantity word
99
- quantity_words = ['most', 'least', 'fewest'
100
- 'more', 'less', 'fewer',
101
- 'largest', 'smallest', 'greatest',
102
- 'larger', 'smaller', 'greater',
103
- 'highest', 'lowest', 'higher', 'lower',
104
- 'increase', 'decrease',
105
- 'minimum', 'maximum', 'max', 'min',
106
- 'mean', 'average', 'median',
107
- 'total', 'sum', 'add', 'subtract',
108
- 'difference', 'quotient', 'gap',
109
- 'half', 'double', 'twice', 'triple',
110
- 'square', 'cube', 'root',
111
- 'approximate', 'approximation',
112
- 'triangle', 'rectangle', 'circle', 'square', 'cube', 'sphere', 'cylinder', 'cone', 'pyramid',
113
- 'multiply', 'divide',
114
- 'percentage', 'percent', 'ratio', 'proportion', 'fraction', 'rate',
115
- ]
116
-
117
- quantity_words += special_keep_words # dataset specific words
118
-
119
- words = re.findall(r'\b\w+\b', text) # This regex pattern matches any word in the text
120
- if any(word in quantity_words for word in words):
121
- return True
122
-
123
- return False # If none of the words could be converted to a number, return False
124
-
125
-
126
- def is_bool_word(text):
127
- if text in ['Yes', 'No', 'True', 'False',
128
- 'yes', 'no', 'true', 'false',
129
- 'YES', 'NO', 'TRUE', 'FALSE']:
130
- return True
131
- return False
132
-
133
-
134
- def is_digit_string(text):
135
- # remove ".0000"
136
- text = text.strip()
137
- text = re.sub(r'\.0+$', '', text)
138
- try:
139
- int(text)
140
- return True
141
- except ValueError:
142
- return False
143
-
144
-
145
- def is_float_string(text):
146
- # text is a float string if it contains a "." and can be converted to a float
147
- if '.' in text:
148
- try:
149
- float(text)
150
- return True
151
- except ValueError:
152
- return False
153
- return False
154
-
155
-
156
- def copy_image(image_path, output_image_path):
157
- from shutil import copyfile
158
- copyfile(image_path, output_image_path)
159
-
160
-
161
- def copy_dir(src_dir, dst_dir):
162
- from shutil import copytree
163
-
164
- # copy the source directory to the target directory
165
- copytree(src_dir, dst_dir)
166
-
167
-
168
- import PIL.Image as Image
169
-
170
-
171
- def get_image_size(img_path):
172
- img = Image.open(img_path)
173
- width, height = img.size
174
- return width, height
175
-
176
-
177
- def get_chat_response(
178
- promot="", api_key="",
179
- base_url="your_api_url",
180
- api_version="2024-03-01-preview", model="gpt-4-0613",
181
- temperature=0, max_tokens=256, n=1, patience=10000000, sleep_time=0
182
- ):
183
- openai_client = openai.AzureOpenAI(
184
- azure_endpoint=base_url,
185
- api_version=api_version,
186
- api_key=api_key,
187
- )
188
-
189
- messages = [
190
- {'role': 'user', 'content': promot},
191
- ]
192
- while patience > 0:
193
- patience -= 1
194
- try:
195
- response = openai_client.chat.completions.create(
196
- model=model,
197
- messages=messages,
198
- # api_key=api_key,
199
- temperature=temperature,
200
- max_tokens=max_tokens,
201
- n=n,
202
- )
203
- response = response.to_dict()
204
- if n == 1:
205
- prediction = response['choices'][0]['message']['content'].strip()
206
- if prediction != '' and prediction is not None:
207
- return prediction
208
- else:
209
- prediction = [choice['message']['content'].strip() for choice in response['choices']]
210
- if prediction[0] != '' and prediction[0] is not None:
211
- return prediction
212
-
213
- except Exception as e:
214
- if 'Rate limit' not in str(e):
215
- print(e)
216
-
217
- if 'Please reduce the length of the messages' in str(e):
218
- print('!!Reduce promot size')
219
- # reduce input prompt and keep the tail
220
- new_size = int(len(promot) * 0.9)
221
- new_start = len(promot) - new_size
222
- promot = promot[new_start:]
223
- messages = [
224
- {'role': 'user', 'content': promot},
225
- ]
226
-
227
- if sleep_time > 0:
228
- time.sleep(sleep_time)
229
- return ''
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
eval/vlm/eval/mmbench/evaluate_mmbench.py DELETED
@@ -1,283 +0,0 @@
1
- # Copyright (c) 2023 OpenGVLab
2
- # Copyright (c) 2025 Bytedance Ltd. and/or its affiliates.
3
- # SPDX-License-Identifier: MIT
4
- #
5
- # This file has been modified by ByteDance Ltd. and/or its affiliates. on 2025-05-20.
6
- #
7
- # Original file was released under MIT, with the full license text
8
- # available at https://github.com/OpenGVLab/InternVL/blob/main/LICENSE.
9
- #
10
- # This modified file is released under the same license.
11
-
12
- import argparse
13
- import base64
14
- import itertools
15
- import json
16
- import os
17
- import random
18
- from io import BytesIO
19
-
20
- import pandas as pd
21
- import torch
22
- from eval.vlm.utils import load_model_and_tokenizer, build_transform, process_conversation
23
- from PIL import Image
24
- from tqdm import tqdm
25
-
26
- ds_collections = {
27
- 'mmbench_dev_20230712': {
28
- 'root': 'eval/vlm/data/mmbench/mmbench_dev_20230712.tsv',
29
- 'max_new_tokens': 100,
30
- 'min_new_tokens': 1,
31
- 'type': 'dev',
32
- 'language': 'en'
33
- },
34
- 'mmbench_dev_cn_20231003': {
35
- 'root': 'eval/vlm/data/mmbench/mmbench_dev_cn_20231003.tsv',
36
- 'max_new_tokens': 100,
37
- 'min_new_tokens': 1,
38
- 'type': 'dev',
39
- 'language': 'cn'
40
- },
41
- 'mmbench_dev_en_20231003': {
42
- 'root': 'eval/vlm/data/mmbench/mmbench_dev_en_20231003.tsv',
43
- 'max_new_tokens': 100,
44
- 'min_new_tokens': 1,
45
- 'type': 'dev',
46
- 'language': 'en'
47
- },
48
- 'mmbench_test_cn_20231003': {
49
- 'root': 'eval/vlm/data/mmbench/mmbench_test_cn_20231003.tsv',
50
- 'max_new_tokens': 100,
51
- 'min_new_tokens': 1,
52
- 'type': 'test',
53
- 'language': 'cn'
54
- },
55
- 'mmbench_test_en_20231003': {
56
- 'root': 'eval/vlm/data/mmbench/mmbench_test_en_20231003.tsv',
57
- 'max_new_tokens': 100,
58
- 'min_new_tokens': 1,
59
- 'type': 'test',
60
- 'language': 'en'
61
- },
62
- 'ccbench_dev_cn': {
63
- 'root': 'eval/vlm/data/mmbench/CCBench_legacy.tsv',
64
- 'max_new_tokens': 100,
65
- 'min_new_tokens': 1,
66
- 'type': 'dev',
67
- 'language': 'cn'
68
- }
69
- }
70
-
71
-
72
- def collate_fn(batches):
73
- questions = [_['question'] for _ in batches]
74
- images = [_['images'] for _ in batches]
75
- conversation = [_['conversation'] for _ in batches]
76
- answers = [_['answer'] for _ in batches]
77
- indexes = [_['index'] for _ in batches]
78
- options = [_['option'] for _ in batches]
79
- return questions, images, conversation, answers, indexes, options
80
-
81
-
82
- class MMBenchDataset(torch.utils.data.Dataset):
83
-
84
- def __init__(self, root, prompt, language):
85
- self.df = pd.read_csv(root, sep='\t')
86
- self.prompt = prompt
87
- self.language = language
88
-
89
- def __len__(self):
90
- return len(self.df)
91
-
92
- def __getitem__(self, idx):
93
- index = self.df.iloc[idx]['index']
94
- image = self.df.iloc[idx]['image']
95
- question = self.df.iloc[idx]['question']
96
- answer = self.df.iloc[idx]['answer'] if 'answer' in self.df.iloc[0].keys() else None
97
- # catetory = self.df.iloc[idx]['category']
98
- # l2_catetory = self.df.iloc[idx]['l2-category']
99
-
100
- image = Image.open(BytesIO(base64.b64decode(image))).convert('RGB')
101
- images = [image]
102
-
103
- option_candidate = ['A', 'B', 'C', 'D', 'E']
104
- options = {
105
- cand: self.load_from_df(idx, cand)
106
- for cand in option_candidate
107
- if self.load_from_df(idx, cand) is not None
108
- }
109
-
110
- hint = self.load_from_df(idx, 'hint')
111
- if hint is not None:
112
- question = hint + '\n' + question
113
- for key, item in options.items():
114
- question += f'\n{key}. {item}'
115
- if self.language == 'cn':
116
- question = question + '\n' + self.prompt['cn']
117
- else:
118
- question = question + '\n' + self.prompt['en']
119
-
120
- images, conversation = process_conversation(images, question)
121
-
122
- return {
123
- 'question': question,
124
- 'images': images,
125
- 'conversation': conversation,
126
- 'answer': answer,
127
- 'index': index,
128
- 'option': options
129
- }
130
-
131
- def load_from_df(self, idx, key):
132
- if key in self.df.iloc[idx] and not pd.isna(self.df.iloc[idx][key]):
133
- return self.df.iloc[idx][key]
134
- else:
135
- return None
136
-
137
-
138
- class InferenceSampler(torch.utils.data.sampler.Sampler):
139
-
140
- def __init__(self, size):
141
- self._size = int(size)
142
- assert size > 0
143
- self._rank = torch.distributed.get_rank()
144
- self._world_size = torch.distributed.get_world_size()
145
- self._local_indices = self._get_local_indices(size, self._world_size, self._rank)
146
-
147
- @staticmethod
148
- def _get_local_indices(total_size, world_size, rank):
149
- shard_size = total_size // world_size
150
- left = total_size % world_size
151
- shard_sizes = [shard_size + int(r < left) for r in range(world_size)]
152
-
153
- begin = sum(shard_sizes[:rank])
154
- end = min(sum(shard_sizes[:rank + 1]), total_size)
155
- return range(begin, end)
156
-
157
- def __iter__(self):
158
- yield from self._local_indices
159
-
160
- def __len__(self):
161
- return len(self._local_indices)
162
-
163
-
164
- def post_process(pred, option):
165
- pred = pred.strip()
166
- option_candidate = list(option.keys())
167
- if len(pred) == 1:
168
- return pred
169
- if len(pred) == 0:
170
- pred = "C"
171
- elif len(pred) != 1 and pred[0] in option_candidate:
172
- return pred[0]
173
- elif len(pred) != 1 and pred[0] not in option_candidate:
174
- for k, v in option.items():
175
- if v in pred:
176
- return k
177
-
178
- return pred
179
-
180
-
181
- def evaluate_chat_model():
182
- random.seed(args.seed)
183
-
184
- for ds_name in args.datasets:
185
- dataset = MMBenchDataset(
186
- root=ds_collections[ds_name]['root'],
187
- prompt=prompt,
188
- language=ds_collections[ds_name]['language'],
189
- )
190
- dataloader = torch.utils.data.DataLoader(
191
- dataset=dataset,
192
- sampler=InferenceSampler(len(dataset)),
193
- batch_size=args.batch_size,
194
- num_workers=args.num_workers,
195
- pin_memory=True,
196
- drop_last=False,
197
- collate_fn=collate_fn,
198
- )
199
-
200
- outputs = []
201
- for _, (questions, images, conversation, answers, indexes, options) in tqdm(enumerate(dataloader)):
202
- pred = model.chat(
203
- tokenizer,
204
- new_token_ids,
205
- image_transform,
206
- images=images[0], # batch=1
207
- prompt=conversation[0], # batch=1
208
- max_length=ds_collections[ds_name]['max_new_tokens'], # TODO: how to use ds_collections[ds_name]['min_new_tokens']
209
- )
210
- preds = [post_process(pred, options[0])]
211
-
212
- for question, pred, answer, index in zip(questions, preds, answers, indexes):
213
- outputs.append({
214
- 'question': question,
215
- 'answer': pred,
216
- 'gt_answers': answer,
217
- 'index': int(index)
218
- })
219
-
220
- torch.distributed.barrier()
221
-
222
- world_size = torch.distributed.get_world_size()
223
- merged_outputs = [None for _ in range(world_size)]
224
- torch.distributed.all_gather_object(merged_outputs, json.dumps(outputs))
225
-
226
- merged_outputs = [json.loads(_) for _ in merged_outputs]
227
- merged_outputs = [_ for _ in itertools.chain.from_iterable(merged_outputs)]
228
-
229
- if torch.distributed.get_rank() == 0:
230
- print(f'Evaluating {ds_name} ...')
231
- results_file = 'results.xlsx'
232
- output_path = os.path.join(args.out_dir, results_file)
233
- df = pd.read_table(ds_collections[ds_name]['root'])
234
- cur_df = df.copy()
235
- if 'mmbench' in ds_name:
236
- cur_df = cur_df.drop(columns=['hint', 'category', 'source', 'image', 'comment', 'l2-category'])
237
- cur_df.insert(6, 'prediction', None)
238
- else:
239
- cur_df = cur_df.drop(columns=['category', 'image'])
240
- cur_df.insert(8, 'prediction', None)
241
- for item in merged_outputs:
242
- cur_df.loc[df['index'] == item['index'], 'prediction'] = item['answer']
243
-
244
- cur_df.to_excel(output_path, index=False, engine='openpyxl')
245
- print('Results saved to {}'.format(output_path))
246
-
247
-
248
- if __name__ == '__main__':
249
- parser = argparse.ArgumentParser()
250
- parser.add_argument('--datasets', type=str, default='mmbench_dev_20230712')
251
- parser.add_argument('--batch-size', type=int, default=1)
252
- parser.add_argument('--num-workers', type=int, default=1)
253
- parser.add_argument('--out-dir', type=str, default='results')
254
- parser.add_argument('--seed', type=int, default=0)
255
- parser.add_argument('--model-path', type=str, default='hf/BAGEL-7B-MoT/')
256
- args = parser.parse_args()
257
-
258
- if not os.path.exists(args.out_dir):
259
- os.makedirs(args.out_dir, exist_ok=True)
260
-
261
- args.datasets = args.datasets.split(',')
262
- print('datasets:', args.datasets)
263
- assert args.batch_size == 1, 'Only batch size 1 is supported'
264
-
265
- torch.distributed.init_process_group(
266
- backend='nccl',
267
- world_size=int(os.getenv('WORLD_SIZE', '1')),
268
- rank=int(os.getenv('RANK', '0')),
269
- )
270
-
271
- torch.cuda.set_device(int(os.getenv('LOCAL_RANK', 0)))
272
-
273
- model, tokenizer, new_token_ids = load_model_and_tokenizer(args)
274
- image_transform = build_transform()
275
-
276
- total_params = sum(p.numel() for p in model.parameters()) / 1e9
277
- print(f'[test] total_params: {total_params}B')
278
-
279
- prompt = {
280
- 'en': "Answer with the option's letter from the given choices directly.",
281
- 'cn': '请直接回答选项字母。'
282
- }
283
- evaluate_chat_model()
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
eval/vlm/eval/mme/Your_Results/OCR.txt DELETED
@@ -1,40 +0,0 @@
1
- 0001.jpg Is the word in the logo "angie's"? Please answer yes or no. Yes
2
- 0001.jpg Is the word in the logo "angle's"? Please answer yes or no. No
3
- 0002.jpg Is the word in the logo "c'est cheese"? Please answer yes or no. Yes
4
- 0002.jpg Is the word in the logo "crest cheese"? Please answer yes or no. No
5
- 0003.jpg Is the word in the logo "beavertails pastry"? Please answer yes or no. Yes
6
- 0003.jpg Is the word in the logo "beavertalls pastry"? Please answer yes or no. No
7
- 0004.jpg Is the word in the logo "old market sundries"? Please answer yes or no. Yes
8
- 0004.jpg Is the word in the logo "old market hundreds"? Please answer yes or no. No
9
- 0005.jpg Is the word in the logo "kress"? Please answer yes or no. Yes
10
- 0005.jpg Is the word in the logo "dress"? Please answer yes or no. No
11
- 0006.jpg Is the word in the logo "the beatles story liver pool"? Please answer yes or no. Yes
12
- 0006.jpg Is the word in the logo "the beats story liver pool"? Please answer yes or no. No
13
- 0007.jpg Is the phone number in the picture "0131 555 6363"? Please answer yes or no. Yes
14
- 0007.jpg Is the phone number in the picture "0137 556 6363"? Please answer yes or no. No
15
- 0008.jpg Is the word in the logo "phil's market"? Please answer yes or no. Yes
16
- 0008.jpg Is the word in the logo "phll's market"? Please answer yes or no. No
17
- 0009.jpg Is the word in the logo "fenders diner"? Please answer yes or no. Yes
18
- 0009.jpg Is the word in the logo "finders diner"? Please answer yes or no. No
19
- 0010.jpg Is the word in the logo "high time coffee shop"? Please answer yes or no. Yes
20
- 0010.jpg Is the word in the logo "high tite cofeee shop"? Please answer yes or no. No
21
- 0011.jpg Is the word in the logo "ihop restaurant"? Please answer yes or no. Yes
22
- 0011.jpg Is the word in the logo "lhop restaurant"? Please answer yes or no. No
23
- 0012.jpg Is the word in the logo "casa grecque restaurants"? Please answer yes or no. Yes
24
- 0012.jpg Is the word in the logo "case grecque restaurants"? Please answer yes or no. No
25
- 0013.jpg Is the word in the picture "seabreeze motel"? Please answer yes or no. Yes
26
- 0013.jpg Is the word in the picture "seebreeze model"? Please answer yes or no. No
27
- 0014.jpg Is the word in the logo "penarth pier built 1894"? Please answer yes or no. Yes
28
- 0014.jpg Is the word in the logo "penarth pies buid 1894"? Please answer yes or no. No
29
- 0015.jpg Is the text in the picture "hollywood"? Please answer yes or no. Yes
30
- 0015.jpg Is the text in the picture "holly word"? Please answer yes or no. No
31
- 0016.jpg Is the word in the logo "shop rite"? Please answer yes or no. Yes
32
- 0016.jpg Is the word in the logo "stop rite"? Please answer yes or no. No
33
- 0017.jpg Is the word in the logo "hardco industrial construction"? Please answer yes or no. Yes
34
- 0017.jpg Is the word in the logo "hardto industal construction"? Please answer yes or no. No
35
- 0018.jpg Is the word in the logo "oldsmobile service"? Please answer yes or no. Yes
36
- 0018.jpg Is the word in the logo "old mobile service"? Please answer yes or no. No
37
- 0019.jpg Is the word in the logo "exchange hotel"? Please answer yes or no. Yes
38
- 0019.jpg Is the word in the logo "excharge hotel"? Please answer yes or no. No
39
- 0020.jpg Is the word in the logo "cold drinks"? Please answer yes or no. Yes
40
- 0020.jpg Is the word in the logo "cold rinks"? Please answer yes or no. No
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
eval/vlm/eval/mme/Your_Results/artwork.txt DELETED
@@ -1,400 +0,0 @@
1
- 10002.jpg Does this artwork exist in the form of painting? Please answer yes or no. Yes
2
- 10002.jpg Does this artwork exist in the form of glassware? Please answer yes or no. No
3
- 10049.jpg Does this artwork exist in the form of painting? Please answer yes or no. Yes
4
- 10049.jpg Does this artwork exist in the form of sculpture? Please answer yes or no. No
5
- 10256.jpg Does this artwork exist in the form of painting? Please answer yes or no. Yes
6
- 10256.jpg Does this artwork exist in the form of sculpture? Please answer yes or no. No
7
- 10358.jpg Does this artwork exist in the form of painting? Please answer yes or no. Yes
8
- 10358.jpg Does this artwork exist in the form of glassware? Please answer yes or no. No
9
- 10543.jpg Is this artwork displayed in fogg art museum, harvard university, cambridge? Please answer yes or no. Yes
10
- 10543.jpg Is this artwork displayed in museo civico, pistoia? Please answer yes or no. No
11
- 10581.jpg Does this artwork belong to the type of portrait? Please answer yes or no. Yes
12
- 10581.jpg Does this artwork belong to the type of genre? Please answer yes or no. No
13
- 1060.jpg Is this artwork created by antoniazzo romano? Please answer yes or no. Yes
14
- 1060.jpg Is this artwork created by gentile da fabriano? Please answer yes or no. No
15
- 10881.jpg Does this artwork exist in the form of painting? Please answer yes or no. Yes
16
- 10881.jpg Does this artwork exist in the form of tapestry? Please answer yes or no. No
17
- 10970.jpg Does this artwork belong to the type of religious? Please answer yes or no. Yes
18
- 10970.jpg Does this artwork belong to the type of study? Please answer yes or no. No
19
- 11276.jpg Does this artwork exist in the form of sculpture? Please answer yes or no. Yes
20
- 11276.jpg Does this artwork exist in the form of graphics? Please answer yes or no. No
21
- 11331.jpg Is this artwork created by donatello? Please answer yes or no. Yes
22
- 11331.jpg Is this artwork created by zichy, mihály? Please answer yes or no. No
23
- 11488.jpg Does this artwork belong to the type of mythological? Please answer yes or no. Yes
24
- 11488.jpg Does this artwork belong to the type of historical? Please answer yes or no. No
25
- 11724.jpg Is this artwork created by duccio di buoninsegna? Please answer yes or no. Yes
26
- 11724.jpg Is this artwork created by giani, felice? Please answer yes or no. No
27
- 11726.jpg Is this artwork titled temptation on the mountain (detail)? Please answer yes or no. Yes
28
- 11726.jpg Is this artwork titled in the forest of fontainebleau? Please answer yes or no. No
29
- 12133.jpg Is this artwork titled hand study with bible? Please answer yes or no. Yes
30
- 12133.jpg Is this artwork titled self-portrait aged 78? Please answer yes or no. No
31
- 12439.jpg Is this artwork created by dürer, albrecht? Please answer yes or no. Yes
32
- 12439.jpg Is this artwork created by koekkoek, barend cornelis? Please answer yes or no. No
33
- 12561.jpg Is this artwork created by eberlein, gustav heinrich? Please answer yes or no. Yes
34
- 12561.jpg Is this artwork created by gillemans, jan pauwel the younger? Please answer yes or no. No
35
- 12652.jpg Is this artwork displayed in stedelijk museum de lakenhal, leiden? Please answer yes or no. Yes
36
- 12652.jpg Is this artwork displayed in palazzo ducale, mantua? Please answer yes or no. No
37
- 12736.jpg Is this artwork displayed in cannon hall museum, barnsley? Please answer yes or no. Yes
38
- 12736.jpg Is this artwork displayed in protestant parish church, gelnhausen? Please answer yes or no. No
39
- 12902.jpg Is this artwork displayed in private collection? Please answer yes or no. Yes
40
- 12902.jpg Is this artwork displayed in musée national gustave-moreau, paris? Please answer yes or no. No
41
- 12908.jpg Is this artwork titled ruth and boaz? Please answer yes or no. Yes
42
- 12908.jpg Is this artwork titled view of dresden from the right bank of the elbe with the augustus bridge? Please answer yes or no. No
43
- 13091.jpg Is this artwork titled italianate landscape with figures by classical ruins? Please answer yes or no. Yes
44
- 13091.jpg Is this artwork titled two boys singing? Please answer yes or no. No
45
- 13174.jpg Is this artwork titled nobility? Please answer yes or no. Yes
46
- 13174.jpg Is this artwork titled aretino in the studio of tintoretto? Please answer yes or no. No
47
- 13239.jpg Is this artwork titled doge ziani receiving the benediction of pope alexander iii? Please answer yes or no. Yes
48
- 13239.jpg Is this artwork titled the adoration of the shepherds? Please answer yes or no. No
49
- 13288.jpg Does this artwork exist in the form of architecture? Please answer yes or no. Yes
50
- 13288.jpg Does this artwork exist in the form of metalwork? Please answer yes or no. No
51
- 13696.jpg Is this artwork displayed in pinacoteca nazionale, siena? Please answer yes or no. Yes
52
- 13696.jpg Is this artwork displayed in british embassy, paris? Please answer yes or no. No
53
- 13760.jpg Is this artwork titled noli me tangere? Please answer yes or no. Yes
54
- 13760.jpg Is this artwork titled profile study of a bearded man? Please answer yes or no. No
55
- 13821.jpg Is this artwork created by frangipane, niccolò? Please answer yes or no. Yes
56
- 13821.jpg Is this artwork created by drevet, pierre? Please answer yes or no. No
57
- 13901.jpg Does this artwork exist in the form of painting? Please answer yes or no. Yes
58
- 13901.jpg Does this artwork exist in the form of metalwork? Please answer yes or no. No
59
- 14283.jpg Does this artwork exist in the form of painting? Please answer yes or no. Yes
60
- 14283.jpg Does this artwork exist in the form of mosaic? Please answer yes or no. No
61
- 14499.jpg Does this artwork belong to the type of religious? Please answer yes or no. Yes
62
- 14499.jpg Does this artwork belong to the type of mythological? Please answer yes or no. No
63
- 14777.jpg Does this artwork belong to the type of religious? Please answer yes or no. Yes
64
- 14777.jpg Does this artwork belong to the type of historical? Please answer yes or no. No
65
- 15028.jpg Does this artwork belong to the type of portrait? Please answer yes or no. Yes
66
- 15028.jpg Does this artwork belong to the type of study? Please answer yes or no. No
67
- 15232.jpg Is this artwork created by giordano, luca? Please answer yes or no. Yes
68
- 15232.jpg Is this artwork created by heyerdahl, hans olaf? Please answer yes or no. No
69
- 15246.jpg Is this artwork displayed in palazzo medici riccardi, florence? Please answer yes or no. Yes
70
- 15246.jpg Is this artwork displayed in abbey church of sainte-foy, conques (aveyron)? Please answer yes or no. No
71
- 15311.jpg Is this artwork created by giorgione? Please answer yes or no. Yes
72
- 15311.jpg Is this artwork created by marilhat, prosper? Please answer yes or no. No
73
- 15989.jpg Is this artwork displayed in pinacoteca, vatican? Please answer yes or no. Yes
74
- 15989.jpg Is this artwork displayed in cathedral museum, zamora? Please answer yes or no. No
75
- 16006.jpg Is this artwork displayed in private collection? Please answer yes or no. Yes
76
- 16006.jpg Is this artwork displayed in cathedral of san geminiano, modena? Please answer yes or no. No
77
- 16249.jpg Does this artwork belong to the type of landscape? Please answer yes or no. Yes
78
- 16249.jpg Does this artwork belong to the type of religious? Please answer yes or no. No
79
- 16538.jpg Is this artwork created by gogh, vincent van? Please answer yes or no. Yes
80
- 16538.jpg Is this artwork created by altdorfer, albrecht? Please answer yes or no. No
81
- 16835.jpg Does this artwork exist in the form of painting? Please answer yes or no. Yes
82
- 16835.jpg Does this artwork exist in the form of illumination? Please answer yes or no. No
83
- 16911.jpg Is this artwork created by gossart, jan? Please answer yes or no. Yes
84
- 16911.jpg Is this artwork created by stanzione, massimo? Please answer yes or no. No
85
- 17311.jpg Does this artwork belong to the type of religious? Please answer yes or no. Yes
86
- 17311.jpg Does this artwork belong to the type of interior? Please answer yes or no. No
87
- 17317.jpg Is this artwork created by gozzoli, benozzo? Please answer yes or no. Yes
88
- 17317.jpg Is this artwork created by coriolano, cristoforo? Please answer yes or no. No
89
- 17535.jpg Is this artwork created by grebber, pieter de? Please answer yes or no. Yes
90
- 17535.jpg Is this artwork created by massys, quentin? Please answer yes or no. No
91
- 17823.jpg Is this artwork created by greuze, jean-baptiste? Please answer yes or no. Yes
92
- 17823.jpg Is this artwork created by landseer, sir edwin henry? Please answer yes or no. No
93
- 17838.jpg Does this artwork exist in the form of painting? Please answer yes or no. Yes
94
- 17838.jpg Does this artwork exist in the form of furniture? Please answer yes or no. No
95
- 17998.jpg Does this artwork belong to the type of religious? Please answer yes or no. Yes
96
- 17998.jpg Does this artwork belong to the type of genre? Please answer yes or no. No
97
- 18566.jpg Is this artwork created by hamen, juan van der? Please answer yes or no. Yes
98
- 18566.jpg Is this artwork created by starnina, gherardo di jacopo? Please answer yes or no. No
99
- 18604.jpg Is this artwork created by hardouin-mansart, jules? Please answer yes or no. Yes
100
- 18604.jpg Is this artwork created by kerseboom, friedrich? Please answer yes or no. No
101
- 18722.jpg Does this artwork exist in the form of painting? Please answer yes or no. Yes
102
- 18722.jpg Does this artwork exist in the form of sculpture? Please answer yes or no. No
103
- 1873.jpg Does this artwork exist in the form of architecture? Please answer yes or no. Yes
104
- 1873.jpg Does this artwork exist in the form of painting? Please answer yes or no. No
105
- 18902.jpg Is this artwork created by herrera, francisco de, the elder? Please answer yes or no. Yes
106
- 18902.jpg Is this artwork created by ingres, jean-auguste-dominique? Please answer yes or no. No
107
- 18926.jpg Is this artwork created by herring, john frederick the younger? Please answer yes or no. Yes
108
- 18926.jpg Is this artwork created by cozens, john robert? Please answer yes or no. No
109
- 19087.jpg Does this artwork exist in the form of painting? Please answer yes or no. Yes
110
- 19087.jpg Does this artwork exist in the form of metalwork? Please answer yes or no. No
111
- 19154.jpg Is this artwork titled portrait of the merchant georg gisze (detail)? Please answer yes or no. Yes
112
- 19154.jpg Is this artwork titled pair of table candlesticks? Please answer yes or no. No
113
- 19417.jpg Does this artwork exist in the form of painting? Please answer yes or no. Yes
114
- 19417.jpg Does this artwork exist in the form of mosaic? Please answer yes or no. No
115
- 19452.jpg Is this artwork titled the artist and his model? Please answer yes or no. Yes
116
- 19452.jpg Is this artwork titled the lovesick maiden (detail)? Please answer yes or no. No
117
- 19839.jpg Is this artwork created by janneck, franz christoph? Please answer yes or no. Yes
118
- 19839.jpg Is this artwork created by goupil, jules-adolphe? Please answer yes or no. No
119
- 19863.jpg Does this artwork belong to the type of religious? Please answer yes or no. Yes
120
- 19863.jpg Does this artwork belong to the type of mythological? Please answer yes or no. No
121
- 19993.jpg Is this artwork displayed in private collection? Please answer yes or no. Yes
122
- 19993.jpg Is this artwork displayed in cathedral of st paul, liège? Please answer yes or no. No
123
- 20176.jpg Does this artwork exist in the form of painting? Please answer yes or no. Yes
124
- 20176.jpg Does this artwork exist in the form of furniture? Please answer yes or no. No
125
- 20437.jpg Does this artwork exist in the form of painting? Please answer yes or no. Yes
126
- 20437.jpg Does this artwork exist in the form of tapestry? Please answer yes or no. No
127
- 20442.jpg Is this artwork created by kucharski, aleksander? Please answer yes or no. Yes
128
- 20442.jpg Is this artwork created by pourbus, frans the elder? Please answer yes or no. No
129
- 20455.jpg Does this artwork exist in the form of painting? Please answer yes or no. Yes
130
- 20455.jpg Does this artwork exist in the form of metalwork? Please answer yes or no. No
131
- 20483.jpg Is this artwork titled allegory of the regency? Please answer yes or no. Yes
132
- 20483.jpg Is this artwork titled breton woman bathing? Please answer yes or no. No
133
- 20490.jpg Does this artwork exist in the form of painting? Please answer yes or no. Yes
134
- 20490.jpg Does this artwork exist in the form of illumination? Please answer yes or no. No
135
- 20551.jpg Is this artwork created by lagrenée, jean-jacques? Please answer yes or no. Yes
136
- 20551.jpg Is this artwork created by scultori, diana? Please answer yes or no. No
137
- 20651.jpg Is this artwork titled a highland landscape? Please answer yes or no. Yes
138
- 20651.jpg Is this artwork titled a dog and a cat fighting in a kitchen interior? Please answer yes or no. No
139
- 20724.jpg Does this artwork belong to the type of portrait? Please answer yes or no. Yes
140
- 20724.jpg Does this artwork belong to the type of landscape? Please answer yes or no. No
141
- 21048.jpg Is this artwork created by lemoyne, jean-baptiste ii? Please answer yes or no. Yes
142
- 21048.jpg Is this artwork created by kneller, sir godfrey? Please answer yes or no. No
143
- 21097.jpg Does this artwork belong to the type of religious? Please answer yes or no. Yes
144
- 21097.jpg Does this artwork belong to the type of genre? Please answer yes or no. No
145
- 21244.jpg Does this artwork belong to the type of study? Please answer yes or no. Yes
146
- 21244.jpg Does this artwork belong to the type of portrait? Please answer yes or no. No
147
- 21469.jpg Does this artwork belong to the type of genre? Please answer yes or no. Yes
148
- 21469.jpg Does this artwork belong to the type of still-life? Please answer yes or no. No
149
- 21580.jpg Is this artwork created by linard, jacques? Please answer yes or no. Yes
150
- 21580.jpg Is this artwork created by bonino da campione? Please answer yes or no. No
151
- 21712.jpg Is this artwork titled st john the evangelist resuscitating drusiana? Please answer yes or no. Yes
152
- 21712.jpg Is this artwork titled la finette? Please answer yes or no. No
153
- 22329.jpg Is this artwork titled marriage of the virgin? Please answer yes or no. Yes
154
- 22329.jpg Is this artwork titled landscape with river and figures (detail)? Please answer yes or no. No
155
- 22366.jpg Does this artwork exist in the form of painting? Please answer yes or no. Yes
156
- 22366.jpg Does this artwork exist in the form of glassware? Please answer yes or no. No
157
- 22667.jpg Is this artwork displayed in private collection? Please answer yes or no. Yes
158
- 22667.jpg Is this artwork displayed in san francesco d'assisi, pavia? Please answer yes or no. No
159
- 22760.jpg Is this artwork titled madonna and child (detail)? Please answer yes or no. Yes
160
- 22760.jpg Is this artwork titled view of the south and east walls? Please answer yes or no. No
161
- 22842.jpg Is this artwork titled ukrainian peasant girl? Please answer yes or no. Yes
162
- 22842.jpg Is this artwork titled virtue crowning merit? Please answer yes or no. No
163
- 23229.jpg Is this artwork displayed in national gallery, london? Please answer yes or no. Yes
164
- 23229.jpg Is this artwork displayed in notre-dame-la-riche, tours? Please answer yes or no. No
165
- 23427.jpg Is this artwork displayed in the hermitage, st. petersburg? Please answer yes or no. Yes
166
- 23427.jpg Is this artwork displayed in national gallery of victoria, melbourne? Please answer yes or no. No
167
- 23465.jpg Is this artwork displayed in private collection? Please answer yes or no. Yes
168
- 23465.jpg Is this artwork displayed in cistertian church, zirc? Please answer yes or no. No
169
- 23824.jpg Is this artwork titled christ walking on the water? Please answer yes or no. Yes
170
- 23824.jpg Is this artwork titled mademoiselle romaine lacaux? Please answer yes or no. No
171
- 24122.jpg Is this artwork displayed in museo correr, venice? Please answer yes or no. Yes
172
- 24122.jpg Is this artwork displayed in church of brou, bourg-en-bresse? Please answer yes or no. No
173
- 24260.jpg Does this artwork exist in the form of painting? Please answer yes or no. Yes
174
- 24260.jpg Does this artwork exist in the form of illumination? Please answer yes or no. No
175
- 24291.jpg Is this artwork titled virgin and child with sts catherine, cecilia, barbara, and ursula? Please answer yes or no. Yes
176
- 24291.jpg Is this artwork titled sorrow? Please answer yes or no. No
177
- 24723.jpg Is this artwork titled tomb of henry the lion and his wife matilda? Please answer yes or no. Yes
178
- 24723.jpg Is this artwork titled god the father? Please answer yes or no. No
179
- 2490.jpg Does this artwork belong to the type of landscape? Please answer yes or no. Yes
180
- 2490.jpg Does this artwork belong to the type of mythological? Please answer yes or no. No
181
- 2507.jpg Is this artwork displayed in private collection? Please answer yes or no. Yes
182
- 2507.jpg Is this artwork displayed in st. vitus's cathedral, prague? Please answer yes or no. No
183
- 25312.jpg Does this artwork exist in the form of painting? Please answer yes or no. Yes
184
- 25312.jpg Does this artwork exist in the form of metalwork? Please answer yes or no. No
185
- 25476.jpg Is this artwork created by michelangelo buonarroti? Please answer yes or no. Yes
186
- 25476.jpg Is this artwork created by beuckelaer, joachim? Please answer yes or no. No
187
- 25492.jpg Does this artwork exist in the form of sculpture? Please answer yes or no. Yes
188
- 25492.jpg Does this artwork exist in the form of illumination? Please answer yes or no. No
189
- 25513.jpg Does this artwork belong to the type of religious? Please answer yes or no. Yes
190
- 25513.jpg Does this artwork belong to the type of landscape? Please answer yes or no. No
191
- 26521.jpg Does this artwork exist in the form of illumination? Please answer yes or no. Yes
192
- 26521.jpg Does this artwork exist in the form of furniture? Please answer yes or no. No
193
- 26973.jpg Does this artwork belong to the type of religious? Please answer yes or no. Yes
194
- 26973.jpg Does this artwork belong to the type of mythological? Please answer yes or no. No
195
- 27021.jpg Is this artwork created by miniaturist, german? Please answer yes or no. Yes
196
- 27021.jpg Is this artwork created by trinquesse, louis-rolland? Please answer yes or no. No
197
- 27662.jpg Does this artwork belong to the type of still-life? Please answer yes or no. Yes
198
- 27662.jpg Does this artwork belong to the type of mythological? Please answer yes or no. No
199
- 27936.jpg Does this artwork belong to the type of portrait? Please answer yes or no. Yes
200
- 27936.jpg Does this artwork belong to the type of interior? Please answer yes or no. No
201
- 28039.jpg Is this artwork displayed in cappella palatina, palermo? Please answer yes or no. Yes
202
- 28039.jpg Is this artwork displayed in musée des beaux-arts, chambéry? Please answer yes or no. No
203
- 28345.jpg Does this artwork exist in the form of painting? Please answer yes or no. Yes
204
- 28345.jpg Does this artwork exist in the form of tapestry? Please answer yes or no. No
205
- 28400.jpg Does this artwork belong to the type of religious? Please answer yes or no. Yes
206
- 28400.jpg Does this artwork belong to the type of portrait? Please answer yes or no. No
207
- 28698.jpg Does this artwork belong to the type of religious? Please answer yes or no. Yes
208
- 28698.jpg Does this artwork belong to the type of still-life? Please answer yes or no. No
209
- 28758.jpg Does this artwork exist in the form of painting? Please answer yes or no. Yes
210
- 28758.jpg Does this artwork exist in the form of graphics? Please answer yes or no. No
211
- 28974.jpg Is this artwork titled prayer before the meal? Please answer yes or no. Yes
212
- 28974.jpg Is this artwork titled rest in the mountains? Please answer yes or no. No
213
- 29266.jpg Is this artwork created by palma vecchio? Please answer yes or no. Yes
214
- 29266.jpg Is this artwork created by maris, jacobus hendricus? Please answer yes or no. No
215
- 30443.jpg Is this artwork titled the crucifixion with sts jerome and christopher? Please answer yes or no. Yes
216
- 30443.jpg Is this artwork titled tomb of michelangelo (detail)? Please answer yes or no. No
217
- 3085.jpg Is this artwork created by bartsius, willem? Please answer yes or no. Yes
218
- 3085.jpg Is this artwork created by oehme, ernst ferdinand? Please answer yes or no. No
219
- 30875.jpg Is this artwork created by pomarancio? Please answer yes or no. Yes
220
- 30875.jpg Is this artwork created by steen, jan? Please answer yes or no. No
221
- 3114.jpg Does this artwork belong to the type of religious? Please answer yes or no. Yes
222
- 3114.jpg Does this artwork belong to the type of study? Please answer yes or no. No
223
- 31808.jpg Is this artwork created by raffaello sanzio? Please answer yes or no. Yes
224
- 31808.jpg Is this artwork created by simon von taisten? Please answer yes or no. No
225
- 32147.jpg Is this artwork titled lucretia? Please answer yes or no. Yes
226
- 32147.jpg Is this artwork titled rinaldo abandoning armida (detail)? Please answer yes or no. No
227
- 3241.jpg Is this artwork titled holy family? Please answer yes or no. Yes
228
- 3241.jpg Is this artwork titled friedrich iii, the wise, and johann i, the constant, electors of saxony? Please answer yes or no. No
229
- 33017.jpg Does this artwork exist in the form of painting? Please answer yes or no. Yes
230
- 33017.jpg Does this artwork exist in the form of glassware? Please answer yes or no. No
231
- 33069.jpg Does this artwork belong to the type of historical? Please answer yes or no. Yes
232
- 33069.jpg Does this artwork belong to the type of interior? Please answer yes or no. No
233
- 33173.jpg Does this artwork exist in the form of painting? Please answer yes or no. Yes
234
- 33173.jpg Does this artwork exist in the form of graphics? Please answer yes or no. No
235
- 33753.jpg Is this artwork titled vanitas? Please answer yes or no. Yes
236
- 33753.jpg Is this artwork titled legend of st francis: 18. apparition at arles (detail)? Please answer yes or no. No
237
- 33854.jpg Does this artwork belong to the type of religious? Please answer yes or no. Yes
238
- 33854.jpg Does this artwork belong to the type of study? Please answer yes or no. No
239
- 339.jpg Is this artwork displayed in staatliche museen, berlin? Please answer yes or no. Yes
240
- 339.jpg Is this artwork displayed in national museum of religious carvings, valladolid? Please answer yes or no. No
241
- 33933.jpg Is this artwork titled madonna and child? Please answer yes or no. Yes
242
- 33933.jpg Is this artwork titled the bacino di san marco? Please answer yes or no. No
243
- 3404.jpg Is this artwork displayed in szépmûvészeti múzeum, budapest? Please answer yes or no. Yes
244
- 3404.jpg Is this artwork displayed in s. eustorgio, milan? Please answer yes or no. No
245
- 34109.jpg Is this artwork displayed in national gallery of art, washington? Please answer yes or no. Yes
246
- 34109.jpg Is this artwork displayed in abbey church of sainte-foy, conques? Please answer yes or no. No
247
- 34363.jpg Is this artwork displayed in museo del prado, madrid? Please answer yes or no. Yes
248
- 34363.jpg Is this artwork displayed in state tretyakov gallery, moscow? Please answer yes or no. No
249
- 34539.jpg Is this artwork titled the victory of eucharistic truth over heresy? Please answer yes or no. Yes
250
- 34539.jpg Is this artwork titled a sunday afternoon on the ile de la grande jatte? Please answer yes or no. No
251
- 34627.jpg Does this artwork belong to the type of landscape? Please answer yes or no. Yes
252
- 34627.jpg Does this artwork belong to the type of genre? Please answer yes or no. No
253
- 34638.jpg Does this artwork exist in the form of painting? Please answer yes or no. Yes
254
- 34638.jpg Does this artwork exist in the form of tapestry? Please answer yes or no. No
255
- 34669.jpg Does this artwork belong to the type of mythological? Please answer yes or no. Yes
256
- 34669.jpg Does this artwork belong to the type of historical? Please answer yes or no. No
257
- 35345.jpg Does this artwork belong to the type of religious? Please answer yes or no. Yes
258
- 35345.jpg Does this artwork belong to the type of landscape? Please answer yes or no. No
259
- 35439.jpg Is this artwork titled madonna and child with a host of musical angels? Please answer yes or no. Yes
260
- 35439.jpg Is this artwork titled garden in fontenay? Please answer yes or no. No
261
- 35460.jpg Is this artwork created by schinkel, karl friedrich? Please answer yes or no. Yes
262
- 35460.jpg Is this artwork created by giolfino, bartolomeo? Please answer yes or no. No
263
- 35486.jpg Does this artwork exist in the form of painting? Please answer yes or no. Yes
264
- 35486.jpg Does this artwork exist in the form of furniture? Please answer yes or no. No
265
- 35513.jpg Is this artwork created by schongauer, martin? Please answer yes or no. Yes
266
- 35513.jpg Is this artwork created by cassioli, amos? Please answer yes or no. No
267
- 3552.jpg Is this artwork titled madonna degli alberetti? Please answer yes or no. Yes
268
- 3552.jpg Is this artwork titled peter gillis? Please answer yes or no. No
269
- 35658.jpg Is this artwork created by sebastiano del piombo? Please answer yes or no. Yes
270
- 35658.jpg Is this artwork created by jacobsz., dirck? Please answer yes or no. No
271
- 35736.jpg Does this artwork belong to the type of religious? Please answer yes or no. Yes
272
- 35736.jpg Does this artwork belong to the type of still-life? Please answer yes or no. No
273
- 35861.jpg Does this artwork belong to the type of interior? Please answer yes or no. Yes
274
- 35861.jpg Does this artwork belong to the type of still-life? Please answer yes or no. No
275
- 36805.jpg Is this artwork titled weir? Please answer yes or no. Yes
276
- 36805.jpg Is this artwork titled view of the window wall? Please answer yes or no. No
277
- 36966.jpg Does this artwork belong to the type of portrait? Please answer yes or no. Yes
278
- 36966.jpg Does this artwork belong to the type of religious? Please answer yes or no. No
279
- 37010.jpg Is this artwork titled madonna and child with the young st john? Please answer yes or no. Yes
280
- 37010.jpg Is this artwork titled sketch for attila? Please answer yes or no. No
281
- 37077.jpg Does this artwork belong to the type of religious? Please answer yes or no. Yes
282
- 37077.jpg Does this artwork belong to the type of still-life? Please answer yes or no. No
283
- 37439.jpg Is this artwork titled the message? Please answer yes or no. Yes
284
- 37439.jpg Is this artwork titled the descent from the cross? Please answer yes or no. No
285
- 37819.jpg Is this artwork created by tiepolo, giovanni battista? Please answer yes or no. Yes
286
- 37819.jpg Is this artwork created by kerricx, willem ignatius? Please answer yes or no. No
287
- 37866.jpg Does this artwork belong to the type of mythological? Please answer yes or no. Yes
288
- 37866.jpg Does this artwork belong to the type of still-life? Please answer yes or no. No
289
- 381.jpg Does this artwork exist in the form of painting? Please answer yes or no. Yes
290
- 381.jpg Does this artwork exist in the form of architecture? Please answer yes or no. No
291
- 38178.jpg Is this artwork created by tintoretto? Please answer yes or no. Yes
292
- 38178.jpg Is this artwork created by morel, jean-baptiste? Please answer yes or no. No
293
- 38536.jpg Does this artwork exist in the form of painting? Please answer yes or no. Yes
294
- 38536.jpg Does this artwork exist in the form of furniture? Please answer yes or no. No
295
- 38546.jpg Does this artwork exist in the form of painting? Please answer yes or no. Yes
296
- 38546.jpg Does this artwork exist in the form of metalwork? Please answer yes or no. No
297
- 38694.jpg Does this artwork exist in the form of painting? Please answer yes or no. Yes
298
- 38694.jpg Does this artwork exist in the form of metalwork? Please answer yes or no. No
299
- 38740.jpg Is this artwork displayed in musée toulouse-lautrec, albi? Please answer yes or no. Yes
300
- 38740.jpg Is this artwork displayed in kupferstichkabinett, gotha? Please answer yes or no. No
301
- 38881.jpg Does this artwork belong to the type of genre? Please answer yes or no. Yes
302
- 38881.jpg Does this artwork belong to the type of religious? Please answer yes or no. No
303
- 38993.jpg Does this artwork exist in the form of painting? Please answer yes or no. Yes
304
- 38993.jpg Does this artwork exist in the form of illumination? Please answer yes or no. No
305
- 39026.jpg Does this artwork belong to the type of religious? Please answer yes or no. Yes
306
- 39026.jpg Does this artwork belong to the type of historical? Please answer yes or no. No
307
- 39124.jpg Does this artwork exist in the form of painting? Please answer yes or no. Yes
308
- 39124.jpg Does this artwork exist in the form of graphics? Please answer yes or no. No
309
- 39188.jpg Does this artwork exist in the form of painting? Please answer yes or no. Yes
310
- 39188.jpg Does this artwork exist in the form of architecture? Please answer yes or no. No
311
- 39482.jpg Does this artwork exist in the form of painting? Please answer yes or no. Yes
312
- 39482.jpg Does this artwork exist in the form of metalwork? Please answer yes or no. No
313
- 39556.jpg Is this artwork created by unknown master, dutch? Please answer yes or no. Yes
314
- 39556.jpg Is this artwork created by cuyp, benjamin gerritsz.? Please answer yes or no. No
315
- 41036.jpg Is this artwork displayed in kunsthistorisches museum, vienna? Please answer yes or no. Yes
316
- 41036.jpg Is this artwork displayed in national museum of art, minsk? Please answer yes or no. No
317
- 41371.jpg Does this artwork exist in the form of painting? Please answer yes or no. Yes
318
- 41371.jpg Does this artwork exist in the form of architecture? Please answer yes or no. No
319
- 41484.jpg Does this artwork belong to the type of religious? Please answer yes or no. Yes
320
- 41484.jpg Does this artwork belong to the type of historical? Please answer yes or no. No
321
- 41594.jpg Is this artwork created by veronese, paolo? Please answer yes or no. Yes
322
- 41594.jpg Is this artwork created by jeaurat, etienne? Please answer yes or no. No
323
- 416.jpg Does this artwork exist in the form of sculpture? Please answer yes or no. Yes
324
- 416.jpg Does this artwork exist in the form of others? Please answer yes or no. No
325
- 41653.jpg Is this artwork titled view of the sala del collegio? Please answer yes or no. Yes
326
- 41653.jpg Is this artwork titled reine lefebvre and margot? Please answer yes or no. No
327
- 41944.jpg Does this artwork exist in the form of painting? Please answer yes or no. Yes
328
- 41944.jpg Does this artwork exist in the form of mosaic? Please answer yes or no. No
329
- 42152.jpg Is this artwork titled the pieterskerk in leiden? Please answer yes or no. Yes
330
- 42152.jpg Is this artwork titled portrait of cardinal reginald pole? Please answer yes or no. No
331
- 42288.jpg Does this artwork exist in the form of painting? Please answer yes or no. Yes
332
- 42288.jpg Does this artwork exist in the form of stained-glass? Please answer yes or no. No
333
- 42303.jpg Is this artwork displayed in art museum, cincinnati? Please answer yes or no. Yes
334
- 42303.jpg Is this artwork displayed in banca del monte di bologna e ravenna, bologna? Please answer yes or no. No
335
- 42401.jpg Is this artwork created by waldmüller, fedinand georg? Please answer yes or no. Yes
336
- 42401.jpg Is this artwork created by seeman, enoch? Please answer yes or no. No
337
- 42447.jpg Is this artwork displayed in musée du louvre, paris? Please answer yes or no. Yes
338
- 42447.jpg Is this artwork displayed in santa catarina, pisa? Please answer yes or no. No
339
- 42585.jpg Is this artwork created by werff, pieter van der? Please answer yes or no. Yes
340
- 42585.jpg Is this artwork created by domenichini, apollonio? Please answer yes or no. No
341
- 42706.jpg Is this artwork displayed in musée du louvre, paris? Please answer yes or no. Yes
342
- 42706.jpg Is this artwork displayed in galleria nazionale d'arte moderna e contemporanea, rome? Please answer yes or no. No
343
- 42796.jpg Is this artwork displayed in private collection? Please answer yes or no. Yes
344
- 42796.jpg Is this artwork displayed in museo di san salvi, florence? Please answer yes or no. No
345
- 42857.jpg Does this artwork belong to the type of landscape? Please answer yes or no. Yes
346
- 42857.jpg Does this artwork belong to the type of study? Please answer yes or no. No
347
- 42905.jpg Is this artwork created by wit, jacob de? Please answer yes or no. Yes
348
- 42905.jpg Is this artwork created by vittone, bernardo antonio? Please answer yes or no. No
349
- 42941.jpg Is this artwork created by witte, emanuel de? Please answer yes or no. Yes
350
- 42941.jpg Is this artwork created by bicci di neri? Please answer yes or no. No
351
- 42956.jpg Is this artwork titled view of rome with the tiberand castel sant'angelo? Please answer yes or no. Yes
352
- 42956.jpg Is this artwork titled st bonaventure enters the franciscan order? Please answer yes or no. No
353
- 42987.jpg Is this artwork created by witz, konrad? Please answer yes or no. Yes
354
- 42987.jpg Is this artwork created by christus, petrus? Please answer yes or no. No
355
- 43142.jpg Does this artwork belong to the type of mythological? Please answer yes or no. Yes
356
- 43142.jpg Does this artwork belong to the type of interior? Please answer yes or no. No
357
- 43175.jpg Is this artwork displayed in private collection? Please answer yes or no. Yes
358
- 43175.jpg Is this artwork displayed in smith college museum of art, northampton? Please answer yes or no. No
359
- 43349.jpg Is this artwork created by zuccarelli, francesco? Please answer yes or no. Yes
360
- 43349.jpg Is this artwork created by baccanelli, giovanni antonio di giulio? Please answer yes or no. No
361
- 43445.jpg Does this artwork belong to the type of religious? Please answer yes or no. Yes
362
- 43445.jpg Does this artwork belong to the type of interior? Please answer yes or no. No
363
- 4836.jpg Is this artwork displayed in villa cornaro, piombino dese? Please answer yes or no. Yes
364
- 4836.jpg Is this artwork displayed in palais saint-vaast, arras? Please answer yes or no. No
365
- 5227.jpg Is this artwork created by botticelli, sandro? Please answer yes or no. Yes
366
- 5227.jpg Is this artwork created by vigri, caterina? Please answer yes or no. No
367
- 526.jpg Does this artwork exist in the form of painting? Please answer yes or no. Yes
368
- 526.jpg Does this artwork exist in the form of tapestry? Please answer yes or no. No
369
- 5906.jpg Is this artwork created by bronzino, agnolo? Please answer yes or no. Yes
370
- 5906.jpg Is this artwork created by pellegrino da san daniele? Please answer yes or no. No
371
- 6168.jpg Does this artwork exist in the form of graphics? Please answer yes or no. Yes
372
- 6168.jpg Does this artwork exist in the form of tapestry? Please answer yes or no. No
373
- 6297.jpg Is this artwork titled peasants making merry outside a tavern 'the swan'? Please answer yes or no. Yes
374
- 6297.jpg Is this artwork titled allegory of quietude? Please answer yes or no. No
375
- 6478.jpg Does this artwork belong to the type of religious? Please answer yes or no. Yes
376
- 6478.jpg Does this artwork belong to the type of genre? Please answer yes or no. No
377
- 6969.jpg Is this artwork titled letizia ramolino bonaparte? Please answer yes or no. Yes
378
- 6969.jpg Is this artwork titled job and his daughters? Please answer yes or no. No
379
- 701.jpg Does this artwork exist in the form of painting? Please answer yes or no. Yes
380
- 701.jpg Does this artwork exist in the form of others? Please answer yes or no. No
381
- 7702.jpg Is this artwork titled reine lefebvre and margot? Please answer yes or no. Yes
382
- 7702.jpg Is this artwork titled fire in the oil depot at san marcuola? Please answer yes or no. No
383
- 8101.jpg Is this artwork displayed in museu de arte, são paulo? Please answer yes or no. Yes
384
- 8101.jpg Is this artwork displayed in national széchényi library, budapest? Please answer yes or no. No
385
- 815.jpg Does this artwork exist in the form of painting? Please answer yes or no. Yes
386
- 815.jpg Does this artwork exist in the form of furniture? Please answer yes or no. No
387
- 8797.jpg Is this artwork created by coecke van aelst, pieter? Please answer yes or no. Yes
388
- 8797.jpg Is this artwork created by abaquesne, masséot? Please answer yes or no. No
389
- 8885.jpg Is this artwork displayed in art museum, saint louis? Please answer yes or no. Yes
390
- 8885.jpg Is this artwork displayed in museo civico d'arte antica, turin? Please answer yes or no. No
391
- 9153.jpg Is this artwork displayed in galleria nazionale, parma? Please answer yes or no. Yes
392
- 9153.jpg Is this artwork displayed in hospital de san bernardo, seville? Please answer yes or no. No
393
- 9395.jpg Does this artwork exist in the form of painting? Please answer yes or no. Yes
394
- 9395.jpg Does this artwork exist in the form of stained-glass? Please answer yes or no. No
395
- 9405.jpg Is this artwork created by courbet, gustave? Please answer yes or no. Yes
396
- 9405.jpg Is this artwork created by milani, aureliano? Please answer yes or no. No
397
- 9599.jpg Does this artwork exist in the form of painting? Please answer yes or no. Yes
398
- 9599.jpg Does this artwork exist in the form of ceramics? Please answer yes or no. No
399
- 995.jpg Does this artwork exist in the form of sculpture? Please answer yes or no. Yes
400
- 995.jpg Does this artwork exist in the form of painting? Please answer yes or no. No
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
eval/vlm/eval/mme/Your_Results/celebrity.txt DELETED
@@ -1,340 +0,0 @@
1
- tt0032138_shot_0395_img_0.jpg Is the actor inside the red bounding box named Frank Morgan? Please answer yes or no. Yes
2
- tt0032138_shot_0395_img_0.jpg Is the actor inside the red bounding box named Eric Schniewind? Please answer yes or no. No
3
- tt0035423_shot_0464_img_0.jpg Is the actor inside the red bounding box called Hugh Jackman? Please answer yes or no. Yes
4
- tt0035423_shot_0464_img_0.jpg Is the actor inside the red bounding box called Lizzie Hopley? Please answer yes or no. No
5
- tt0038650_shot_0737_img_1.jpg Is the person inside the red bounding box called James Stewart? Please answer yes or no. Yes
6
- tt0038650_shot_0737_img_1.jpg Is the person inside the red bounding box called Phil Selway? Please answer yes or no. No
7
- tt0047396_shot_0333_img_0.jpg Is the actor inside the red bounding box named James Stewart? Please answer yes or no. Yes
8
- tt0047396_shot_0333_img_0.jpg Is the actor inside the red bounding box named Ron Blair? Please answer yes or no. No
9
- tt0048545_shot_0124_img_0.jpg Is the actor inside the red bounding box called Natalie Wood? Please answer yes or no. Yes
10
- tt0048545_shot_0124_img_0.jpg Is the actor inside the red bounding box called Rebecca Jackson Mendoza? Please answer yes or no. No
11
- tt0049470_shot_0279_img_0.jpg Is the person inside the red bounding box called James Stewart? Please answer yes or no. Yes
12
- tt0049470_shot_0279_img_0.jpg Is the person inside the red bounding box called Matt Pashkow? Please answer yes or no. No
13
- tt0049730_shot_0273_img_0.jpg Is the person inside the red bounding box called Vera Miles? Please answer yes or no. Yes
14
- tt0049730_shot_0273_img_0.jpg Is the person inside the red bounding box called Addie Yungmee? Please answer yes or no. No
15
- tt0052357_shot_0511_img_0.jpg Is the actor inside the red bounding box called Kim Novak? Please answer yes or no. Yes
16
- tt0052357_shot_0511_img_0.jpg Is the actor inside the red bounding box called Abigail Van Alyn? Please answer yes or no. No
17
- tt0053221_shot_0197_img_0.jpg Is the actor inside the red bounding box named John Wayne? Please answer yes or no. Yes
18
- tt0053221_shot_0197_img_0.jpg Is the actor inside the red bounding box named Claude-Oliver Rudolph? Please answer yes or no. No
19
- tt0054167_shot_0122_img_0.jpg Is the person inside the red bounding box called Anna Massey? Please answer yes or no. Yes
20
- tt0054167_shot_0122_img_0.jpg Is the person inside the red bounding box called Eddie Tagoe? Please answer yes or no. No
21
- tt0056869_shot_0320_img_0.jpg Is the person inside the red bounding box called Tippi Hedren? Please answer yes or no. Yes
22
- tt0056869_shot_0320_img_0.jpg Is the person inside the red bounding box called Denise Mack? Please answer yes or no. No
23
- tt0056923_shot_0835_img_0.jpg Is the actor inside the red bounding box called Audrey Hepburn? Please answer yes or no. Yes
24
- tt0056923_shot_0835_img_0.jpg Is the actor inside the red bounding box called Chris April? Please answer yes or no. No
25
- tt0057115_shot_0686_img_0.jpg Is the person inside the red bounding box named James Garner? Please answer yes or no. Yes
26
- tt0057115_shot_0686_img_0.jpg Is the person inside the red bounding box named Chutimon Chuengcharoensukying? Please answer yes or no. No
27
- tt0058331_shot_0353_img_0.jpg Is the actor inside the red bounding box named Julie Andrews? Please answer yes or no. Yes
28
- tt0058331_shot_0353_img_0.jpg Is the actor inside the red bounding box named Ed Geldart? Please answer yes or no. No
29
- tt0058461_shot_0901_img_0.jpg Is the actor inside the red bounding box called Gian Maria Volontè? Please answer yes or no. Yes
30
- tt0058461_shot_0901_img_0.jpg Is the actor inside the red bounding box called Jennifer Connelly? Please answer yes or no. No
31
- tt0061418_shot_0148_img_0.jpg Is the actor inside the red bounding box named Faye Dunaway? Please answer yes or no. Yes
32
- tt0061418_shot_0148_img_0.jpg Is the actor inside the red bounding box named Warona Seane? Please answer yes or no. No
33
- tt0061722_shot_0259_img_0.jpg Is the actor inside the red bounding box called Dustin Hoffman? Please answer yes or no. Yes
34
- tt0061722_shot_0259_img_0.jpg Is the actor inside the red bounding box called Christopher Olsen? Please answer yes or no. No
35
- tt0062622_shot_0291_img_0.jpg Is the actor inside the red bounding box named Keir Dullea? Please answer yes or no. Yes
36
- tt0062622_shot_0291_img_0.jpg Is the actor inside the red bounding box named Frank Albanese? Please answer yes or no. No
37
- tt0063442_shot_0702_img_0.jpg Is the actor inside the red bounding box called Linda Harrison? Please answer yes or no. Yes
38
- tt0063442_shot_0702_img_0.jpg Is the actor inside the red bounding box called Michael McKean? Please answer yes or no. No
39
- tt0064115_shot_0367_img_0.jpg Is the actor inside the red bounding box named Robert Redford? Please answer yes or no. Yes
40
- tt0064115_shot_0367_img_0.jpg Is the actor inside the red bounding box named Cooper Murray? Please answer yes or no. No
41
- tt0064665_shot_0300_img_0.jpg Is the actor inside the red bounding box called Jon Voight? Please answer yes or no. Yes
42
- tt0064665_shot_0300_img_0.jpg Is the actor inside the red bounding box called Harvey Meyer? Please answer yes or no. No
43
- tt0065214_shot_0366_img_0.jpg Is the person inside the red bounding box called Robert Ryan? Please answer yes or no. Yes
44
- tt0065214_shot_0366_img_0.jpg Is the person inside the red bounding box called Victor Verhaeghe? Please answer yes or no. No
45
- tt0065724_shot_0320_img_1.jpg Is the person inside the red bounding box named Karen Black? Please answer yes or no. Yes
46
- tt0065724_shot_0320_img_1.jpg Is the person inside the red bounding box named Nick Discenza? Please answer yes or no. No
47
- tt0066026_shot_0085_img_0.jpg Is the person inside the red bounding box called Donald Sutherland? Please answer yes or no. Yes
48
- tt0066026_shot_0085_img_0.jpg Is the person inside the red bounding box called Michael Wollet? Please answer yes or no. No
49
- tt0066921_shot_0631_img_0.jpg Is the actor inside the red bounding box called Malcolm McDowell? Please answer yes or no. Yes
50
- tt0066921_shot_0631_img_0.jpg Is the actor inside the red bounding box called Darling Légitimus? Please answer yes or no. No
51
- tt0067116_shot_0122_img_0.jpg Is the actor inside the red bounding box called Gene Hackman? Please answer yes or no. Yes
52
- tt0067116_shot_0122_img_0.jpg Is the actor inside the red bounding box called Russell G. Jones? Please answer yes or no. No
53
- tt0068646_shot_0166_img_0.jpg Is the actor inside the red bounding box called Marlon Brando? Please answer yes or no. Yes
54
- tt0068646_shot_0166_img_0.jpg Is the actor inside the red bounding box called Voltaire Sterling? Please answer yes or no. No
55
- tt0069762_shot_0723_img_0.jpg Is the person inside the red bounding box named Sissy Spacek? Please answer yes or no. Yes
56
- tt0069762_shot_0723_img_0.jpg Is the person inside the red bounding box named Monica Giordano? Please answer yes or no. No
57
- tt0070047_shot_0255_img_0.jpg Is the actor inside the red bounding box called Ellen Burstyn? Please answer yes or no. Yes
58
- tt0070047_shot_0255_img_0.jpg Is the actor inside the red bounding box called Shawnee Smith? Please answer yes or no. No
59
- tt0070379_shot_0569_img_0.jpg Is the actor inside the red bounding box named Richard Romanus? Please answer yes or no. Yes
60
- tt0070379_shot_0569_img_0.jpg Is the actor inside the red bounding box named Valerie Colgan? Please answer yes or no. No
61
- tt0070511_shot_0639_img_0.jpg Is the person inside the red bounding box called Dustin Hoffman? Please answer yes or no. Yes
62
- tt0070511_shot_0639_img_0.jpg Is the person inside the red bounding box called Fernando Lueches? Please answer yes or no. No
63
- tt0070735_shot_0818_img_0.jpg Is the person inside the red bounding box named Robert Redford? Please answer yes or no. Yes
64
- tt0070735_shot_0818_img_0.jpg Is the person inside the red bounding box named Ellin Dennis? Please answer yes or no. No
65
- tt0070849_shot_0021_img_1.jpg Is the person inside the red bounding box named Maria Schneider? Please answer yes or no. Yes
66
- tt0070849_shot_0021_img_1.jpg Is the person inside the red bounding box named Mary Kellogg? Please answer yes or no. No
67
- tt0071315_shot_0153_img_0.jpg Is the actor inside the red bounding box named Faye Dunaway? Please answer yes or no. Yes
68
- tt0071315_shot_0153_img_0.jpg Is the actor inside the red bounding box named Kelly Hitman? Please answer yes or no. No
69
- tt0071562_shot_0684_img_0.jpg Is the actor inside the red bounding box named Al Pacino? Please answer yes or no. Yes
70
- tt0071562_shot_0684_img_0.jpg Is the actor inside the red bounding box named Debie Jarczewski? Please answer yes or no. No
71
- tt0072684_shot_0512_img_1.jpg Is the person inside the red bounding box named Marisa Berenson? Please answer yes or no. Yes
72
- tt0072684_shot_0512_img_1.jpg Is the person inside the red bounding box named Graham Bohea? Please answer yes or no. No
73
- tt0073195_shot_0280_img_0.jpg Is the actor inside the red bounding box named Roy Scheider? Please answer yes or no. Yes
74
- tt0073195_shot_0280_img_0.jpg Is the actor inside the red bounding box named Abdul Qadir Farookh? Please answer yes or no. No
75
- tt0073629_shot_0700_img_0.jpg Is the person inside the red bounding box named Barry Bostwick? Please answer yes or no. Yes
76
- tt0073629_shot_0700_img_0.jpg Is the person inside the red bounding box named Johnny Galecki? Please answer yes or no. No
77
- tt0074119_shot_0814_img_0.jpg Is the actor inside the red bounding box called Robert Redford? Please answer yes or no. Yes
78
- tt0074119_shot_0814_img_0.jpg Is the actor inside the red bounding box called Delroy Lindo? Please answer yes or no. No
79
- tt0074285_shot_0535_img_1.jpg Is the person inside the red bounding box named William Katt? Please answer yes or no. Yes
80
- tt0074285_shot_0535_img_1.jpg Is the person inside the red bounding box named Stephen Rider? Please answer yes or no. No
81
- tt0075148_shot_0618_img_0.jpg Is the actor inside the red bounding box called Sylvester Stallone? Please answer yes or no. Yes
82
- tt0075148_shot_0618_img_0.jpg Is the actor inside the red bounding box called Eric Hatch? Please answer yes or no. No
83
- tt0075686_shot_0373_img_0.jpg Is the actor inside the red bounding box called Woody Allen? Please answer yes or no. Yes
84
- tt0075686_shot_0373_img_0.jpg Is the actor inside the red bounding box called Penny Wallace? Please answer yes or no. No
85
- tt0076729_shot_0451_img_0.jpg Is the actor inside the red bounding box called Sally Field? Please answer yes or no. Yes
86
- tt0076729_shot_0451_img_0.jpg Is the actor inside the red bounding box called Giorgio Libassi? Please answer yes or no. No
87
- tt0076759_shot_0930_img_0.jpg Is the actor inside the red bounding box called Harrison Ford? Please answer yes or no. Yes
88
- tt0076759_shot_0930_img_0.jpg Is the actor inside the red bounding box called Ryoko Sadoshima? Please answer yes or no. No
89
- tt0077402_shot_1220_img_0.jpg Is the person inside the red bounding box named Scott H. Reiniger? Please answer yes or no. Yes
90
- tt0077402_shot_1220_img_0.jpg Is the person inside the red bounding box named Chris Delaney? Please answer yes or no. No
91
- tt0077405_shot_0150_img_0.jpg Is the actor inside the red bounding box named Sam Shepard? Please answer yes or no. Yes
92
- tt0077405_shot_0150_img_0.jpg Is the actor inside the red bounding box named Bijou Phillips? Please answer yes or no. No
93
- tt0077416_shot_1442_img_0.jpg Is the person inside the red bounding box named Robert De Niro? Please answer yes or no. Yes
94
- tt0077416_shot_1442_img_0.jpg Is the person inside the red bounding box named Stu Smith? Please answer yes or no. No
95
- tt0077651_shot_0133_img_0.jpg Is the person inside the red bounding box called Jamie Lee Curtis? Please answer yes or no. Yes
96
- tt0077651_shot_0133_img_0.jpg Is the person inside the red bounding box called Paris Arrowsmith? Please answer yes or no. No
97
- tt0078788_shot_1434_img_0.jpg Is the person inside the red bounding box called Martin Sheen? Please answer yes or no. Yes
98
- tt0078788_shot_1434_img_0.jpg Is the person inside the red bounding box called Le Capriccio Français? Please answer yes or no. No
99
- tt0078841_shot_0692_img_0.jpg Is the actor inside the red bounding box named Shirley MacLaine? Please answer yes or no. Yes
100
- tt0078841_shot_0692_img_0.jpg Is the actor inside the red bounding box named Tomas Choy? Please answer yes or no. No
101
- tt0079417_shot_0735_img_0.jpg Is the actor inside the red bounding box called Meryl Streep? Please answer yes or no. Yes
102
- tt0079417_shot_0735_img_0.jpg Is the actor inside the red bounding box called Ross Lacy? Please answer yes or no. No
103
- tt0079470_shot_0798_img_0.jpg Is the person inside the red bounding box named Eric Idle? Please answer yes or no. Yes
104
- tt0079470_shot_0798_img_0.jpg Is the person inside the red bounding box named Quincy Taylor? Please answer yes or no. No
105
- tt0079945_shot_1411_img_0.jpg Is the person inside the red bounding box named Persis Khambatta? Please answer yes or no. Yes
106
- tt0079945_shot_1411_img_0.jpg Is the person inside the red bounding box named Alison Waddell? Please answer yes or no. No
107
- tt0080339_shot_0711_img_0.jpg Is the actor inside the red bounding box named Robert Hays? Please answer yes or no. Yes
108
- tt0080339_shot_0711_img_0.jpg Is the actor inside the red bounding box named Grace Sullivan? Please answer yes or no. No
109
- tt0080684_shot_1574_img_2.jpg Is the actor inside the red bounding box called Mark Hamill? Please answer yes or no. Yes
110
- tt0080684_shot_1574_img_2.jpg Is the actor inside the red bounding box called Rodion Salnikov? Please answer yes or no. No
111
- tt0081505_shot_0449_img_0.jpg Is the actor inside the red bounding box called Shelley Duvall? Please answer yes or no. Yes
112
- tt0081505_shot_0449_img_0.jpg Is the actor inside the red bounding box called Antony Carrick? Please answer yes or no. No
113
- tt0082089_shot_0046_img_0.jpg Is the actor inside the red bounding box named Kathleen Turner? Please answer yes or no. Yes
114
- tt0082089_shot_0046_img_0.jpg Is the actor inside the red bounding box named Aaron Henderson? Please answer yes or no. No
115
- tt0082198_shot_1353_img_0.jpg Is the person inside the red bounding box named Arnold Schwarzenegger? Please answer yes or no. Yes
116
- tt0082198_shot_1353_img_0.jpg Is the person inside the red bounding box named Tim Herlihy? Please answer yes or no. No
117
- tt0082971_shot_0831_img_0.jpg Is the actor inside the red bounding box called Harrison Ford? Please answer yes or no. Yes
118
- tt0082971_shot_0831_img_0.jpg Is the actor inside the red bounding box called Richard Angarola? Please answer yes or no. No
119
- tt0083658_shot_0963_img_0.jpg Is the person inside the red bounding box called Rutger Hauer? Please answer yes or no. Yes
120
- tt0083658_shot_0963_img_0.jpg Is the person inside the red bounding box called Stéphane Julien? Please answer yes or no. No
121
- tt0083866_shot_0364_img_0.jpg Is the actor inside the red bounding box called Robert MacNaughton? Please answer yes or no. Yes
122
- tt0083866_shot_0364_img_0.jpg Is the actor inside the red bounding box called Seam Turay? Please answer yes or no. No
123
- tt0083907_shot_0633_img_0.jpg Is the actor inside the red bounding box named Bruce Campbell? Please answer yes or no. Yes
124
- tt0083907_shot_0633_img_0.jpg Is the actor inside the red bounding box named Kaden Leos? Please answer yes or no. No
125
- tt0083929_shot_0405_img_0.jpg Is the actor inside the red bounding box named Jennifer Jason Leigh? Please answer yes or no. Yes
126
- tt0083929_shot_0405_img_0.jpg Is the actor inside the red bounding box named Eric D. Sandgren? Please answer yes or no. No
127
- tt0084726_shot_0283_img_0.jpg Is the actor inside the red bounding box named Leonard Nimoy? Please answer yes or no. Yes
128
- tt0084726_shot_0283_img_0.jpg Is the actor inside the red bounding box named John Cusack? Please answer yes or no. No
129
- tt0086190_shot_0815_img_0.jpg Is the actor inside the red bounding box named Carrie Fisher? Please answer yes or no. Yes
130
- tt0086190_shot_0815_img_0.jpg Is the actor inside the red bounding box named Ernie Adams? Please answer yes or no. No
131
- tt0086250_shot_1079_img_0.jpg Is the actor inside the red bounding box called Steven Bauer? Please answer yes or no. Yes
132
- tt0086250_shot_1079_img_0.jpg Is the actor inside the red bounding box called Bill Nunn? Please answer yes or no. No
133
- tt0086856_shot_0929_img_0.jpg Is the actor inside the red bounding box called Peter Weller? Please answer yes or no. Yes
134
- tt0086856_shot_0929_img_0.jpg Is the actor inside the red bounding box called Tracee Cocco? Please answer yes or no. No
135
- tt0086879_shot_0158_img_0.jpg Is the person inside the red bounding box called Elizabeth Berridge? Please answer yes or no. Yes
136
- tt0086879_shot_0158_img_0.jpg Is the person inside the red bounding box called Ralph Ineson? Please answer yes or no. No
137
- tt0087332_shot_0798_img_0.jpg Is the person inside the red bounding box called Bill Murray? Please answer yes or no. Yes
138
- tt0087332_shot_0798_img_0.jpg Is the person inside the red bounding box called Jiao Xu? Please answer yes or no. No
139
- tt0087469_shot_0049_img_2.jpg Is the person inside the red bounding box named Harrison Ford? Please answer yes or no. Yes
140
- tt0087469_shot_0049_img_2.jpg Is the person inside the red bounding box named Paulo Benedeti? Please answer yes or no. No
141
- tt0088847_shot_0109_img_0.jpg Is the actor inside the red bounding box named Anthony Michael Hall? Please answer yes or no. Yes
142
- tt0088847_shot_0109_img_0.jpg Is the actor inside the red bounding box named Luis Javier? Please answer yes or no. No
143
- tt0088944_shot_0634_img_0.jpg Is the actor inside the red bounding box named Arnold Schwarzenegger? Please answer yes or no. Yes
144
- tt0088944_shot_0634_img_0.jpg Is the actor inside the red bounding box named Shaine Jones? Please answer yes or no. No
145
- tt0088993_shot_0569_img_0.jpg Is the actor inside the red bounding box called George A. Romero? Please answer yes or no. Yes
146
- tt0088993_shot_0569_img_0.jpg Is the actor inside the red bounding box called James Eckhouse? Please answer yes or no. No
147
- tt0089218_shot_0327_img_0.jpg Is the person inside the red bounding box named Sean Astin? Please answer yes or no. Yes
148
- tt0089218_shot_0327_img_0.jpg Is the person inside the red bounding box named Dan Hunter? Please answer yes or no. No
149
- tt0089881_shot_0034_img_0.jpg Is the actor inside the red bounding box called Tatsuya Nakadai? Please answer yes or no. Yes
150
- tt0089881_shot_0034_img_0.jpg Is the actor inside the red bounding box called Nancy Vee? Please answer yes or no. No
151
- tt0090022_shot_0464_img_0.jpg Is the actor inside the red bounding box called Scott Glenn? Please answer yes or no. Yes
152
- tt0090022_shot_0464_img_0.jpg Is the actor inside the red bounding box called Robert Ryan? Please answer yes or no. No
153
- tt0090605_shot_0344_img_0.jpg Is the person inside the red bounding box called Sigourney Weaver? Please answer yes or no. Yes
154
- tt0090605_shot_0344_img_0.jpg Is the person inside the red bounding box called Lia Beldam? Please answer yes or no. No
155
- tt0090756_shot_0135_img_0.jpg Is the person inside the red bounding box named Laura Dern? Please answer yes or no. Yes
156
- tt0090756_shot_0135_img_0.jpg Is the person inside the red bounding box named Keith Frost? Please answer yes or no. No
157
- tt0091042_shot_0098_img_0.jpg Is the person inside the red bounding box called Matthew Broderick? Please answer yes or no. Yes
158
- tt0091042_shot_0098_img_0.jpg Is the person inside the red bounding box called Mina E. Mina? Please answer yes or no. No
159
- tt0091738_shot_0073_img_1.jpg Is the actor inside the red bounding box called Kathleen Turner? Please answer yes or no. Yes
160
- tt0091738_shot_0073_img_1.jpg Is the actor inside the red bounding box called Pat Kiernan? Please answer yes or no. No
161
- tt0091867_shot_0422_img_2.jpg Is the person inside the red bounding box named Simon Callow? Please answer yes or no. Yes
162
- tt0091867_shot_0422_img_2.jpg Is the person inside the red bounding box named Rusty Goffe? Please answer yes or no. No
163
- tt0092099_shot_0455_img_1.jpg Is the person inside the red bounding box called Tom Cruise? Please answer yes or no. Yes
164
- tt0092099_shot_0455_img_1.jpg Is the person inside the red bounding box called Carol Krolick? Please answer yes or no. No
165
- tt0092699_shot_0208_img_0.jpg Is the actor inside the red bounding box called William Hurt? Please answer yes or no. Yes
166
- tt0092699_shot_0208_img_0.jpg Is the actor inside the red bounding box called Hildur Ruriks? Please answer yes or no. No
167
- tt0093565_shot_0409_img_0.jpg Is the actor inside the red bounding box named Cher? Please answer yes or no. Yes
168
- tt0093565_shot_0409_img_0.jpg Is the actor inside the red bounding box named Mark Brady? Please answer yes or no. No
169
- tt0093748_shot_0346_img_0.jpg Is the actor inside the red bounding box called John Candy? Please answer yes or no. Yes
170
- tt0093748_shot_0346_img_0.jpg Is the actor inside the red bounding box called Sarah Heller? Please answer yes or no. No
171
- tt0093773_shot_0212_img_0.jpg Is the person inside the red bounding box named Jesse Ventura? Please answer yes or no. Yes
172
- tt0093773_shot_0212_img_0.jpg Is the person inside the red bounding box named Akio Mitamura? Please answer yes or no. No
173
- tt0093779_shot_1047_img_0.jpg Is the person inside the red bounding box named Peter Falk? Please answer yes or no. Yes
174
- tt0093779_shot_1047_img_0.jpg Is the person inside the red bounding box named Lisa Ann Walter? Please answer yes or no. No
175
- tt0094226_shot_0237_img_2.jpg Is the actor inside the red bounding box called Kevin Costner? Please answer yes or no. Yes
176
- tt0094226_shot_0237_img_2.jpg Is the actor inside the red bounding box called Colin Hill? Please answer yes or no. No
177
- tt0094737_shot_0567_img_0.jpg Is the person inside the red bounding box called Tom Hanks? Please answer yes or no. Yes
178
- tt0094737_shot_0567_img_0.jpg Is the person inside the red bounding box called Chris McHallem? Please answer yes or no. No
179
- tt0095016_shot_1170_img_0.jpg Is the actor inside the red bounding box called Paul Gleason? Please answer yes or no. Yes
180
- tt0095016_shot_1170_img_0.jpg Is the actor inside the red bounding box called Carl Palmer? Please answer yes or no. No
181
- tt0095250_shot_0509_img_0.jpg Is the actor inside the red bounding box named Jean Reno? Please answer yes or no. Yes
182
- tt0095250_shot_0509_img_0.jpg Is the actor inside the red bounding box named Ralph Meyering Jr.? Please answer yes or no. No
183
- tt0095765_shot_0008_img_0.jpg Is the actor inside the red bounding box called Antonella Attili? Please answer yes or no. Yes
184
- tt0095765_shot_0008_img_0.jpg Is the actor inside the red bounding box called Amber Estrada? Please answer yes or no. No
185
- tt0095953_shot_0412_img_0.jpg Is the person inside the red bounding box named Tom Cruise? Please answer yes or no. Yes
186
- tt0095953_shot_0412_img_0.jpg Is the person inside the red bounding box named Lara Mulcahy? Please answer yes or no. No
187
- tt0096320_shot_0085_img_0.jpg Is the actor inside the red bounding box called Arnold Schwarzenegger? Please answer yes or no. Yes
188
- tt0096320_shot_0085_img_0.jpg Is the actor inside the red bounding box called Dan Duran? Please answer yes or no. No
189
- tt0096754_shot_0570_img_1.jpg Is the person inside the red bounding box named Todd Graff? Please answer yes or no. Yes
190
- tt0096754_shot_0570_img_1.jpg Is the person inside the red bounding box named Guy Carleton? Please answer yes or no. No
191
- tt0096874_shot_0647_img_0.jpg Is the actor inside the red bounding box named Michael J. Fox? Please answer yes or no. Yes
192
- tt0096874_shot_0647_img_0.jpg Is the actor inside the red bounding box named Momoko Komatsu? Please answer yes or no. No
193
- tt0096895_shot_0819_img_1.jpg Is the person inside the red bounding box called Michael Keaton? Please answer yes or no. Yes
194
- tt0096895_shot_0819_img_1.jpg Is the person inside the red bounding box called Ben Foster? Please answer yes or no. No
195
- tt0097216_shot_0381_img_0.jpg Is the actor inside the red bounding box named Danny Aiello? Please answer yes or no. Yes
196
- tt0097216_shot_0381_img_0.jpg Is the actor inside the red bounding box named Taissa Farmiga? Please answer yes or no. No
197
- tt0097428_shot_0106_img_0.jpg Is the actor inside the red bounding box named Bill Murray? Please answer yes or no. Yes
198
- tt0097428_shot_0106_img_0.jpg Is the actor inside the red bounding box named Michael Fawcett? Please answer yes or no. No
199
- tt0097576_shot_1010_img_2.jpg Is the actor inside the red bounding box named Harrison Ford? Please answer yes or no. Yes
200
- tt0097576_shot_1010_img_2.jpg Is the actor inside the red bounding box named M. Emmet Walsh? Please answer yes or no. No
201
- tt0098635_shot_0556_img_0.jpg Is the actor inside the red bounding box named Meg Ryan? Please answer yes or no. Yes
202
- tt0098635_shot_0556_img_0.jpg Is the actor inside the red bounding box named Tom Branch? Please answer yes or no. No
203
- tt0098724_shot_0474_img_0.jpg Is the person inside the red bounding box named Andie MacDowell? Please answer yes or no. Yes
204
- tt0098724_shot_0474_img_0.jpg Is the person inside the red bounding box named Linda Taylor? Please answer yes or no. No
205
- tt0099423_shot_1010_img_0.jpg Is the person inside the red bounding box called Bruce Willis? Please answer yes or no. Yes
206
- tt0099423_shot_1010_img_0.jpg Is the person inside the red bounding box called Trevor Eve? Please answer yes or no. No
207
- tt0099487_shot_0123_img_0.jpg Is the actor inside the red bounding box named Johnny Depp? Please answer yes or no. Yes
208
- tt0099487_shot_0123_img_0.jpg Is the actor inside the red bounding box named Farrah Forke? Please answer yes or no. No
209
- tt0099674_shot_1356_img_0.jpg Is the person inside the red bounding box named Al Pacino? Please answer yes or no. Yes
210
- tt0099674_shot_1356_img_0.jpg Is the person inside the red bounding box named Nick Porrazzo? Please answer yes or no. No
211
- tt0099685_shot_1132_img_0.jpg Is the actor inside the red bounding box called Ray Liotta? Please answer yes or no. Yes
212
- tt0099685_shot_1132_img_0.jpg Is the actor inside the red bounding box called Chick Allan? Please answer yes or no. No
213
- tt0099810_shot_0285_img_0.jpg Is the person inside the red bounding box called Alec Baldwin? Please answer yes or no. Yes
214
- tt0099810_shot_0285_img_0.jpg Is the person inside the red bounding box called Jennifer Anglin? Please answer yes or no. No
215
- tt0100157_shot_0365_img_0.jpg Is the actor inside the red bounding box named James Caan? Please answer yes or no. Yes
216
- tt0100157_shot_0365_img_0.jpg Is the actor inside the red bounding box named Bryan Johnson? Please answer yes or no. No
217
- tt0100403_shot_0517_img_0.jpg Is the person inside the red bounding box called Gary Busey? Please answer yes or no. Yes
218
- tt0100403_shot_0517_img_0.jpg Is the person inside the red bounding box called Alfred Tiaki Hotu? Please answer yes or no. No
219
- tt0100405_shot_0786_img_0.jpg Is the actor inside the red bounding box named Jason Alexander? Please answer yes or no. Yes
220
- tt0100405_shot_0786_img_0.jpg Is the actor inside the red bounding box named Alexandra Bastedo? Please answer yes or no. No
221
- tt0101410_shot_0105_img_0.jpg Is the person inside the red bounding box named John Turturro? Please answer yes or no. Yes
222
- tt0101410_shot_0105_img_0.jpg Is the person inside the red bounding box named David Gore? Please answer yes or no. No
223
- tt0102492_shot_0086_img_0.jpg Is the actor inside the red bounding box called Jamie Lee Curtis? Please answer yes or no. Yes
224
- tt0102492_shot_0086_img_0.jpg Is the actor inside the red bounding box called Heidi Fischer? Please answer yes or no. No
225
- tt0103064_shot_1206_img_0.jpg Is the actor inside the red bounding box named Arnold Schwarzenegger? Please answer yes or no. Yes
226
- tt0103064_shot_1206_img_0.jpg Is the actor inside the red bounding box named Gigi Lee? Please answer yes or no. No
227
- tt0103064_shot_2602_img_1.jpg Is the person inside the red bounding box named Arnold Schwarzenegger? Please answer yes or no. Yes
228
- tt0103064_shot_2602_img_1.jpg Is the person inside the red bounding box named Candice Azzara? Please answer yes or no. No
229
- tt0103776_shot_0719_img_0.jpg Is the person inside the red bounding box called Michael Keaton? Please answer yes or no. Yes
230
- tt0103776_shot_0719_img_0.jpg Is the person inside the red bounding box called Nicholas Rice? Please answer yes or no. No
231
- tt0104036_shot_0336_img_1.jpg Is the person inside the red bounding box named Stephen Rea? Please answer yes or no. Yes
232
- tt0104036_shot_0336_img_1.jpg Is the person inside the red bounding box named Mimi Lizio? Please answer yes or no. No
233
- tt0104257_shot_0477_img_0.jpg Is the person inside the red bounding box named Jack Nicholson? Please answer yes or no. Yes
234
- tt0104257_shot_0477_img_0.jpg Is the person inside the red bounding box named Emma Julia Jacobs? Please answer yes or no. No
235
- tt0104348_shot_0340_img_0.jpg Is the person inside the red bounding box called Ed Harris? Please answer yes or no. Yes
236
- tt0104348_shot_0340_img_0.jpg Is the person inside the red bounding box called Carla Lizzette Mejia? Please answer yes or no. No
237
- tt0105236_shot_0193_img_0.jpg Is the actor inside the red bounding box named Harvey Keitel? Please answer yes or no. Yes
238
- tt0105236_shot_0193_img_0.jpg Is the actor inside the red bounding box named Terence Yin? Please answer yes or no. No
239
- tt0105665_shot_0351_img_0.jpg Is the actor inside the red bounding box named Kyle MacLachlan? Please answer yes or no. Yes
240
- tt0105665_shot_0351_img_0.jpg Is the actor inside the red bounding box named Julia Hsu? Please answer yes or no. No
241
- tt0105695_shot_1436_img_1.jpg Is the person inside the red bounding box called Jaimz Woolvett? Please answer yes or no. Yes
242
- tt0105695_shot_1436_img_1.jpg Is the person inside the red bounding box called Hermione Baddeley? Please answer yes or no. No
243
- tt0106977_shot_1604_img_0.jpg Is the person inside the red bounding box named Tommy Lee Jones? Please answer yes or no. Yes
244
- tt0106977_shot_1604_img_0.jpg Is the person inside the red bounding box named Honey Chhaya? Please answer yes or no. No
245
- tt0107614_shot_0116_img_0.jpg Is the person inside the red bounding box called Sally Field? Please answer yes or no. Yes
246
- tt0107614_shot_0116_img_0.jpg Is the person inside the red bounding box called Arthur Senzy? Please answer yes or no. No
247
- tt0108399_shot_0778_img_0.jpg Is the actor inside the red bounding box called Christopher Walken? Please answer yes or no. Yes
248
- tt0108399_shot_0778_img_0.jpg Is the actor inside the red bounding box called Fiona Sit? Please answer yes or no. No
249
- tt0109831_shot_0298_img_0.jpg Is the person inside the red bounding box called Hugh Grant? Please answer yes or no. Yes
250
- tt0109831_shot_0298_img_0.jpg Is the person inside the red bounding box called Renée Zellweger? Please answer yes or no. No
251
- tt0111280_shot_0258_img_0.jpg Is the actor inside the red bounding box named Gates McFadden? Please answer yes or no. Yes
252
- tt0111280_shot_0258_img_0.jpg Is the actor inside the red bounding box named Michael Angarano? Please answer yes or no. No
253
- tt0111280_shot_1479_img_2.jpg Is the actor inside the red bounding box called William Shatner? Please answer yes or no. Yes
254
- tt0111280_shot_1479_img_2.jpg Is the actor inside the red bounding box called Richard Rohrbough? Please answer yes or no. No
255
- tt0112384_shot_0878_img_0.jpg Is the person inside the red bounding box called Kathleen Quinlan? Please answer yes or no. Yes
256
- tt0112384_shot_0878_img_0.jpg Is the person inside the red bounding box called Veronica Diaz Carranza? Please answer yes or no. No
257
- tt0112641_shot_0412_img_1.jpg Is the actor inside the red bounding box called Robert De Niro? Please answer yes or no. Yes
258
- tt0112641_shot_0412_img_1.jpg Is the actor inside the red bounding box called Pierre Malherbe? Please answer yes or no. No
259
- tt0112740_shot_1056_img_0.jpg Is the person inside the red bounding box named Denzel Washington? Please answer yes or no. Yes
260
- tt0112740_shot_1056_img_0.jpg Is the person inside the red bounding box named Bill Pullman? Please answer yes or no. No
261
- tt0113101_shot_0547_img_0.jpg Is the person inside the red bounding box named Tim Roth? Please answer yes or no. Yes
262
- tt0113101_shot_0547_img_0.jpg Is the person inside the red bounding box named Honey Chhaya? Please answer yes or no. No
263
- tt0114369_shot_1138_img_0.jpg Is the person inside the red bounding box named Brad Pitt? Please answer yes or no. Yes
264
- tt0114369_shot_1138_img_0.jpg Is the person inside the red bounding box named Benjamin Nitze? Please answer yes or no. No
265
- tt0114388_shot_0162_img_0.jpg Is the actor inside the red bounding box called Emma Thompson? Please answer yes or no. Yes
266
- tt0114388_shot_0162_img_0.jpg Is the actor inside the red bounding box called Francis P. Hughes? Please answer yes or no. No
267
- tt0114388_shot_1207_img_1.jpg Is the person inside the red bounding box called Hugh Grant? Please answer yes or no. Yes
268
- tt0114388_shot_1207_img_1.jpg Is the person inside the red bounding box called Zach Hopkins? Please answer yes or no. No
269
- tt0115798_shot_0844_img_1.jpg Is the person inside the red bounding box named Jim Carrey? Please answer yes or no. Yes
270
- tt0115798_shot_0844_img_1.jpg Is the person inside the red bounding box named Renee Herlocker? Please answer yes or no. No
271
- tt0116367_shot_0755_img_0.jpg Is the actor inside the red bounding box named George Clooney? Please answer yes or no. Yes
272
- tt0116367_shot_0755_img_0.jpg Is the actor inside the red bounding box named Ben Crowley? Please answer yes or no. No
273
- tt0116629_shot_1570_img_2.jpg Is the person inside the red bounding box called Will Smith? Please answer yes or no. Yes
274
- tt0116629_shot_1570_img_2.jpg Is the person inside the red bounding box called E. Katherine Kerr? Please answer yes or no. No
275
- tt0116695_shot_0343_img_0.jpg Is the person inside the red bounding box named Tom Cruise? Please answer yes or no. Yes
276
- tt0116695_shot_0343_img_0.jpg Is the person inside the red bounding box named Billy Dee? Please answer yes or no. No
277
- tt0117060_shot_0412_img_0.jpg Is the actor inside the red bounding box called Tom Cruise? Please answer yes or no. Yes
278
- tt0117060_shot_0412_img_0.jpg Is the actor inside the red bounding box called Carrie Lazar? Please answer yes or no. No
279
- tt0117060_shot_1401_img_0.jpg Is the actor inside the red bounding box called Jean Reno? Please answer yes or no. Yes
280
- tt0117060_shot_1401_img_0.jpg Is the actor inside the red bounding box called Jill Teed? Please answer yes or no. No
281
- tt0117381_shot_0798_img_1.jpg Is the person inside the red bounding box called Edward Norton? Please answer yes or no. Yes
282
- tt0117381_shot_0798_img_1.jpg Is the person inside the red bounding box called Michael Tezla? Please answer yes or no. No
283
- tt0117500_shot_2467_img_0.jpg Is the actor inside the red bounding box called Ed Harris? Please answer yes or no. Yes
284
- tt0117500_shot_2467_img_0.jpg Is the actor inside the red bounding box called Paul J.Q. Lee? Please answer yes or no. No
285
- tt0117509_shot_0041_img_0.jpg Is the actor inside the red bounding box named Paul Rudd? Please answer yes or no. Yes
286
- tt0117509_shot_0041_img_0.jpg Is the actor inside the red bounding box named Max Martini? Please answer yes or no. No
287
- tt0117571_shot_0475_img_0.jpg Is the person inside the red bounding box named Neve Campbell? Please answer yes or no. Yes
288
- tt0117571_shot_0475_img_0.jpg Is the person inside the red bounding box named Frank Hoyt Taylor? Please answer yes or no. No
289
- tt0117731_shot_0300_img_0.jpg Is the actor inside the red bounding box called Patrick Stewart? Please answer yes or no. Yes
290
- tt0117731_shot_0300_img_0.jpg Is the actor inside the red bounding box called Debra Montague? Please answer yes or no. No
291
- tt0117731_shot_1067_img_0.jpg Is the actor inside the red bounding box called Patrick Stewart? Please answer yes or no. Yes
292
- tt0117731_shot_1067_img_0.jpg Is the actor inside the red bounding box called Jenny Wilson? Please answer yes or no. No
293
- tt0118548_shot_1296_img_0.jpg Is the actor inside the red bounding box called Clint Eastwood? Please answer yes or no. Yes
294
- tt0118548_shot_1296_img_0.jpg Is the actor inside the red bounding box called Kate Winslet? Please answer yes or no. No
295
- tt0118571_shot_0627_img_0.jpg Is the actor inside the red bounding box called Glenn Close? Please answer yes or no. Yes
296
- tt0118571_shot_0627_img_0.jpg Is the actor inside the red bounding box called Arlene Farber? Please answer yes or no. No
297
- tt0118636_shot_0007_img_1.jpg Is the person inside the red bounding box called Brad Renfro? Please answer yes or no. Yes
298
- tt0118636_shot_0007_img_1.jpg Is the person inside the red bounding box called Sandra Park? Please answer yes or no. No
299
- tt0118636_shot_0344_img_0.jpg Is the actor inside the red bounding box called Brad Renfro? Please answer yes or no. Yes
300
- tt0118636_shot_0344_img_0.jpg Is the actor inside the red bounding box called Karen Strassman? Please answer yes or no. No
301
- tt0118655_shot_0279_img_0.jpg Is the person inside the red bounding box called Robert Wagner? Please answer yes or no. Yes
302
- tt0118655_shot_0279_img_0.jpg Is the person inside the red bounding box called Arthur Birnbaum? Please answer yes or no. No
303
- tt0118655_shot_1152_img_2.jpg Is the actor inside the red bounding box called Seth Green? Please answer yes or no. Yes
304
- tt0118655_shot_1152_img_2.jpg Is the actor inside the red bounding box called Sue Doucette? Please answer yes or no. No
305
- tt0118689_shot_0706_img_0.jpg Is the actor inside the red bounding box called Rowan Atkinson? Please answer yes or no. Yes
306
- tt0118689_shot_0706_img_0.jpg Is the actor inside the red bounding box called Hugo Perez? Please answer yes or no. No
307
- tt0118689_shot_0969_img_2.jpg Is the actor inside the red bounding box called Rowan Atkinson? Please answer yes or no. Yes
308
- tt0118689_shot_0969_img_2.jpg Is the actor inside the red bounding box called Jack Shields? Please answer yes or no. No
309
- tt0118715_shot_0079_img_0.jpg Is the actor inside the red bounding box called Jeff Bridges? Please answer yes or no. Yes
310
- tt0118715_shot_0079_img_0.jpg Is the actor inside the red bounding box called Scott Adkins? Please answer yes or no. No
311
- tt0118749_shot_0795_img_0.jpg Is the person inside the red bounding box called John C. Reilly? Please answer yes or no. Yes
312
- tt0118749_shot_0795_img_0.jpg Is the person inside the red bounding box called Chris Lowell? Please answer yes or no. No
313
- tt0118883_shot_0691_img_1.jpg Is the actor inside the red bounding box called Julia Roberts? Please answer yes or no. Yes
314
- tt0118883_shot_0691_img_1.jpg Is the actor inside the red bounding box called Roger Bart? Please answer yes or no. No
315
- tt0118971_shot_0679_img_0.jpg Is the actor inside the red bounding box called Charlize Theron? Please answer yes or no. Yes
316
- tt0118971_shot_0679_img_0.jpg Is the actor inside the red bounding box called Young-min Kim? Please answer yes or no. No
317
- tt0119008_shot_0979_img_0.jpg Is the actor inside the red bounding box named Al Pacino? Please answer yes or no. Yes
318
- tt0119008_shot_0979_img_0.jpg Is the actor inside the red bounding box named Neil Tweddle? Please answer yes or no. No
319
- tt0119094_shot_0446_img_2.jpg Is the actor inside the red bounding box called Nicolas Cage? Please answer yes or no. Yes
320
- tt0119094_shot_0446_img_2.jpg Is the actor inside the red bounding box called Juan Gabriel Pareja? Please answer yes or no. No
321
- tt0119116_shot_0721_img_0.jpg Is the actor inside the red bounding box called Bruce Willis? Please answer yes or no. Yes
322
- tt0119116_shot_0721_img_0.jpg Is the actor inside the red bounding box called Troye Sivan? Please answer yes or no. No
323
- tt0119174_shot_0439_img_0.jpg Is the actor inside the red bounding box named Michael Douglas? Please answer yes or no. Yes
324
- tt0119174_shot_0439_img_0.jpg Is the actor inside the red bounding box named Carola McGuinness? Please answer yes or no. No
325
- tt0119314_shot_0572_img_0.jpg Is the actor inside the red bounding box called Scarlett Johansson? Please answer yes or no. Yes
326
- tt0119314_shot_0572_img_0.jpg Is the actor inside the red bounding box called Daisy Beaumont? Please answer yes or no. No
327
- tt0119528_shot_0171_img_0.jpg Is the person inside the red bounding box called Jim Carrey? Please answer yes or no. Yes
328
- tt0119528_shot_0171_img_0.jpg Is the person inside the red bounding box called Eliot Paton? Please answer yes or no. No
329
- tt0119528_shot_0761_img_1.jpg Is the actor inside the red bounding box named Jim Carrey? Please answer yes or no. Yes
330
- tt0119528_shot_0761_img_1.jpg Is the actor inside the red bounding box named Jari Kinnunen? Please answer yes or no. No
331
- tt0119643_shot_0330_img_0.jpg Is the actor inside the red bounding box named Brad Pitt? Please answer yes or no. Yes
332
- tt0119643_shot_0330_img_0.jpg Is the actor inside the red bounding box named Anthony Hopkins? Please answer yes or no. No
333
- tt0119738_shot_0201_img_0.jpg Is the person inside the red bounding box named Christopher Masterson? Please answer yes or no. Yes
334
- tt0119738_shot_0201_img_0.jpg Is the person inside the red bounding box named Edwin Craig? Please answer yes or no. No
335
- tt0119822_shot_0878_img_0.jpg Is the person inside the red bounding box named Greg Kinnear? Please answer yes or no. Yes
336
- tt0119822_shot_0878_img_0.jpg Is the person inside the red bounding box named Aleksandr Dubina? Please answer yes or no. No
337
- tt0120338_shot_0444_img_2.jpg Is the actor inside the red bounding box named Kate Winslet? Please answer yes or no. Yes
338
- tt0120338_shot_0444_img_2.jpg Is the actor inside the red bounding box named Donald Gibb? Please answer yes or no. No
339
- tt0120338_shot_1130_img_2.jpg Is the person inside the red bounding box called Leonardo DiCaprio? Please answer yes or no. Yes
340
- tt0120338_shot_1130_img_2.jpg Is the person inside the red bounding box called Anne Betancourt? Please answer yes or no. No
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
eval/vlm/eval/mme/Your_Results/code_reasoning.txt DELETED
@@ -1,40 +0,0 @@
1
- 0001.png The image shows a python code. Is the output of the code 'Hello'? Please answer yes or no. Yes
2
- 0001.png The image shows a python code. Is the output of the code 'World'? Please answer yes or no. No
3
- 0002.png The image shows a python code. Is the output of the code 'a cat'? Please answer yes or no. Yes
4
- 0002.png The image shows a python code. Is the output of the code 'a dog'? Please answer yes or no. No
5
- 0003.png The image shows a python code. Is the output of the code '12'? Please answer yes or no. Yes
6
- 0003.png The image shows a python code. Is the output of the code '5'? Please answer yes or no. No
7
- 0004.png The image shows a python code. Is the output of the code '3'? Please answer yes or no. Yes
8
- 0004.png The image shows a python code. Is the output of the code '2'? Please answer yes or no. No
9
- 0005.png The image shows a python code. Is the output of the code '12'? Please answer yes or no. Yes
10
- 0005.png The image shows a python code. Is the output of the code '5'? Please answer yes or no. No
11
- 0006.png The image shows a python code. Is the output of the code '0'? Please answer yes or no. Yes
12
- 0006.png The image shows a python code. Is the output of the code '1'? Please answer yes or no. No
13
- 0007.png Is a c++ code shown in the picture? Please answer yes or no. Yes
14
- 0007.png Is a python code shown in the picture? Please answer yes or no. No
15
- 0008.png The image shows a python code. Is the output of the code '1234'? Please answer yes or no. Yes
16
- 0008.png The image shows a python code. Is the output of the code '12345'? Please answer yes or no. No
17
- 0009.png The image shows a python code. Is the output of the code '36'? Please answer yes or no. Yes
18
- 0009.png The image shows a python code. Is the output of the code '6'? Please answer yes or no. No
19
- 0010.png The image shows a python code. Is the output of the code '1'? Please answer yes or no. Yes
20
- 0010.png The image shows a python code. Is the output of the code '5'? Please answer yes or no. No
21
- 0011.png The image shows a python code. Is the output of the code '0'? Please answer yes or no. Yes
22
- 0011.png The image shows a python code. Is the output of the code '1'? Please answer yes or no. No
23
- 0012.png The image shows a python code. Is the output of the code 'working hard'? Please answer yes or no. Yes
24
- 0012.png The image shows a python code. Is the output of the code 'playing hard'? Please answer yes or no. No
25
- 0013.png The image shows a python code. Is the output of the code 'a cat'? Please answer yes or no. Yes
26
- 0013.png The image shows a python code. Is the output of the code 'a dog'? Please answer yes or no. No
27
- 0014.png The image shows a python code. Is the output of the code '7'? Please answer yes or no. Yes
28
- 0014.png The image shows a python code. Is the output of the code '1'? Please answer yes or no. No
29
- 0015.png The image shows a python code. Is the output of the code '11'? Please answer yes or no. Yes
30
- 0015.png The image shows a python code. Is the output of the code '9'? Please answer yes or no. No
31
- 0016.png The image shows a python code. Is the output of the code 'x is smaller than 10'? Please answer yes or no. Yes
32
- 0016.png The image shows a python code. Is the output of the code 'x is larger than 10'? Please answer yes or no. No
33
- 0017.png The image shows a python code. Will the number 3 appear in the output of the code? Please answer yes or no. Yes
34
- 0017.png The image shows a python code. Will the number 6 appear in the output of the code? Please answer yes or no. No
35
- 0018.png The image shows a python code. Is the output of the code '11'? Please answer yes or no. Yes
36
- 0018.png The image shows a python code. Is the output of the code '12'? Please answer yes or no. No
37
- 0019.png The image shows a python code. Is the output of the code 'the list has more than 2 numbers'? Please answer yes or no. Yes
38
- 0019.png The image shows a python code. Is the output of the code 'the list has less than 2 numbers'? Please answer yes or no. No
39
- 0020.png Is a python code shown in the picture? Please answer yes or no. Yes
40
- 0020.png Is a c++ code shown in the picture? Please answer yes or no. No
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
eval/vlm/eval/mme/Your_Results/color.txt DELETED
@@ -1,60 +0,0 @@
1
- 000000006723.jpg Is there a red brick building in the image? Please answer yes or no. Yes
2
- 000000006723.jpg Is there a yellow brick building in the image? Please answer yes or no. No
3
- 000000008277.jpg Is there a white plate in the image? Please answer yes or no. Yes
4
- 000000008277.jpg Is there a yellow plate in the image? Please answer yes or no. No
5
- 000000012120.jpg Is there a blue court in the image? Please answer yes or no. Yes
6
- 000000012120.jpg Is there a purple court in the image? Please answer yes or no. No
7
- 000000014831.jpg Is there a brown and white animal in the image? Please answer yes or no. Yes
8
- 000000014831.jpg Is there a green and red animal in the image? Please answer yes or no. No
9
- 000000028993.jpg Are there yellow poles in the image? Please answer yes or no. Yes
10
- 000000028993.jpg Are there blue poles in the image? Please answer yes or no. No
11
- 000000029393.jpg Is there a brown dog in the image? Please answer yes or no. Yes
12
- 000000029393.jpg Is there a black dog in the image? Please answer yes or no. No
13
- 000000035770.jpg Is there a black and white toilet in the image? Please answer yes or no. Yes
14
- 000000035770.jpg Is there a red and white toilet in the image? Please answer yes or no. No
15
- 000000038118.jpg Is there a red coat in the image? Please answer yes or no. Yes
16
- 000000038118.jpg Is there a yellow coat in the image? Please answer yes or no. No
17
- 000000047112.jpg Is there a white plate in the image? Please answer yes or no. Yes
18
- 000000047112.jpg Is there a yellow plate in the image? Please answer yes or no. No
19
- 000000047121.jpg Is there a black cat in the image? Please answer yes or no. Yes
20
- 000000047121.jpg Is there a brown cat in the image? Please answer yes or no. No
21
- 000000053529.jpg Is there a green hat in the image? Please answer yes or no. Yes
22
- 000000053529.jpg Is there a red hat in the image? Please answer yes or no. No
23
- 000000053994.jpg Is there a gray wall in the image? Please answer yes or no. Yes
24
- 000000053994.jpg Is there a red wall in the image? Please answer yes or no. No
25
- 000000055072.jpg Is there a brown giraffe in the image? Please answer yes or no. Yes
26
- 000000055072.jpg Is there a black giraffe in the image? Please answer yes or no. No
27
- 000000057597.jpg Are there any red shoes in the image? Please answer yes or no. Yes
28
- 000000057597.jpg Are there any yellow shoes in the image? Please answer yes or no. No
29
- 000000061658.jpg Are there a white dish in the image? Please answer yes or no. Yes
30
- 000000061658.jpg Are there a green dish in the image? Please answer yes or no. No
31
- 000000338560.jpg Is there a blue and yellow fire hydrant in the image? Please answer yes or no. Yes
32
- 000000338560.jpg Is there a blue and orange fire hydrant in the image? Please answer yes or no. No
33
- 000000370208.jpg Is there a red bicycle with white handlebars in the image? Please answer yes or no. Yes
34
- 000000370208.jpg Is there a red bicycle with black handlebars in the image? Please answer yes or no. No
35
- 000000377723.jpg Is there a blue bus in the image? Please answer yes or no. Yes
36
- 000000377723.jpg Is there a orange bus in the image? Please answer yes or no. No
37
- 000000405205.jpg Is there a white bus in the image? Please answer yes or no. Yes
38
- 000000405205.jpg Is there a red bus in the image? Please answer yes or no. No
39
- 000000410612.jpg Is there a red boat in the image? Please answer yes or no. Yes
40
- 000000410612.jpg Is there a gray boat in the image? Please answer yes or no. No
41
- 000000427034.jpg Is there a brown and black dog in the image? Please answer yes or no. Yes
42
- 000000427034.jpg Is there a brown and white dog in the image? Please answer yes or no. No
43
- 000000442456.jpg Is there a man wearing a red shirt in the image? Please answer yes or no. Yes
44
- 000000442456.jpg Is there a man wearing a white shirt in the image? Please answer yes or no. No
45
- 000000492362.jpg Is there a skateboard with red wheels in the image? Please answer yes or no. Yes
46
- 000000492362.jpg Is there a skateboard with black wheels in the image? Please answer yes or no. No
47
- 000000492992.jpg Is there a white bird in the image? Please answer yes or no. Yes
48
- 000000492992.jpg Is there a yellow bird in the image? Please answer yes or no. No
49
- 000000512929.jpg Are there any green beans in the image? Please answer yes or no. Yes
50
- 000000512929.jpg Are there any orange beans in the image? Please answer yes or no. No
51
- 000000530457.jpg Are there any red flowers in the image? Please answer yes or no. Yes
52
- 000000530457.jpg Are there any green flowers in the image? Please answer yes or no. No
53
- 000000532761.jpg Is there a living room painted yellow in the image? Please answer yes or no. Yes
54
- 000000532761.jpg Is there a living room painted black in the image? Please answer yes or no. No
55
- 000000534041.jpg Is there a purple bottle in the image? Please answer yes or no. Yes
56
- 000000534041.jpg Is there a white bottle in the image? Please answer yes or no. No
57
- 000000563758.jpg Is there a red scarf in the image? Please answer yes or no. Yes
58
- 000000563758.jpg Is there a brown scarf in the image? Please answer yes or no. No
59
- 000000564280.jpg Is there a red couch in the image? Please answer yes or no. Yes
60
- 000000564280.jpg Is there a black couch in the image? Please answer yes or no. No
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
eval/vlm/eval/mme/Your_Results/commonsense_reasoning.txt DELETED
@@ -1,140 +0,0 @@
1
- 0001.png Here are the order details for my taxi ride. Should I actually pay $29.42? Please answer yes or no. Yes
2
- 0001.png Here are the order details for my taxi ride. Should I actually pay $32.42? Please answer yes or no. No
3
- 0002.png Should I stop when I'm about to cross the street and see the sign in the picture? Please answer yes or no. Yes
4
- 0002.png When I see the sign in the picture, can I cross the street? Please answer yes or no. No
5
- 0003.png May I ask if in the game of finger-guessing game, did the right side of the picture win? Please answer yes or no. Yes
6
- 0003.png May I ask if in the game of finger-guessing game, did the left side of the picture win? Please answer yes or no. No
7
- 0004.png Does the fruit in the picture look stale? Please answer yes or no. Yes
8
- 0004.png Does the fruit in the picture look very fresh? Please answer yes or no. No
9
- 0005.png The office's normal closing time is 5 p.m. Now is afternoon. Should I continue to work at the time shown in the picture? Please answer yes or no. Yes
10
- 0005.png The office's normal closing time is 5 p.m. Now is afternoon. Could I leave work at the time shown in the picture? Please answer yes or no. No
11
- 0006.png I recently want to go on vacation to relax and go to a place full of fresh air. Is the venue in the picture appropriate? Please answer yes or no. Yes
12
- 0006.png I want to go where there are a lot of people. Is the venue in the picture appropriate? Please answer yes or no. No
13
- 0007.png I want to clean the house and I want to choose a tool. Is the tool in the picture an appropriate choice? Please answer yes or no. Yes
14
- 0007.png I want to transport something and I want to choose a tool to help me. Is the tool in the picture an appropriate choice? Please answer yes or no. No
15
- 0008.png Can I smoke where the picture is? Please answer yes or no. Yes
16
- 0008.png Is smoking prohibited in the location of the picture? Please answer yes or no. No
17
- 0009.png Will green be obtained by mixing the above two colors? Please answer yes or no. Yes
18
- 0009.png Will red be obtained by mixing the above two colors? Please answer yes or no. No
19
- 0010.png I am going to exercise and I want to choose a venue. Is the venue in the picture a good choice? Please answer yes or no. Yes
20
- 0010.png I am going to study and I want to choose a venue. Is the venue in the picture a good choice? Please answer yes or no. No
21
- 0011.png If I am allergic to durian, can I finish the fruit in the picture? Please answer yes or no. Yes
22
- 0011.png If I am allergic to banana, can I finish the fruit in the picture? Please answer yes or no. No
23
- 0012.png I am going to study and I want to choose a venue. Is the venue in the picture a good choice? Please answer yes or no. Yes
24
- 0012.png I am going to exercise and I want to choose a venue. Is the venue in the picture a good choice? Please answer yes or no. No
25
- 0013.png I am going to a formal dinner party. Is the shoe in the picture an appropriate choice? Please answer yes or no. Yes
26
- 0013.png I am going to play basketball. Is the shoe in the picture an appropriate choice? Please answer yes or no. No
27
- 0014.png In this line chart, the vertical axis is height and the horizontal axis is age. Does Maria's height exceed Jane's height in the end? Please answer yes or no. Yes
28
- 0014.png In this line chart, the vertical axis is height and the horizontal axis is age. Does Jane's height exceed Kangkang's height in the end? Please answer yes or no. No
29
- 0015.png Is the ball usually played with hands? Please answer yes or no. Yes
30
- 0015.png Is the ball usually played with feet? Please answer yes or no. No
31
- 0016.png Is the place in the picture a good place to enjoy the cool in a sunny day? Please answer yes or no. Yes
32
- 0016.png Is the place in the picture a good shelter from the rain when it thunders outside? Please answer yes or no. No
33
- 0017.png Are the vehicles in the pictures usually environmentally friendly? Please answer yes or no. Yes
34
- 0017.png Does the vehicle in the picture usually run faster than the car? Please answer yes or no. No
35
- 0018.png This is a picture of some kind of animal. Does it eat leaves? Please answer yes or no. Yes
36
- 0018.png This is a picture of some kind of animal. Does it eat meat? Please answer yes or no. No
37
- 0019.png Is the water flow in the picture from the top to the bottom? Please answer yes or no. Yes
38
- 0019.png Is the water flow in the picture from the bottom to the top? Please answer yes or no. No
39
- 0020.png Can the item in the picture be used to measure length? Please answer yes or no. Yes
40
- 0020.png Can the item in the picture be used to measure angles? Please answer yes or no. No
41
- 0021.png This is a toilet guide sign. I am a man. Should I go to the toilet on the left? Please answer yes or no. Yes
42
- 0021.png This is a toilet guide sign. I am a man. Should I go to the toilet on the right? Please answer yes or no. No
43
- 0022.png Does the animal in the picture usually catch mice? Please answer yes or no. Yes
44
- 0022.png Is the animal in the picture usually used in search and rescue? Please answer yes or no. No
45
- 0023.png If you want to keep your fruit fresh in summer, should you put it in the appliance in the picture? Please answer yes or no. Yes
46
- 0023.png Is the appliance in the picture more suitable for winter than summer? Please answer yes or no. No
47
- 0024.png I want to go skating. Is the shoe in the picture usually appropriate? Please answer yes or no. Yes
48
- 0024.png I want to go roller skating. Is the shoe in the picture usually appropriate? Please answer yes or no. No
49
- 0025.png I feel very thirsty in the desert now. Can the thing in the picture help me? Please answer yes or no. Yes
50
- 0025.png I don't like clear cups. Is the cup in the picture my type? Please answer yes or no. No
51
- 0026.png I want to go for a run and I want to choose a pair of shoes. Is the shoe in the picture an appropriate choice? Please answer yes or no. Yes
52
- 0026.png I want to practice ballet and I want to choose a pair of shoes. Is the shoe in the picture an appropriate choice? Please answer yes or no. No
53
- 0027.png Are the pants in the picture usually suitable for casual wear? Please answer yes or no. Yes
54
- 0027.png Are the pants in the picture usually suitable for playing basketball? Please answer yes or no. No
55
- 0028.png This is a picture from a real scene. Is there only one real cat in this picture? Please answer yes or no. Yes
56
- 0028.png This is a picture from a real scene. Is there only two real cats in this picture? Please answer yes or no. No
57
- 0029.png The three cats in the picture, the one without a beard, is the middle one? Please answer yes or no. Yes
58
- 0029.png The three cats in the picture, the one without a beard, is the right one? Please answer yes or no. No
59
- 0030.png I'm going to 501. Do I need to turn left at the intersection? Please answer yes or no. Yes
60
- 0030.png I'm going to 502. Do I need to turn left at the intersection? Please answer yes or no. No
61
- 0031.png Is the drink in the picture usually suitable for a party? Please answer yes or no. Yes
62
- 0031.png Is the drink in the picture usually suitable for drinking together with cephalosporin? Please answer yes or no. No
63
- 0032.png Here is a picture of the cake I cut. Did I cut it at least twice? Please answer yes or no. Yes
64
- 0032.png Here is a picture of the cake I cut. Did I cut it at least once? Please answer yes or no. No
65
- 0033.png This is a picture from a real scene. Is there only one real apple in this picture? Please answer yes or no. Yes
66
- 0033.png This is a picture from a real scene. Is there only two real apples in this picture? Please answer yes or no. No
67
- 0034.png Here is a pie chart counting the favorite fruits of all employees in our company. Is the durian the most popular fruit? Please answer yes or no. Yes
68
- 0034.png Here is a pie chart counting the favorite fruits of all employees in our company. Is the mango the most popular fruit? Please answer yes or no. No
69
- 0035.png This is the sales chart of this month. Is Tina the runner-up in sales this month? Please answer yes or no. Yes
70
- 0035.png This is the sales chart of this month. Is John the runner-up in sales this month? Please answer yes or no. No
71
- 0036.png Is it a good time to walk through the road in the picture? Please answer yes or no. Yes
72
- 0036.png Is it a good time to drive a car through the road in the picture? Please answer yes or no. No
73
- 0037.png Here is a photo of the sun's position at a certain time. Could it be dusk now? Please answer yes or no. Yes
74
- 0037.png Here is a photo of the sun's position at a certain time. Could it be noon now? Please answer yes or no. No
75
- 0038.png All apples are shown in the picture. If I eat an apple every day, can I eat it for four days? Please answer yes or no. Yes
76
- 0038.png All apples are shown in the picture. If I eat an apple every day, can I eat it for three days? Please answer yes or no. No
77
- 0039.png This line chart is used to count the sales of two types of burgers. Are chicken burgers more popular? Please answer yes or no. Yes
78
- 0039.png This line chart is used to count the sales of two types of burgers. Are beef burgers more popular? Please answer yes or no. No
79
- 0040.png I want to supplement protein. Is it appropriate to eat the food in the picture? Please answer yes or no. Yes
80
- 0040.png I don't like to eat any food related to chicken. Is the food in the picture my type? Please answer yes or no. No
81
- 0041.png Is the fruit in the picture usually sweet? Please answer yes or no. Yes
82
- 0041.png Is the fruit in the picture usually spicy? Please answer yes or no. No
83
- 0042.png Are there usually cars in the area shown in the picture? Please answer yes or no. Yes
84
- 0042.png Is it appropriate to cross the road directly from the place shown in the picture? Please answer yes or no. No
85
- 0043.png Is the animal in the picture usually not seen in winter? Please answer yes or no. Yes
86
- 0043.png Is the animal in the picture usually seen in winter? Please answer yes or no. No
87
- 0044.png This is a flowchart of a program. I enter 3 and 6. Is the output 'No'? Please answer yes or no. Yes
88
- 0044.png This is a flowchart of a program. I enter 3 and 6. Is the output 'Yes'? Please answer yes or no. No
89
- 0045.png There is a sign at the intersection, can I turn left? Please answer yes or no. Yes
90
- 0045.png There is a sign at the intersection, can I turn right? Please answer yes or no. No
91
- 0046.png Vitamin C is very helpful for human health. Does the food on in the picture usually contain Vitamin C? Please answer yes or no. Yes
92
- 0046.png Is the food in the picture commonly used to build muscle? Please answer yes or no. No
93
- 0047.png All apples are shown in the picture. My brother and I divide the apples equally. May I have one apple? Please answer yes or no. Yes
94
- 0047.png All apples are shown in the picture. My brother and I divide the apples equally. May I have two apples? Please answer yes or no. No
95
- 0048.png Here is a picture of eating fruit. Am I eating a strawberry? Please answer yes or no. Yes
96
- 0048.png Here is a picture of eating fruit. Am I eating a cherry tomato? Please answer yes or no. No
97
- 0049.png Does the vehicle in the picture usually have its Windows closed during fast driving? Please answer yes or no. Yes
98
- 0049.png Does the vehicle in the picture usually have its Windows opened during fast driving? Please answer yes or no. No
99
- 0050.png Do people commonly use the item in the picture for makeup in their daily lives? Please answer yes or no. Yes
100
- 0050.png Do people commonly use the item in the picture to write in their daily lives? Please answer yes or no. No
101
- 0051.png This is a flowchart of a program. When the input is 5, is the output 6? Please answer yes or no. Yes
102
- 0051.png This is a flowchart of a program. When the input is 6, is the output 5? Please answer yes or no. No
103
- 0052.png I want to lose weight. Is the food in the picture an appropriate choice? Please answer yes or no. Yes
104
- 0052.png I want to gain weight. Is the food in the picture an appropriate choice? Please answer yes or no. No
105
- 0053.png Is the car in the picture going to make a right turn after going through a straight road section? Please answer yes or no. Yes
106
- 0053.png Is the car in the picture going to make a left turn after going through a straight road section? Please answer yes or no. No
107
- 0054.png May I ask if the plants in the picture can survive in the water? Please answer yes or no. Yes
108
- 0054.png May I ask if the plants in the picture can survive in the soil? Please answer yes or no. No
109
- 0055.png The man in the picture is eating. Does he eat noodles? Please answer yes or no. Yes
110
- 0055.png The man in the picture is eating. Does he eat rice? Please answer yes or no. No
111
- 0056.png Can the item in the picture output water? Please answer yes or no. Yes
112
- 0056.png Can the item in picture be used for blowing air? Please answer yes or no. No
113
- 0057.png Does the vehicle in the picture usually run faster than a horse? Please answer yes or no. Yes
114
- 0057.png Does the vehicle in the picture usually fly? Please answer yes or no. No
115
- 0058.png Can't I smoke here? Please answer yes or no. Yes
116
- 0058.png May I smoke here? Please answer yes or no. No
117
- 0059.png This pie chart is the age distribution of our company. Is the proportion of people aged 30-50 more than 40%? Please answer yes or no. Yes
118
- 0059.png This pie chart is the age distribution of our company. Is the proportion of people aged 40-50 more than 30%? Please answer yes or no. No
119
- 0060.png This is the histogram of fruit sales today. Do more men buy watermelons than women buy bananas? Please answer yes or no. Yes
120
- 0060.png This is the histogram of fruit sales today. Do more men buy peach than women buy apple? Please answer yes or no. No
121
- 0061.png Is the tool in the picture common in tall buildings? Please answer yes or no. Yes
122
- 0061.png In case of fire, is it appropriate to choose the tool in the picture to go downstairs? Please answer yes or no. No
123
- 0062.png It's snowing outside the window now. I want to go out. Is it appropriate to wear the cloth in the picture? Please answer yes or no. Yes
124
- 0062.png It's very hot outside. I want to go out. Is it appropriate to wear the cloth in the picture? Please answer yes or no. No
125
- 0063.png Is the animal in the picture suitable as a pet? Please answer yes or no. Yes
126
- 0063.png Is the animal in the pictures usually stronger than adult tigers? Please answer yes or no. No
127
- 0064.png I want to play basketball. Is the venue in the picture a good choice? Please answer yes or no. Yes
128
- 0064.png I want to play football. Is the venue in the picture a good choice? Please answer yes or no. No
129
- 0065.png Is it appropriate to wear a down jacket during the season in the picture? Please answer yes or no. Yes
130
- 0065.png Is it appropriate to only wear short sleeves during the season in the picture? Please answer yes or no. No
131
- 0066.png I want to carry one thing with me on a rainy day. Is the thing in the image an appropriate choice? Please answer yes or no. Yes
132
- 0066.png It is raining outside. I am in a house and I don't need to go out. Is this thing in the picture necessary for me to use? Please answer yes or no. No
133
- 0067.png I feel very hot. Is the tool in the picture suitable for use? Please answer yes or no. Yes
134
- 0067.png I feel very cold. Is the tool in the picture suitable for use? Please answer yes or no. No
135
- 0068.png Is it unhealthy to eat the food in the picture too often? Please answer yes or no. Yes
136
- 0068.png Is the food in the picture usually low in calories? Please answer yes or no. No
137
- 0069.png Is the phone in the photo connected to a charger? Please answer yes or no. Yes
138
- 0069.png Is the phone in the photo charging? Please answer yes or no. No
139
- 0070.png I want to turn the screw. Is the tool in the picture usually appropriate? Please answer yes or no. Yes
140
- 0070.png Is the tool in the picture usually suitable for smashing walnuts? Please answer yes or no. No
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
eval/vlm/eval/mme/Your_Results/count.txt DELETED
@@ -1,60 +0,0 @@
1
- 000000006040.jpg Is there a train in the picture? Please answer yes or no. Yes
2
- 000000006040.jpg Are there a total of two trains in the picture? Please answer yes or no. No
3
- 000000044279.jpg Is there a total of two people in the image? Please answer yes or no. Yes
4
- 000000044279.jpg Is there only one people in the image? Please answer yes or no. No
5
- 000000067213.jpg Is there only one dog in the image? Please answer yes or no. Yes
6
- 000000067213.jpg Is there two dogs in the image? Please answer yes or no. No
7
- 000000071226.jpg Is there a total of two dogs in the image? Please answer yes or no. Yes
8
- 000000071226.jpg Is there only one dogs in the image? Please answer yes or no. No
9
- 000000097994.jpg Are there three laptops in the picture? Please answer yes or no. Yes
10
- 000000097994.jpg Are there four laptops in the picture? Please answer yes or no. No
11
- 000000195918.jpg Is there a total of two display devices in the image? Please answer yes or no. Yes
12
- 000000195918.jpg Is there only one display device in the image? Please answer yes or no. No
13
- 000000236721.jpg Are there two bananas in the image? Please answer yes or no. Yes
14
- 000000236721.jpg Are there three bananas in the image? Please answer yes or no. No
15
- 000000261712.jpg Are there two giraffes in this image? Please answer yes or no. Yes
16
- 000000261712.jpg Are there three giraffes in this picture? Please answer yes or no. No
17
- 000000274066.jpg Are there four people appear in this image? Please answer yes or no. Yes
18
- 000000274066.jpg Are there only three people appear in this image? Please answer yes or no. No
19
- 000000276434.jpg Is there a total of three cakes in this image? Please answer yes or no. Yes
20
- 000000276434.jpg Are there only two cakes in this image? Please answer yes or no. No
21
- 000000289059.jpg Is there a total of two person appear in the image? Please answer yes or no. Yes
22
- 000000289059.jpg Is there only one person appear in the image? Please answer yes or no. No
23
- 000000290081.jpg Is there only one bowl in this image? Please answer yes or no. Yes
24
- 000000290081.jpg Are there two bowls in this image? Please answer yes or no. No
25
- 000000301867.jpg Are there three people appear in this image? Please answer yes or no. Yes
26
- 000000301867.jpg Are there only two people appear in this image? Please answer yes or no. No
27
- 000000335954.jpg Are there two bowls in this image? Please answer yes or no. Yes
28
- 000000335954.jpg Are there three bowls in this image? Please answer yes or no. No
29
- 000000357816.jpg Are there four people in this image? Please answer yes or no. Yes
30
- 000000357816.jpg Are there five people in this image? Please answer yes or no. No
31
- 000000372819.jpg Are there four dogs appear in this image? Please answer yes or no. Yes
32
- 000000372819.jpg Are there only three dogs appear in this image? Please answer yes or no. No
33
- 000000410612.jpg Is there only one ship in the picture? Please answer yes or no. Yes
34
- 000000410612.jpg Is there a total of two ships in the picture? Please answer yes or no. No
35
- 000000423944.jpg Is there no person in this picture? Please answer yes or no. Yes
36
- 000000423944.jpg Are there two people appear in this image? Please answer yes or no. No
37
- 000000427034.jpg Is there a dog in the picture? Please answer yes or no. Yes
38
- 000000427034.jpg Are there a total of two dogs in the picture? Please answer yes or no. No
39
- 000000430286.jpg Are there three remotes in this image? Please answer yes or no. Yes
40
- 000000430286.jpg Are there only two remotes in this image? Please answer yes or no. No
41
- 000000432468.jpg Are there three zippers in the picture? Please answer yes or no. Yes
42
- 000000432468.jpg Is there a zipper in the picture? Please answer yes or no. No
43
- 000000434479.jpg Are there two pieces of pizza in this image? Please answer yes or no. Yes
44
- 000000434479.jpg Is there only one piece of pizza in this image? Please answer yes or no. No
45
- 000000438304.jpg Are there two tennis rackets in the picture? Please answer yes or no. Yes
46
- 000000438304.jpg Are there only one tennis racket in the picture? Please answer yes or no. No
47
- 000000450303.jpg Are there six people appear in this image? Please answer yes or no. Yes
48
- 000000450303.jpg Are there seven people appear in this image? Please answer yes or no. No
49
- 000000470121.jpg Is there only one bottle in the image? Please answer yes or no. Yes
50
- 000000470121.jpg Is there two bottles in the image? Please answer yes or no. No
51
- 000000476215.jpg Are there two horses in this image? Please answer yes or no. Yes
52
- 000000476215.jpg Is there only one horse in this image? Please answer yes or no. No
53
- 000000482100.jpg Are there two toilets in the picture? Please answer yes or no. Yes
54
- 000000482100.jpg Is there only one toilet in the picture? Please answer yes or no. No
55
- 000000491867.jpg Is there only one necktie in the image? Please answer yes or no. Yes
56
- 000000491867.jpg Is there three neckties in the image? Please answer yes or no. No
57
- 000000556000.jpg Are there four people in the image? Please answer yes or no. Yes
58
- 000000556000.jpg Are there only three people in the image? Please answer yes or no. No
59
- 000000565045.jpg Are there two bath towels in the picture? Please answer yes or no. Yes
60
- 000000565045.jpg Is there only one bath towel in the picture? Please answer yes or no. No
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
eval/vlm/eval/mme/Your_Results/existence.txt DELETED
@@ -1,60 +0,0 @@
1
- 000000006040.jpg Is there a train in this image? Please answer yes or no. Yes
2
- 000000006040.jpg Is there a bed in this image? Please answer yes or no. No
3
- 000000006471.jpg Is there a baseball bat in this image? Please answer yes or no. Yes
4
- 000000006471.jpg Is there a giraffe in this image? Please answer yes or no. No
5
- 000000007108.jpg Is there a elephant in this image? Please answer yes or no. Yes
6
- 000000007108.jpg Is there a hair drier in this image? Please answer yes or no. No
7
- 000000007816.jpg Is there a motorcycle in this image? Please answer yes or no. Yes
8
- 000000007816.jpg Is there a airplane in this image? Please answer yes or no. No
9
- 000000007977.jpg Is there a skateboard in this image? Please answer yes or no. Yes
10
- 000000007977.jpg Is there a spoon in this image? Please answer yes or no. No
11
- 000000008844.jpg Is there a person in this image? Please answer yes or no. Yes
12
- 000000008844.jpg Is there a sink in this image? Please answer yes or no. No
13
- 000000009590.jpg Is there a bottle in this image? Please answer yes or no. Yes
14
- 000000009590.jpg Is there a scissors in this image? Please answer yes or no. No
15
- 000000010363.jpg Is there a bottle in this image? Please answer yes or no. Yes
16
- 000000010363.jpg Is there a apple in this image? Please answer yes or no. No
17
- 000000011197.jpg Is there a car in this image? Please answer yes or no. Yes
18
- 000000011197.jpg Is there a fork in this image? Please answer yes or no. No
19
- 000000015254.jpg Is there a spoon in this image? Please answer yes or no. Yes
20
- 000000015254.jpg Is there a donut in this image? Please answer yes or no. No
21
- 000000015517.jpg Is there a bus in this image? Please answer yes or no. Yes
22
- 000000015517.jpg Is there a cow in this image? Please answer yes or no. No
23
- 000000015746.jpg Is there a fire hydrant in this image? Please answer yes or no. Yes
24
- 000000015746.jpg Is there a person in this image? Please answer yes or no. No
25
- 000000037751.jpg Is there a backpack in this image? Please answer yes or no. Yes
26
- 000000037751.jpg Is there a microwave in this image? Please answer yes or no. No
27
- 000000050145.jpg Is there a bicycle in this image? Please answer yes or no. Yes
28
- 000000050145.jpg Is there a apple in this image? Please answer yes or no. No
29
- 000000061418.jpg Is there a chair in this image? Please answer yes or no. Yes
30
- 000000061418.jpg Is there a airplane in this image? Please answer yes or no. No
31
- 000000417779.jpg Is there a car in this image? Please answer yes or no. Yes
32
- 000000417779.jpg Is there a kite in this image? Please answer yes or no. No
33
- 000000424521.jpg Is there a skateboard in this image? Please answer yes or no. Yes
34
- 000000424521.jpg Is there a banana in this image? Please answer yes or no. No
35
- 000000438304.jpg Is there a sports ball in this image? Please answer yes or no. Yes
36
- 000000438304.jpg Is there a horse in this image? Please answer yes or no. No
37
- 000000494427.jpg Is there a laptop in this image? Please answer yes or no. Yes
38
- 000000494427.jpg Is there a potted plant in this image? Please answer yes or no. No
39
- 000000495448.jpg Is there a cake in this image? Please answer yes or no. Yes
40
- 000000495448.jpg Is there a tie in this image? Please answer yes or no. No
41
- 000000498463.jpg Is there a refrigerator in this image? Please answer yes or no. Yes
42
- 000000498463.jpg Is there a donut in this image? Please answer yes or no. No
43
- 000000519039.jpg Is there a truck in this image? Please answer yes or no. Yes
44
- 000000519039.jpg Is there a book in this image? Please answer yes or no. No
45
- 000000523241.jpg Is there a car in this image? Please answer yes or no. Yes
46
- 000000523241.jpg Is there a cell phone in this image? Please answer yes or no. No
47
- 000000530162.jpg Is there a umbrella in this image? Please answer yes or no. Yes
48
- 000000530162.jpg Is there a horse in this image? Please answer yes or no. No
49
- 000000537812.jpg Is there a chair in this image? Please answer yes or no. Yes
50
- 000000537812.jpg Is there a baseball bat in this image? Please answer yes or no. No
51
- 000000541952.jpg Is there a clock in this image? Please answer yes or no. Yes
52
- 000000541952.jpg Is there a bottle in this image? Please answer yes or no. No
53
- 000000546626.jpg Is there a bottle in this image? Please answer yes or no. Yes
54
- 000000546626.jpg Is there a mouse in this image? Please answer yes or no. No
55
- 000000556000.jpg Is there a chair in this image? Please answer yes or no. Yes
56
- 000000556000.jpg Is there a dog in this image? Please answer yes or no. No
57
- 000000557258.jpg Is there a toilet in this image? Please answer yes or no. Yes
58
- 000000557258.jpg Is there a pizza in this image? Please answer yes or no. No
59
- 000000572956.jpg Is there a motorcycle in this image? Please answer yes or no. Yes
60
- 000000572956.jpg Is there a bus in this image? Please answer yes or no. No
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
eval/vlm/eval/mme/Your_Results/landmark.txt DELETED
@@ -1,400 +0,0 @@
1
- 0006adf999ccc899.jpg Is this a photo of Muktinath? Please answer yes or no. Yes
2
- 0006adf999ccc899.jpg Is this a photo of Lohikoski Church? Please answer yes or no. No
3
- 0015309638e5a9b1.jpg Is this a picture of Teufelsmauer (Harz)? Please answer yes or no. Yes
4
- 0015309638e5a9b1.jpg Is this a picture of Romfo kirke? Please answer yes or no. No
5
- 001f0bfe8464254a.jpg Is this a picture of Saint Catherine of Alexandria church in Warsaw? Please answer yes or no. Yes
6
- 001f0bfe8464254a.jpg Is this a picture of Kaap Skil? Please answer yes or no. No
7
- 0022666a36b80ea5.jpg Is this an image of Hall of Supreme Harmony (Forbidden City)? Please answer yes or no. Yes
8
- 0022666a36b80ea5.jpg Is this an image of Brickegickel? Please answer yes or no. No
9
- 0023bd687cbc0a44.jpg Is this a photo of Utrecht Dom Tower? Please answer yes or no. Yes
10
- 0023bd687cbc0a44.jpg Is this a photo of Great Palace Mosaic Museum? Please answer yes or no. No
11
- 00261324328490fc.jpg Is this an image of Loch Ossian? Please answer yes or no. Yes
12
- 00261324328490fc.jpg Is this an image of Tanemakidaishi? Please answer yes or no. No
13
- 002ae473a76362a6.jpg Is this an image of Gerlache Strait? Please answer yes or no. Yes
14
- 002ae473a76362a6.jpg Is this an image of Schmiedebruch (Naturschutzgebiet)? Please answer yes or no. No
15
- 003f8af9477a8eb8.jpg Is this a photo of Le Destroit? Please answer yes or no. Yes
16
- 003f8af9477a8eb8.jpg Is this a photo of Kharkov Mosque? Please answer yes or no. No
17
- 004543cec064cd0b.jpg Is this a picture of Wollaton Park? Please answer yes or no. Yes
18
- 004543cec064cd0b.jpg Is this a picture of St John's Church, Blackpool? Please answer yes or no. No
19
- 004beea6937b3a8c.jpg Is this a photo of Brussels Park? Please answer yes or no. Yes
20
- 004beea6937b3a8c.jpg Is this a photo of Forest Hills Cemetery (Boston, Massachusetts)? Please answer yes or no. No
21
- 005150f80de6f487.jpg Is this a photo of Schloss Burgpreppach? Please answer yes or no. Yes
22
- 005150f80de6f487.jpg Is this a photo of Pinkas Synagogue? Please answer yes or no. No
23
- 0053894534d1e259.jpg Is this a picture of Goethe- und Schiller-Denkmal (Weimar)? Please answer yes or no. Yes
24
- 0053894534d1e259.jpg Is this a picture of Grey River? Please answer yes or no. No
25
- 0059fc817c5fd5b7.jpg Is this a photo of KLCC Park? Please answer yes or no. Yes
26
- 0059fc817c5fd5b7.jpg Is this a photo of Neath Castle? Please answer yes or no. No
27
- 005c68530bb6ed7c.jpg Is this a photo of Balvenie Castle? Please answer yes or no. Yes
28
- 005c68530bb6ed7c.jpg Is this a photo of Draper Utah Temple? Please answer yes or no. No
29
- 006e3342b57aa3b4.jpg Is this a photo of Larvs kyrka? Please answer yes or no. Yes
30
- 006e3342b57aa3b4.jpg Is this a photo of Geitgallien? Please answer yes or no. No
31
- 0075a4d212539625.jpg Is this a photo of Cardiff Castle? Please answer yes or no. Yes
32
- 0075a4d212539625.jpg Is this a photo of Boudhanath? Please answer yes or no. No
33
- 008053e6bb5afa33.jpg Is this a photo of Rochers des Mourres? Please answer yes or no. Yes
34
- 008053e6bb5afa33.jpg Is this a photo of Schloss Weinfelden? Please answer yes or no. No
35
- 00c1349a9622390c.jpg Is this a photo of Amar Jawan Jyoti (Tomb of the Unknown Soldier)? Please answer yes or no. Yes
36
- 00c1349a9622390c.jpg Is this a photo of Porta Garibaldi (Marsala)? Please answer yes or no. No
37
- 00cae9f165d8d2cc.jpg Is this an image of Fisherman's Bastion? Please answer yes or no. Yes
38
- 00cae9f165d8d2cc.jpg Is this an image of Equestrian statue of George IV, Trafalgar Square, London? Please answer yes or no. No
39
- 00f4fb71575efb0b.jpg Is this a picture of 1965)? Please answer yes or no. Yes
40
- 00f4fb71575efb0b.jpg Is this a picture of Plaza Monumental de Toros de Pueblo Nuevo? Please answer yes or no. No
41
- 00fa476690a260a8.jpg Is this an image of Bathampton Toll Bridge? Please answer yes or no. Yes
42
- 00fa476690a260a8.jpg Is this an image of Moose River Plains Wild Forest? Please answer yes or no. No
43
- 010260e62e7d847d.jpg Is this a photo of Visingsborg? Please answer yes or no. Yes
44
- 010260e62e7d847d.jpg Is this a photo of Teutsche Schule (Schleusingen)? Please answer yes or no. No
45
- 010b5b5c9c461f65.jpg Is this an image of Het Steen? Please answer yes or no. Yes
46
- 010b5b5c9c461f65.jpg Is this an image of Castello di Montalto Dora? Please answer yes or no. No
47
- 01114538f95f1ce8.jpg Is this a picture of Svirzh Castle? Please answer yes or no. Yes
48
- 01114538f95f1ce8.jpg Is this a picture of Bistrica, Ionian Sea? Please answer yes or no. No
49
- 01121b9b3c79afc4.jpg Is this a photo of Alamannenmuseum Ellwangen? Please answer yes or no. Yes
50
- 01121b9b3c79afc4.jpg Is this a photo of Sint-Jozefkerk, Enschede? Please answer yes or no. No
51
- 011a19afda5df3c7.jpg Is this a picture of San Prospero (Reggio Emilia)? Please answer yes or no. Yes
52
- 011a19afda5df3c7.jpg Is this a picture of Lake DeFuniak? Please answer yes or no. No
53
- 012856462a95ada9.jpg Is this a picture of Chingshui Cliff? Please answer yes or no. Yes
54
- 012856462a95ada9.jpg Is this a picture of St. John's Church, Portland? Please answer yes or no. No
55
- 012ea376a16f17bf.jpg Is this a picture of Church of Saint Giles in Prague? Please answer yes or no. Yes
56
- 012ea376a16f17bf.jpg Is this a picture of Pfarrkirche St. Martin an der Raab? Please answer yes or no. No
57
- 013e1a1e887cb915.jpg Is this a picture of Real Casa de Correos, Madrid? Please answer yes or no. Yes
58
- 013e1a1e887cb915.jpg Is this a picture of Ayton Castle, Scottish Borders? Please answer yes or no. No
59
- 0140a7d5446719c3.jpg Is this a photo of Friday Mosque, Herat? Please answer yes or no. Yes
60
- 0140a7d5446719c3.jpg Is this a photo of Hexenturm (Burg (bei Magdeburg))? Please answer yes or no. No
61
- 01416124a7ab211a.jpg Is this a photo of Ajuntament de Mollerussa? Please answer yes or no. Yes
62
- 01416124a7ab211a.jpg Is this a photo of Episcopal Diocese of Northern Indiana? Please answer yes or no. No
63
- 01425c4d35880aad.jpg Is this an image of Museu de Sant Boi de Llobregat? Please answer yes or no. Yes
64
- 01425c4d35880aad.jpg Is this an image of Bezdonnoye Lake, Moscow Oblast? Please answer yes or no. No
65
- 014c50e91cf799c7.jpg Is this a photo of Clearwater Beach, Florida? Please answer yes or no. Yes
66
- 014c50e91cf799c7.jpg Is this a photo of Church of Holy Trinity in Vratislavice nad Nisou? Please answer yes or no. No
67
- 015543ddea466c54.jpg Is this a picture of Galician market square in Skansen, Sanok? Please answer yes or no. Yes
68
- 015543ddea466c54.jpg Is this a picture of Walworth Castle? Please answer yes or no. No
69
- 0169c4235270f65b.jpg Is this a photo of St. Ricarius Church, Aberford? Please answer yes or no. Yes
70
- 0169c4235270f65b.jpg Is this a photo of Schloss Prebberede? Please answer yes or no. No
71
- 016e68628ea6c7ee.jpg Is this an image of Jewish Ceremonial Hall, Prague-Josefov? Please answer yes or no. Yes
72
- 016e68628ea6c7ee.jpg Is this an image of Our Lady Church (Ettlingen)? Please answer yes or no. No
73
- 01862535ce8961ee.jpg Is this an image of Mont Tendre? Please answer yes or no. Yes
74
- 01862535ce8961ee.jpg Is this an image of Ogden Utah Temple? Please answer yes or no. No
75
- 0186742e7963fb3c.jpg Is this a photo of Ozegahara? Please answer yes or no. Yes
76
- 0186742e7963fb3c.jpg Is this a photo of San Giovenale (Orvieto)? Please answer yes or no. No
77
- 01928acd6dfe6cdd.jpg Is this a picture of Watergate Bay? Please answer yes or no. Yes
78
- 01928acd6dfe6cdd.jpg Is this a picture of Cairnpapple Hill? Please answer yes or no. No
79
- 01a6842099d62f22.jpg Is this an image of Clark Veterans Cemetery? Please answer yes or no. Yes
80
- 01a6842099d62f22.jpg Is this an image of Mirdif City Centre? Please answer yes or no. No
81
- 01aca2d30b43d05f.jpg Is this a picture of Monte Minerva (Villanova Monteleone)? Please answer yes or no. Yes
82
- 01aca2d30b43d05f.jpg Is this a picture of Dorfkirche Gnandstein? Please answer yes or no. No
83
- 01b12048bab7439f.jpg Is this a photo of Kaptai Lake? Please answer yes or no. Yes
84
- 01b12048bab7439f.jpg Is this a photo of Castle of the Conception? Please answer yes or no. No
85
- 01b715ceb7050bce.jpg Is this a picture of Kalamita fortress? Please answer yes or no. Yes
86
- 01b715ceb7050bce.jpg Is this a picture of Augsburger Hotelturm? Please answer yes or no. No
87
- 01b9b58a573c45f0.jpg Is this a picture of St Mary Redcliffe? Please answer yes or no. Yes
88
- 01b9b58a573c45f0.jpg Is this a picture of Kirche zur Heiligsten Dreifaltigkeit, Vienna? Please answer yes or no. No
89
- 01bc5557ed2616ad.jpg Is this a photo of Intercession of the Theotokos church in Lutsk? Please answer yes or no. Yes
90
- 01bc5557ed2616ad.jpg Is this a photo of Cap 110? Please answer yes or no. No
91
- 01c0e0ff84631905.jpg Is this a photo of Ribblehead Viaduct? Please answer yes or no. Yes
92
- 01c0e0ff84631905.jpg Is this a photo of Church of Saint George in Koptevo? Please answer yes or no. No
93
- 01d6e386c4a01ab3.jpg Is this a picture of Rotes Rathaus? Please answer yes or no. Yes
94
- 01d6e386c4a01ab3.jpg Is this a picture of Mahipatgad? Please answer yes or no. No
95
- 01d9bef0120557a5.jpg Is this a photo of Andronikov Monastery? Please answer yes or no. Yes
96
- 01d9bef0120557a5.jpg Is this a photo of Ghatkopar? Please answer yes or no. No
97
- 01e198bea8285816.jpg Is this an image of Saint Basil church, Volodymyr-Volynskyi? Please answer yes or no. Yes
98
- 01e198bea8285816.jpg Is this an image of Hoher Markt, Vienna? Please answer yes or no. No
99
- 01f23b4c5253e9c6.jpg Is this a picture of Goethes Gartenhaus? Please answer yes or no. Yes
100
- 01f23b4c5253e9c6.jpg Is this a picture of Lamba, Shetland Islands? Please answer yes or no. No
101
- 01ffc77bdf7fe084.jpg Is this a picture of Oldemorstoft? Please answer yes or no. Yes
102
- 01ffc77bdf7fe084.jpg Is this a picture of Roman Catholic Diocese of Antwerp? Please answer yes or no. No
103
- 0200cce957e9c4a6.jpg Is this a photo of Malmuerta Tower? Please answer yes or no. Yes
104
- 0200cce957e9c4a6.jpg Is this a photo of Monte Lema? Please answer yes or no. No
105
- 0202aac6b0bfbcd8.jpg Is this a picture of Gettysburg National Military Park? Please answer yes or no. Yes
106
- 0202aac6b0bfbcd8.jpg Is this a picture of Auron? Please answer yes or no. No
107
- 0205343362e60daf.jpg Is this a picture of Church of Our Lady of Sorrows in Riga? Please answer yes or no. Yes
108
- 0205343362e60daf.jpg Is this a picture of Simon en Judaskerk (Ootmarsum)? Please answer yes or no. No
109
- 020ae4dd487a8ab0.jpg Is this a photo of Kashueti Church? Please answer yes or no. Yes
110
- 020ae4dd487a8ab0.jpg Is this a photo of Colorado State Capitol? Please answer yes or no. No
111
- 02259144c3f094f0.jpg Is this a picture of The American Adventure? Please answer yes or no. Yes
112
- 02259144c3f094f0.jpg Is this a picture of Langenwaldschanze? Please answer yes or no. No
113
- 0237fc92f6b31aeb.jpg Is this a photo of Abbaye de Mortemer? Please answer yes or no. Yes
114
- 0237fc92f6b31aeb.jpg Is this a photo of St Thomas Rest Park? Please answer yes or no. No
115
- 0240727dbd2b8531.jpg Is this a photo of Nicolaikerk Appingedam? Please answer yes or no. Yes
116
- 0240727dbd2b8531.jpg Is this a photo of Cutimbo? Please answer yes or no. No
117
- 02545ca051c6c480.jpg Is this a photo of Podilski Tovtry National Nature Park? Please answer yes or no. Yes
118
- 02545ca051c6c480.jpg Is this a photo of Lyndonville, Vermont? Please answer yes or no. No
119
- 02598153523880aa.jpg Is this a photo of Marilao Church? Please answer yes or no. Yes
120
- 02598153523880aa.jpg Is this a photo of Madliena, Malta? Please answer yes or no. No
121
- 02737bb70957827d.jpg Is this an image of White Pagoda in Zhakou? Please answer yes or no. Yes
122
- 02737bb70957827d.jpg Is this an image of Norrstrandskyrkan? Please answer yes or no. No
123
- 0273f127895337be.jpg Is this a photo of Ringkirche? Please answer yes or no. Yes
124
- 0273f127895337be.jpg Is this a photo of Huxi Mosque? Please answer yes or no. No
125
- 02785530b6ac4f56.jpg Is this a picture of Church of Nicholas the Wet? Please answer yes or no. Yes
126
- 02785530b6ac4f56.jpg Is this a picture of Razula? Please answer yes or no. No
127
- 028348883685db69.jpg Is this an image of Saint Andrew the Apostle Church? Please answer yes or no. Yes
128
- 028348883685db69.jpg Is this an image of EYE Film Institute Netherlands? Please answer yes or no. No
129
- 029431b10472c228.jpg Is this a picture of Santa Caterina (Sassari)? Please answer yes or no. Yes
130
- 029431b10472c228.jpg Is this a picture of Former Tainan Assembly Hall? Please answer yes or no. No
131
- 0295877d5cd76190.jpg Is this a picture of Groothoofdspoort? Please answer yes or no. Yes
132
- 0295877d5cd76190.jpg Is this a picture of 707 17th Street? Please answer yes or no. No
133
- 02b16429304b00b7.jpg Is this a picture of De Haag? Please answer yes or no. Yes
134
- 02b16429304b00b7.jpg Is this a picture of Villa Melchett? Please answer yes or no. No
135
- 02b7f3ae549582f1.jpg Is this a photo of Pont-canal de Digoin? Please answer yes or no. Yes
136
- 02b7f3ae549582f1.jpg Is this a photo of Trenton Battle Monument? Please answer yes or no. No
137
- 02d11e392d3ab93f.jpg Is this an image of Santa Monica Parish Church in Angat, Bulacan? Please answer yes or no. Yes
138
- 02d11e392d3ab93f.jpg Is this an image of Bangkok City Pillar Shrine? Please answer yes or no. No
139
- 02e38cd5a3850f60.jpg Is this a photo of Palazzo Cavalli Franchetti (Venice)? Please answer yes or no. Yes
140
- 02e38cd5a3850f60.jpg Is this a photo of Isbister Chambered Cairn? Please answer yes or no. No
141
- 02e3e418198427e7.jpg Is this an image of Goldener Reiter? Please answer yes or no. Yes
142
- 02e3e418198427e7.jpg Is this an image of Palacio de la Mosquera? Please answer yes or no. No
143
- 030d9a26b7d5755e.jpg Is this a photo of Medvedgrad? Please answer yes or no. Yes
144
- 030d9a26b7d5755e.jpg Is this a photo of Tammisto? Please answer yes or no. No
145
- 0317376043fb00eb.jpg Is this a photo of Butler's Wharf? Please answer yes or no. Yes
146
- 0317376043fb00eb.jpg Is this a photo of Church of Saints Philip and James (Lelekovice)? Please answer yes or no. No
147
- 03280db41fd4e4f5.jpg Is this a picture of Oxford Street? Please answer yes or no. Yes
148
- 03280db41fd4e4f5.jpg Is this a picture of Blake Fell? Please answer yes or no. No
149
- 034733eb61d663cd.jpg Is this a picture of Colonna dell'Immacolata (Rome)? Please answer yes or no. Yes
150
- 034733eb61d663cd.jpg Is this a picture of Brookmill Park? Please answer yes or no. No
151
- 034d066523bb20d1.jpg Is this a photo of Ibrahim-al-Ibrahim Mosque? Please answer yes or no. Yes
152
- 034d066523bb20d1.jpg Is this a photo of Atami Castle? Please answer yes or no. No
153
- 036b60d84c6ebc63.jpg Is this a photo of Frederik V statue in Amalienborg Palace? Please answer yes or no. Yes
154
- 036b60d84c6ebc63.jpg Is this a photo of Karl-Bittel-Park? Please answer yes or no. No
155
- 03729394d18f7e9a.jpg Is this an image of Sapporo Clock Tower? Please answer yes or no. Yes
156
- 03729394d18f7e9a.jpg Is this an image of Saint Nikolaus Church (Beuster)? Please answer yes or no. No
157
- 0384fd0664c0ca62.jpg Is this an image of St. Martin (Sontheim)? Please answer yes or no. Yes
158
- 0384fd0664c0ca62.jpg Is this an image of Hot Creek (Mono County, California)? Please answer yes or no. No
159
- 038bdff81be029a6.jpg Is this an image of Fosso Reale (Livorno)? Please answer yes or no. Yes
160
- 038bdff81be029a6.jpg Is this an image of Farlington Marshes? Please answer yes or no. No
161
- 039bbdf71cd17b3f.jpg Is this a picture of Qiantang River Bridge? Please answer yes or no. Yes
162
- 039bbdf71cd17b3f.jpg Is this a picture of Casa Museo Boschi Di Stefano (Milan)? Please answer yes or no. No
163
- 03aa5dd2e3aab548.jpg Is this a photo of Central Police Station? Please answer yes or no. Yes
164
- 03aa5dd2e3aab548.jpg Is this a photo of Kontai-ji? Please answer yes or no. No
165
- 03c4b1901e4195f4.jpg Is this an image of St. Johanniskirche Eppendorf? Please answer yes or no. Yes
166
- 03c4b1901e4195f4.jpg Is this an image of Maidenhead Bridge? Please answer yes or no. No
167
- 03c8b2c1306c0038.jpg Is this an image of Ermita de Sant Joan (Montserrat)? Please answer yes or no. Yes
168
- 03c8b2c1306c0038.jpg Is this an image of Hamilton Grange National Memorial? Please answer yes or no. No
169
- 03d5e3bfc958be38.jpg Is this an image of Pietrarsa railway museum? Please answer yes or no. Yes
170
- 03d5e3bfc958be38.jpg Is this an image of Washita Battlefield National Historic Site? Please answer yes or no. No
171
- 03dc7df1f1df7b8f.jpg Is this a picture of Yevhen Paton Bridge? Please answer yes or no. Yes
172
- 03dc7df1f1df7b8f.jpg Is this a picture of Minoan Villa of Makrygialos? Please answer yes or no. No
173
- 03f65f52c0077b6c.jpg Is this a photo of Reading Lighthouse? Please answer yes or no. Yes
174
- 03f65f52c0077b6c.jpg Is this a photo of St Nicholas Kirk, Aberdeen? Please answer yes or no. No
175
- 03f873280d814ae7.jpg Is this a photo of Clarence Dock (Leeds)? Please answer yes or no. Yes
176
- 03f873280d814ae7.jpg Is this a photo of Madonna delle Grazie (Roccastrada)? Please answer yes or no. No
177
- 03f8abf9f8473a6f.jpg Is this a picture of Parque nacional del Teide? Please answer yes or no. Yes
178
- 03f8abf9f8473a6f.jpg Is this a picture of Church of Saint Mary the Virgin, Skiemonys? Please answer yes or no. No
179
- 03fb778d388ad9a0.jpg Is this an image of Mercado Central de Santiago? Please answer yes or no. Yes
180
- 03fb778d388ad9a0.jpg Is this an image of Castelo de Alegrete? Please answer yes or no. No
181
- 041da60e053c5906.jpg Is this a picture of Schloss Weesenstein? Please answer yes or no. Yes
182
- 041da60e053c5906.jpg Is this a picture of Mas Cabrafiga? Please answer yes or no. No
183
- 042ca5291cefe0b2.jpg Is this a picture of Pfarrkirche hl. Augustinus, Perchtoldsdorf? Please answer yes or no. Yes
184
- 042ca5291cefe0b2.jpg Is this a picture of Mark Twain Riverboat? Please answer yes or no. No
185
- 0443da4f4fcdea52.jpg Is this an image of Port of Funchal? Please answer yes or no. Yes
186
- 0443da4f4fcdea52.jpg Is this an image of Rauscherpark? Please answer yes or no. No
187
- 04531b37dfe5c991.jpg Is this a picture of Roebling Suspension Bridge? Please answer yes or no. Yes
188
- 04531b37dfe5c991.jpg Is this a picture of St. James Episcopal Church (Wilmington, North Carolina)? Please answer yes or no. No
189
- 04534ba775aa38ad.jpg Is this an image of Cork City Gaol? Please answer yes or no. Yes
190
- 04534ba775aa38ad.jpg Is this an image of Taramati Baradari? Please answer yes or no. No
191
- 04590c1648dd25a0.jpg Is this an image of Zhejiang Sci-Tech University? Please answer yes or no. Yes
192
- 04590c1648dd25a0.jpg Is this an image of Khalti Lake? Please answer yes or no. No
193
- 045b65ea196dac3f.jpg Is this a photo of Republican architecture in Manizales? Please answer yes or no. Yes
194
- 045b65ea196dac3f.jpg Is this a photo of Kayauchi-banta Cliff? Please answer yes or no. No
195
- 045ec5631638d290.jpg Is this a picture of Baldachin of Saint Peter's Basilica? Please answer yes or no. Yes
196
- 045ec5631638d290.jpg Is this a picture of Jean Baptiste Point Du Sable Homesite? Please answer yes or no. No
197
- 04a5226570dce6c3.jpg Is this a picture of Church of the Assumption of the Virgin Mary in Chrudim? Please answer yes or no. Yes
198
- 04a5226570dce6c3.jpg Is this a picture of Queen Elizabeth Country Park? Please answer yes or no. No
199
- 04b6c84ce89461ec.jpg Is this an image of Tomb of Xerxes I? Please answer yes or no. Yes
200
- 04b6c84ce89461ec.jpg Is this an image of Park HaMesila? Please answer yes or no. No
201
- 04d67117549e07a8.jpg Is this a photo of Laguna de Salinas? Please answer yes or no. Yes
202
- 04d67117549e07a8.jpg Is this a photo of Raspyatsky Monastery (Serpukhov)? Please answer yes or no. No
203
- 04ebe2885134597f.jpg Is this a picture of The South Africa (Delville Wood) National Memorial? Please answer yes or no. Yes
204
- 04ebe2885134597f.jpg Is this a picture of Imogiri? Please answer yes or no. No
205
- 050464e4ebc0b36d.jpg Is this an image of Tai Wong Ye Temple, Wong Chuk Hang? Please answer yes or no. Yes
206
- 050464e4ebc0b36d.jpg Is this an image of Hierve el Agua? Please answer yes or no. No
207
- 05095dd2b6715fc3.jpg Is this an image of Sampsonievsky Cathedral? Please answer yes or no. Yes
208
- 05095dd2b6715fc3.jpg Is this an image of I. and E. Greenwald Steam Engine No. 1058? Please answer yes or no. No
209
- 05685b1070b828f5.jpg Is this a photo of Wurstelprater? Please answer yes or no. Yes
210
- 05685b1070b828f5.jpg Is this a photo of Nanmyaebonthar Sannandawya Sandamuni Pagoda? Please answer yes or no. No
211
- 05b01b255cec2bfb.jpg Is this a photo of Puthoorppilly Sree Krishnaswamy Temple? Please answer yes or no. Yes
212
- 05b01b255cec2bfb.jpg Is this a photo of Villa Reale (Marlia)? Please answer yes or no. No
213
- 05bcf05b4460d2c3.jpg Is this an image of Museo archeologico nazionale dell'Umbria? Please answer yes or no. Yes
214
- 05bcf05b4460d2c3.jpg Is this an image of Mode Gakuen Cocoon Tower? Please answer yes or no. No
215
- 05c3aa404351f407.jpg Is this an image of Pasaje Gutierrez (Valladolid)? Please answer yes or no. Yes
216
- 05c3aa404351f407.jpg Is this an image of Pieve di Santa Maria a Carli? Please answer yes or no. No
217
- 05d56e249af839e7.jpg Is this a photo of Serbian Orthodox Cathedral in Sarajevo? Please answer yes or no. Yes
218
- 05d56e249af839e7.jpg Is this a photo of Seewaldsee (Sankt Koloman)? Please answer yes or no. No
219
- 06134984e2aa9bcc.jpg Is this a picture of Grote Kerk (Groede)? Please answer yes or no. Yes
220
- 06134984e2aa9bcc.jpg Is this a picture of Goldeck? Please answer yes or no. No
221
- 0613d7e8f292ee15.jpg Is this a photo of Museo Archeologico G. Rambotti? Please answer yes or no. Yes
222
- 0613d7e8f292ee15.jpg Is this a photo of Sanrei? Please answer yes or no. No
223
- 062298815e9197e7.jpg Is this a photo of Liuyang Confucius Temple? Please answer yes or no. Yes
224
- 062298815e9197e7.jpg Is this a photo of Astley Castle? Please answer yes or no. No
225
- 06483ba2bff074bc.jpg Is this an image of Museo Universitario del Chopo? Please answer yes or no. Yes
226
- 06483ba2bff074bc.jpg Is this an image of Cedar Park, Seattle, Washington? Please answer yes or no. No
227
- 06740b93ad1f6c02.jpg Is this a picture of Borisoglebsky Monastery (Borisoglebsky)? Please answer yes or no. Yes
228
- 06740b93ad1f6c02.jpg Is this a picture of Aletsch Arena? Please answer yes or no. No
229
- 067ea27ec08c9354.jpg Is this a picture of Schlosskirche St. Aegidien (Bernburg)? Please answer yes or no. Yes
230
- 067ea27ec08c9354.jpg Is this a picture of The Haining? Please answer yes or no. No
231
- 06a85d0b5d70881d.jpg Is this an image of Silwan? Please answer yes or no. Yes
232
- 06a85d0b5d70881d.jpg Is this an image of Jagdschloss Platte? Please answer yes or no. No
233
- 06ab45292ecd8bf7.jpg Is this a picture of Maribor Regional Museum? Please answer yes or no. Yes
234
- 06ab45292ecd8bf7.jpg Is this a picture of Myres Castle? Please answer yes or no. No
235
- 06b6531dab42ccab.jpg Is this a picture of Roland (Riga)? Please answer yes or no. Yes
236
- 06b6531dab42ccab.jpg Is this a picture of Wudangshan Shangdi Temple? Please answer yes or no. No
237
- 06d039ff97afef04.jpg Is this a picture of Arch of Galerius (Thessaloniki)? Please answer yes or no. Yes
238
- 06d039ff97afef04.jpg Is this a picture of Catholic Church of Wanchin? Please answer yes or no. No
239
- 06e453b06a3e4054.jpg Is this an image of Pendeen Lighthouse? Please answer yes or no. Yes
240
- 06e453b06a3e4054.jpg Is this an image of Silberbach (Heubach)? Please answer yes or no. No
241
- 06e927f784642ce4.jpg Is this a picture of Museo Delta Antico? Please answer yes or no. Yes
242
- 06e927f784642ce4.jpg Is this a picture of OSTEC Exhibition Hall? Please answer yes or no. No
243
- 070c8d6326a87397.jpg Is this an image of Lanxmeerpoort? Please answer yes or no. Yes
244
- 070c8d6326a87397.jpg Is this an image of Tramway du Cap-Ferret? Please answer yes or no. No
245
- 0713451824a443d4.jpg Is this a picture of Castillo de Sax? Please answer yes or no. Yes
246
- 0713451824a443d4.jpg Is this a picture of Roman Catholic Diocese of Orlando? Please answer yes or no. No
247
- 0743e58605497887.jpg Is this an image of Capitoline temple (Brescia)? Please answer yes or no. Yes
248
- 0743e58605497887.jpg Is this an image of Burg Horn? Please answer yes or no. No
249
- 075264ec41057049.jpg Is this a picture of Imatrankoski? Please answer yes or no. Yes
250
- 075264ec41057049.jpg Is this a picture of Jarlsberg travbane? Please answer yes or no. No
251
- 07551cf96af77299.jpg Is this a photo of Friedhof Wilmersdorf? Please answer yes or no. Yes
252
- 07551cf96af77299.jpg Is this a photo of Partisan cemetery in Mostar? Please answer yes or no. No
253
- 075f8d86303a020e.jpg Is this a photo of Church of the Nativity (Bethlehem)? Please answer yes or no. Yes
254
- 075f8d86303a020e.jpg Is this a photo of Pennsylvania Railroad Office Building? Please answer yes or no. No
255
- 07ac52cf4620519f.jpg Is this a photo of San Pietro (Reggio Emilia)? Please answer yes or no. Yes
256
- 07ac52cf4620519f.jpg Is this a photo of Plaza de toros de La Condomina? Please answer yes or no. No
257
- 07b04584e67cb39d.jpg Is this a picture of Smithfield, Dublin? Please answer yes or no. Yes
258
- 07b04584e67cb39d.jpg Is this a picture of Novyi Svit Sanctuary? Please answer yes or no. No
259
- 07ed43dd266b669b.jpg Is this a photo of Rocky Mountain National Park? Please answer yes or no. Yes
260
- 07ed43dd266b669b.jpg Is this a photo of Col-des-Roches? Please answer yes or no. No
261
- 083dd5a3ba3d96dc.jpg Is this a picture of Teddington Cemetery? Please answer yes or no. Yes
262
- 083dd5a3ba3d96dc.jpg Is this a picture of Khutir Nadia? Please answer yes or no. No
263
- 08442f24f3c25565.jpg Is this a photo of Abdijkerk Loosduinen? Please answer yes or no. Yes
264
- 08442f24f3c25565.jpg Is this a photo of Rinsey Head? Please answer yes or no. No
265
- 08a0d2fd3fe6dc95.jpg Is this a picture of Dreifaltigkeitskirche (Ulm)? Please answer yes or no. Yes
266
- 08a0d2fd3fe6dc95.jpg Is this a picture of Wat Pa Mamuang? Please answer yes or no. No
267
- 08c43cd8f2be6709.jpg Is this a picture of Parchi di Nervi? Please answer yes or no. Yes
268
- 08c43cd8f2be6709.jpg Is this a picture of Altlayer Schweiz? Please answer yes or no. No
269
- 09232aeaf46dec64.jpg Is this a picture of Canadian Museum of Nature? Please answer yes or no. Yes
270
- 09232aeaf46dec64.jpg Is this a picture of Gwangtonggwan? Please answer yes or no. No
271
- 092d0859ff6424de.jpg Is this a photo of Kasteel Lunenburg? Please answer yes or no. Yes
272
- 092d0859ff6424de.jpg Is this a photo of Thomas Paine Cottage? Please answer yes or no. No
273
- 092e075e8e44c228.jpg Is this a picture of ChaoTianGong? Please answer yes or no. Yes
274
- 092e075e8e44c228.jpg Is this a picture of Pygmalion Theater Wien? Please answer yes or no. No
275
- 093ad5564a004653.jpg Is this a picture of Crescent Lake (Dunhuang)? Please answer yes or no. Yes
276
- 093ad5564a004653.jpg Is this a picture of Kirjurinluoto Arena? Please answer yes or no. No
277
- 0962855b67159733.jpg Is this a photo of Monastery of Monsalud? Please answer yes or no. Yes
278
- 0962855b67159733.jpg Is this a photo of ToonSeum? Please answer yes or no. No
279
- 09a51d517f1a72d5.jpg Is this a picture of Ford's Theatre? Please answer yes or no. Yes
280
- 09a51d517f1a72d5.jpg Is this a picture of Burg Hachen? Please answer yes or no. No
281
- 09ae0628a75e4fcc.jpg Is this a picture of Onze-Lieve-Vrouw Hemelvaartkerk (Zottegem)? Please answer yes or no. Yes
282
- 09ae0628a75e4fcc.jpg Is this a picture of Salvation Army in Canada? Please answer yes or no. No
283
- 09b7acf87c8046ec.jpg Is this an image of Church of the Epiphany (Yaroslavl)? Please answer yes or no. Yes
284
- 09b7acf87c8046ec.jpg Is this an image of Szlenkier Palace? Please answer yes or no. No
285
- 09b94a2f304a540c.jpg Is this a photo of Abbaye Notre-Dame du Val? Please answer yes or no. Yes
286
- 09b94a2f304a540c.jpg Is this a photo of Hotarumachi, Osaka? Please answer yes or no. No
287
- 09ce89cbf237da03.jpg Is this a picture of Church of Saint Mary Magdalene (Brno)? Please answer yes or no. Yes
288
- 09ce89cbf237da03.jpg Is this a picture of Wain Wath Force? Please answer yes or no. No
289
- 0a3035bfca2ab920.jpg Is this an image of Ortigia? Please answer yes or no. Yes
290
- 0a3035bfca2ab920.jpg Is this an image of Montmayeur castle? Please answer yes or no. No
291
- 0ab2ed007db301d5.jpg Is this a picture of Highgate Cemetery? Please answer yes or no. Yes
292
- 0ab2ed007db301d5.jpg Is this a picture of Isola Maggiore? Please answer yes or no. No
293
- 0acc12d1261d99ca.jpg Is this an image of Wat Chedi Si Hong? Please answer yes or no. Yes
294
- 0acc12d1261d99ca.jpg Is this an image of Leschi Park? Please answer yes or no. No
295
- 0adb088e24d88123.jpg Is this a picture of Iglesia de Santo Domingo (La Serena)? Please answer yes or no. Yes
296
- 0adb088e24d88123.jpg Is this a picture of Canelles de Baix (la Vall de Bianya)? Please answer yes or no. No
297
- 0ae3355e0a54db21.jpg Is this a photo of Grimspound? Please answer yes or no. Yes
298
- 0ae3355e0a54db21.jpg Is this a photo of Lough Owel? Please answer yes or no. No
299
- 0b4240b5ef69362e.jpg Is this a photo of Saint Anne church in Nowa Ruda? Please answer yes or no. Yes
300
- 0b4240b5ef69362e.jpg Is this a photo of Bray Wick? Please answer yes or no. No
301
- 0b64944086932c90.jpg Is this a picture of Alte Pfarrkirche St. Martin (Moosach)? Please answer yes or no. Yes
302
- 0b64944086932c90.jpg Is this a picture of Maya Devi Temple, Lumbini? Please answer yes or no. No
303
- 0b8fa4152f1bc3ed.jpg Is this a picture of Lac du Salagou? Please answer yes or no. Yes
304
- 0b8fa4152f1bc3ed.jpg Is this a picture of Holsljunga kyrka? Please answer yes or no. No
305
- 0ba6fa7ade050d49.jpg Is this a photo of Churches in Zemaiciu Kalvarija? Please answer yes or no. Yes
306
- 0ba6fa7ade050d49.jpg Is this a photo of Waiola Church? Please answer yes or no. No
307
- 0bd72080836eac97.jpg Is this a picture of Castelo de Sesimbra? Please answer yes or no. Yes
308
- 0bd72080836eac97.jpg Is this a picture of Gouffre Berger? Please answer yes or no. No
309
- 0bdd954254310e73.jpg Is this a photo of Melrose House? Please answer yes or no. Yes
310
- 0bdd954254310e73.jpg Is this a photo of Former water tower (Tsubame, Niigata)? Please answer yes or no. No
311
- 0c06fe97f38f6f88.jpg Is this a photo of Belvoir Castle? Please answer yes or no. Yes
312
- 0c06fe97f38f6f88.jpg Is this a photo of Su'ao Cold Spring? Please answer yes or no. No
313
- 0c6b0c5d2a401285.jpg Is this a photo of Pelham Crescent? Please answer yes or no. Yes
314
- 0c6b0c5d2a401285.jpg Is this a photo of Manila Ocean Park? Please answer yes or no. No
315
- 0cc5201e37961a1d.jpg Is this a photo of Adare Manor? Please answer yes or no. Yes
316
- 0cc5201e37961a1d.jpg Is this a photo of Leopoldspark? Please answer yes or no. No
317
- 0cd8fda9668b3ed2.jpg Is this a picture of Church of the Holy Mandylion (Klyazma)? Please answer yes or no. Yes
318
- 0cd8fda9668b3ed2.jpg Is this a picture of Kalayar Kovil? Please answer yes or no. No
319
- 0cf2e28266a0f1a1.jpg Is this an image of Piazza Bra (Verona)? Please answer yes or no. Yes
320
- 0cf2e28266a0f1a1.jpg Is this an image of Keeneland? Please answer yes or no. No
321
- 0cf48b827c9c99de.jpg Is this a photo of Beatus Rhenanus Bridge? Please answer yes or no. Yes
322
- 0cf48b827c9c99de.jpg Is this a photo of Ossian Hall? Please answer yes or no. No
323
- 0d23f6c345b68c05.jpg Is this an image of Monte Olivia? Please answer yes or no. Yes
324
- 0d23f6c345b68c05.jpg Is this an image of Crackstate? Please answer yes or no. No
325
- 0d70bceb2557d1f4.jpg Is this an image of Spaso-Preobrazhensky Cathedral (Pereslavl-Zalessky)? Please answer yes or no. Yes
326
- 0d70bceb2557d1f4.jpg Is this an image of Manta Rota? Please answer yes or no. No
327
- 0d7716f4aed0c9fa.jpg Is this a photo of Willemsbrug in Rotterdam? Please answer yes or no. Yes
328
- 0d7716f4aed0c9fa.jpg Is this a photo of Grumentum, Parco archeologico? Please answer yes or no. No
329
- 0d89a8a5e8c269e4.jpg Is this an image of Burg Normannstein? Please answer yes or no. Yes
330
- 0d89a8a5e8c269e4.jpg Is this an image of Cape Borda Lighthouse? Please answer yes or no. No
331
- 0e04b4f7f9801ea9.jpg Is this a picture of Vase sculpture, Bremen? Please answer yes or no. Yes
332
- 0e04b4f7f9801ea9.jpg Is this a picture of Mount Wilhelm? Please answer yes or no. No
333
- 0e0511c6e33636ca.jpg Is this a picture of Victoria Stadium? Please answer yes or no. Yes
334
- 0e0511c6e33636ca.jpg Is this a picture of Villa Belvedere (San Giuliano Terme)? Please answer yes or no. No
335
- 0e553d5d99e21c32.jpg Is this a picture of Mustafa Pasha Bridge? Please answer yes or no. Yes
336
- 0e553d5d99e21c32.jpg Is this a picture of Scrattons Eco Park? Please answer yes or no. No
337
- 0eb857c972ddc4c8.jpg Is this an image of Nabq Protected Area? Please answer yes or no. Yes
338
- 0eb857c972ddc4c8.jpg Is this an image of Maletsunyane Falls? Please answer yes or no. No
339
- 0f92862c0366ab60.jpg Is this a photo of Cotehele? Please answer yes or no. Yes
340
- 0f92862c0366ab60.jpg Is this a photo of Mozirje Grove? Please answer yes or no. No
341
- 0fc48f210ea7d363.jpg Is this a photo of Schauenburg (Oberkirch)? Please answer yes or no. Yes
342
- 0fc48f210ea7d363.jpg Is this a photo of Dartford Library? Please answer yes or no. No
343
- 100e5402cfb2dfcf.jpg Is this a picture of Nanzenji? Please answer yes or no. Yes
344
- 100e5402cfb2dfcf.jpg Is this a picture of Bagakain Lake? Please answer yes or no. No
345
- 101786bd2ec5800e.jpg Is this a picture of Church of the Merciful Saviour in Kuskovo (Moscow)? Please answer yes or no. Yes
346
- 101786bd2ec5800e.jpg Is this a picture of Central Board of Secondary Education? Please answer yes or no. No
347
- 1023b7ec812bb4c6.jpg Is this a photo of St. Joseph's Cathedral, Dunedin? Please answer yes or no. Yes
348
- 1023b7ec812bb4c6.jpg Is this a photo of Fagervik Church? Please answer yes or no. No
349
- 1053f4cebfceabd8.jpg Is this an image of Woolwich foot tunnel? Please answer yes or no. Yes
350
- 1053f4cebfceabd8.jpg Is this an image of Kirchenbibliothek St. Marien Barth? Please answer yes or no. No
351
- 10a944858a4283e0.jpg Is this a picture of Harding Tomb? Please answer yes or no. Yes
352
- 10a944858a4283e0.jpg Is this a picture of Kartause Ittingen? Please answer yes or no. No
353
- 10b2b8741f283a3c.jpg Is this a photo of De Bataaf, Winterswijk? Please answer yes or no. Yes
354
- 10b2b8741f283a3c.jpg Is this a photo of Porte Guillaume-Lion? Please answer yes or no. No
355
- 11b6bb2c35f4ee22.jpg Is this an image of Ku-ring-gai Chase National Park? Please answer yes or no. Yes
356
- 11b6bb2c35f4ee22.jpg Is this an image of Saint Mark's Coptic Orthodox Cathedral, Cairo? Please answer yes or no. No
357
- 127be7d34a21e5ed.jpg Is this a picture of Beachy Head? Please answer yes or no. Yes
358
- 127be7d34a21e5ed.jpg Is this a picture of Jindo Bridge? Please answer yes or no. No
359
- 130846b4f29fe4ba.jpg Is this a photo of Duomo (Viterbo)? Please answer yes or no. Yes
360
- 130846b4f29fe4ba.jpg Is this a photo of Raffles Praslin? Please answer yes or no. No
361
- 13a563a1a8ef38ae.jpg Is this a photo of Torre del Rellotge d'Olesa de Montserrat? Please answer yes or no. Yes
362
- 13a563a1a8ef38ae.jpg Is this a photo of Salzburg Museum? Please answer yes or no. No
363
- 14d3aba340d2fba9.jpg Is this an image of Regard Saint-Martin? Please answer yes or no. Yes
364
- 14d3aba340d2fba9.jpg Is this an image of Mount Donna Buang? Please answer yes or no. No
365
- 15b75eb6fca4aeb6.jpg Is this a photo of City Duma building (Saint Petersburg)? Please answer yes or no. Yes
366
- 15b75eb6fca4aeb6.jpg Is this a photo of Komadome-Hachiman-jinja? Please answer yes or no. No
367
- 15ec5d2c0898a56e.jpg Is this a photo of Kids Marina Rotterdam? Please answer yes or no. Yes
368
- 15ec5d2c0898a56e.jpg Is this a photo of Kirkwood Observatory? Please answer yes or no. No
369
- 15f326a030396dba.jpg Is this a picture of Macquarie Centre? Please answer yes or no. Yes
370
- 15f326a030396dba.jpg Is this a picture of California Historical Landmarks in San Mateo County, California? Please answer yes or no. No
371
- 162a77504f4e686e.jpg Is this an image of Wieliczka Castle? Please answer yes or no. Yes
372
- 162a77504f4e686e.jpg Is this an image of Naval Station Guantanamo Bay? Please answer yes or no. No
373
- 16b76bdd7eaaef1b.jpg Is this a picture of Evangelische Kirche Weinfelden? Please answer yes or no. Yes
374
- 16b76bdd7eaaef1b.jpg Is this a picture of Gorg Blau? Please answer yes or no. No
375
- 16d55614b78b6b8b.jpg Is this an image of Church of the Assumption in Bishche? Please answer yes or no. Yes
376
- 16d55614b78b6b8b.jpg Is this an image of Water of Girvan? Please answer yes or no. No
377
- 17e0cd732e35d4aa.jpg Is this a photo of Millennium Tower (San Francisco, California)? Please answer yes or no. Yes
378
- 17e0cd732e35d4aa.jpg Is this a photo of New Orleans Botanical Garden? Please answer yes or no. No
379
- 18608ca3b785abf8.jpg Is this a picture of Solvognen? Please answer yes or no. Yes
380
- 18608ca3b785abf8.jpg Is this a picture of Schenley Farms National Historic District? Please answer yes or no. No
381
- 197e440391d309f8.jpg Is this a picture of Skansin? Please answer yes or no. Yes
382
- 197e440391d309f8.jpg Is this a picture of Bardstown Historic District? Please answer yes or no. No
383
- 19fe04377265454e.jpg Is this a picture of Alexander Nevsky Church, Belgrade? Please answer yes or no. Yes
384
- 19fe04377265454e.jpg Is this a picture of Seppiko-Mineyama Hyogo Prefectural Nature Park? Please answer yes or no. No
385
- 1a32959819038291.jpg Is this an image of Id Kah Mosque? Please answer yes or no. Yes
386
- 1a32959819038291.jpg Is this an image of Katharinenkirche (Zwickau)? Please answer yes or no. No
387
- 1ac0e3c493073995.jpg Is this an image of Church of Saint John the Baptist (Jihlava)? Please answer yes or no. Yes
388
- 1ac0e3c493073995.jpg Is this an image of Silte kyrka? Please answer yes or no. No
389
- 1d4be36153741972.jpg Is this a picture of Marie Guyart Building? Please answer yes or no. Yes
390
- 1d4be36153741972.jpg Is this a picture of Motol? Please answer yes or no. No
391
- 1f233b807b660d25.jpg Is this a photo of Aussichtsturm Pyramidenkogel? Please answer yes or no. Yes
392
- 1f233b807b660d25.jpg Is this a photo of Vvedenskoe cemetery? Please answer yes or no. No
393
- 27a4267b9ea26cd0.jpg Is this an image of Oude Salviuskerk (Limbricht)? Please answer yes or no. Yes
394
- 27a4267b9ea26cd0.jpg Is this an image of Festung Heldrungen? Please answer yes or no. No
395
- 2a895eb889d6fd99.jpg Is this an image of Beijing Guozijian? Please answer yes or no. Yes
396
- 2a895eb889d6fd99.jpg Is this an image of Klinikkirche (Pfafferode)? Please answer yes or no. No
397
- 2f25654bcb445452.jpg Is this a photo of Rinku Gate Tower Building? Please answer yes or no. Yes
398
- 2f25654bcb445452.jpg Is this a photo of Bigorski Monastery? Please answer yes or no. No
399
- 3c89eb4043bcefac.jpg Is this a picture of Begijnhofkerk (Mechelen)? Please answer yes or no. Yes
400
- 3c89eb4043bcefac.jpg Is this a picture of Panther Hollow Lake? Please answer yes or no. No
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
eval/vlm/eval/mme/Your_Results/numerical_calculation.txt DELETED
@@ -1,40 +0,0 @@
1
- 0001.png Is the answer to the arithmetic question in the image 225? Please answer yes or no. Yes
2
- 0001.png Is the answer to the arithmetic question in the image 1515? Please answer yes or no. No
3
- 0002.png Is the answer to the arithmetic question in the image 340? Please answer yes or no. Yes
4
- 0002.png Is the answer to the arithmetic question in the image 17? Please answer yes or no. No
5
- 0003.png Is the answer to the arithmetic question in the image 65? Please answer yes or no. Yes
6
- 0003.png Is the answer to the arithmetic question in the image 56? Please answer yes or no. No
7
- 0004.png Is the answer to the arithmetic question in the image 33? Please answer yes or no. Yes
8
- 0004.png Is the answer to the arithmetic question in the image 32? Please answer yes or no. No
9
- 0005.png Is the area of the square in the picture equal to 40? Please answer yes or no. Yes
10
- 0005.png Is the area of the square in the picture equal to 8? Please answer yes or no. No
11
- 0006.png Is the area of the square in the picture equal to 9? Please answer yes or no. Yes
12
- 0006.png Is the area of the square in the picture equal to 3? Please answer yes or no. No
13
- 0007.png Is the answer to the arithmetic question in the image 49? Please answer yes or no. Yes
14
- 0007.png Is the answer to the arithmetic question in the image 39? Please answer yes or no. No
15
- 0008.png Should the value of "a" in the picture equal 7? Please answer yes or no. Yes
16
- 0008.png Should the value of "a" in the picture equal 14? Please answer yes or no. No
17
- 0009.png Should the value of "a" in the picture equal 2? Please answer yes or no. Yes
18
- 0009.png Should the value of "a" in the picture equal 3? Please answer yes or no. No
19
- 0010.png Is the answer to the arithmetic question in the image 13? Please answer yes or no. Yes
20
- 0010.png Is the answer to the arithmetic question in the image 12? Please answer yes or no. No
21
- 0011.png Is the area of the parallelogram in the picture equal to 24? Please answer yes or no. Yes
22
- 0011.png Is the area of the parallelogram in the picture equal to 6? Please answer yes or no. No
23
- 0012.png Should the value of "a" in the picture equal 9? Please answer yes or no. Yes
24
- 0012.png Should the value of "a" in the picture equal 1? Please answer yes or no. No
25
- 0013.png Is the area of the right triangle in the picture equal to 24? Please answer yes or no. Yes
26
- 0013.png Is the area of the right triangle in the picture equal to 8? Please answer yes or no. No
27
- 0014.png Is the answer to the arithmetic question in the image 200? Please answer yes or no. Yes
28
- 0014.png Is the answer to the arithmetic question in the image 400? Please answer yes or no. No
29
- 0015.png Is the answer to the arithmetic question in the image 11? Please answer yes or no. Yes
30
- 0015.png Is the answer to the arithmetic question in the image 111? Please answer yes or no. No
31
- 0016.png Is the answer to the arithmetic question in the image 9? Please answer yes or no. Yes
32
- 0016.png Is the answer to the arithmetic question in the image 16? Please answer yes or no. No
33
- 0017.png Is the answer to the arithmetic question in the image 14? Please answer yes or no. Yes
34
- 0017.png Is the answer to the arithmetic question in the image 83? Please answer yes or no. No
35
- 0018.png Should the value of "a" in the picture equal 3? Please answer yes or no. Yes
36
- 0018.png Should the value of "a" in the picture equal 2? Please answer yes or no. No
37
- 0019.png Is the answer to the arithmetic question in the image 18? Please answer yes or no. Yes
38
- 0019.png Is the answer to the arithmetic question in the image 36? Please answer yes or no. No
39
- 0020.png Is the answer to the arithmetic question in the image 9? Please answer yes or no. Yes
40
- 0020.png Is the answer to the arithmetic question in the image 45? Please answer yes or no. No
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
eval/vlm/eval/mme/Your_Results/position.txt DELETED
@@ -1,60 +0,0 @@
1
- 000000006471.jpg Is the cricket bat above the batter's body? Please answer yes or no. Yes
2
- 000000006471.jpg Is the cricket bat under the batter's body Please answer yes or no. No
3
- 000000007281.jpg Is the sea behind people in the image? Please answer yes or no. Yes
4
- 000000007281.jpg Is the sea in front of people in the image? Please answer yes or no. No
5
- 000000014038.jpg Is the refrigerator on the left side of the picture? Please answer yes or no. Yes
6
- 000000014038.jpg Is the refrigerator on the right side of the picture Please answer yes or no. No
7
- 000000031248.jpg Is there a sofa in the middle of potted plants in the image? Please answer yes or no. Yes
8
- 000000031248.jpg Is there a sofa in the right side of potted plants in the image? Please answer yes or no. No
9
- 000000048504.jpg Is the gray elephant in front of the brown elephant? Please answer yes or no. Yes
10
- 000000048504.jpg Is the brown elephant in front of the gray elephant? Please answer yes or no. No
11
- 000000052007.jpg Are the pedestrians on the right of the bus? Please answer yes or no. Yes
12
- 000000052007.jpg Are the pedestrians on the left of the bus? Please answer yes or no. No
13
- 000000056127.jpg Is the light above the fire hydrant in the image? Please answer yes or no. Yes
14
- 000000056127.jpg Is the light under the fire hydrant in the image? Please answer yes or no. No
15
- 000000062025.jpg Is the trash can under the cup in the image? Please answer yes or no. Yes
16
- 000000062025.jpg Is the trash can above the cup in the image? Please answer yes or no. No
17
- 000000062808.jpg Is the phone above the pizza in the image? Please answer yes or no. Yes
18
- 000000062808.jpg Is the phone under the pizza in the image? Please answer yes or no. No
19
- 000000067213.jpg Is the dog above the pool in the image? Please answer yes or no. Yes
20
- 000000067213.jpg Is the dog under the pool in the image? Please answer yes or no. No
21
- 000000097994.jpg Is the light above the computer in the image? Please answer yes or no. Yes
22
- 000000097994.jpg Is the light under the computer in the image? Please answer yes or no. No
23
- 000000204871.jpg Is the car on the right side of the fire hydrant in the picture? Please answer yes or no. Yes
24
- 000000204871.jpg Is the car on the left side of the fire hydrant in the picture? Please answer yes or no. No
25
- 000000206487.jpg Is the motorcycle on the right side of the bus? Please answer yes or no. Yes
26
- 000000206487.jpg Is the motorcycle on the left side of the bus Please answer yes or no. No
27
- 000000211825.jpg Is the cake on the left side of the camera? Please answer yes or no. Yes
28
- 000000211825.jpg Is the cake on the right side of the camera? Please answer yes or no. No
29
- 000000212800.jpg Is the blue umbrella under the black umbrella? Please answer yes or no. Yes
30
- 000000212800.jpg Is the blue umbrella above the black umbrella? Please answer yes or no. No
31
- 000000395701.jpg Is the TV on the left of the bookshelf? Please answer yes or no. Yes
32
- 000000395701.jpg Is the TV on the right of the bookshelf? Please answer yes or no. No
33
- 000000395801.jpg Is the clock above people? Please answer yes or no. Yes
34
- 000000395801.jpg Is the clock under people? Please answer yes or no. No
35
- 000000405970.jpg Is the grey sofa on the right of the TV? Please answer yes or no. Yes
36
- 000000405970.jpg Is the grey sofa on the left of the TV? Please answer yes or no. No
37
- 000000426241.jpg Is the white mouse on the right of the black keyboard? Please answer yes or no. Yes
38
- 000000426241.jpg Is the white mouse on the left of the black keyboard? Please answer yes or no. No
39
- 000000450303.jpg Is the monitor on top of a person? Please answer yes or no. Yes
40
- 000000450303.jpg Is the monitor under the person? Please answer yes or no. No
41
- 000000458410.jpg Is the TV on the left of the lamp? Please answer yes or no. Yes
42
- 000000458410.jpg Is the TV on the right of the lamp? Please answer yes or no. No
43
- 000000472046.jpg Is the pineapple on the left of the pot in the image? Please answer yes or no. Yes
44
- 000000472046.jpg Is the pineapple on the right of the pot in the image? Please answer yes or no. No
45
- 000000477955.jpg Is the person under the kite? Please answer yes or no. Yes
46
- 000000477955.jpg Is the person above the kite? Please answer yes or no. No
47
- 000000482585.jpg Is the person on the right of the train? Please answer yes or no. Yes
48
- 000000482585.jpg Is the person on the left of the train? Please answer yes or no. No
49
- 000000494869.jpg Is the baby on the right of the dog in the image? Please answer yes or no. Yes
50
- 000000494869.jpg Is the baby on the left of the dog in the image? Please answer yes or no. No
51
- 000000509699.jpg Is the mirror above the TV? Please answer yes or no. Yes
52
- 000000509699.jpg Is the mirror under the TV? Please answer yes or no. No
53
- 000000519569.jpg Is the vase on the left of the bottle? Please answer yes or no. Yes
54
- 000000519569.jpg Is the vase on the right of the bottle? Please answer yes or no. No
55
- 000000530162.jpg Is the big red and black umbrella on the top of people? Please answer yes or no. Yes
56
- 000000530162.jpg Is the big red and black umbrella under people? Please answer yes or no. No
57
- 000000551660.jpg Is the spoon in the bowl? Please answer yes or no. Yes
58
- 000000551660.jpg Is the spoon out of the bowl? Please answer yes or no. No
59
- 000000578922.jpg Is the vase on the left of the toothbrush? Please answer yes or no. Yes
60
- 000000578922.jpg Is the vase on the right of the toothbrush? Please answer yes or no. No
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
eval/vlm/eval/mme/Your_Results/posters.txt DELETED
@@ -1,294 +0,0 @@
1
- tt0048028.jpg Is this movie directed by elia kazan? Please answer yes or no. Yes
2
- tt0048028.jpg Is this movie directed by maneesh sharma? Please answer yes or no. No
3
- tt0053221.jpg Is this movie titled rio bravo (1959)? Please answer yes or no. Yes
4
- tt0053221.jpg Is this movie titled the matrix (1999)? Please answer yes or no. No
5
- tt0062622.jpg Is this movie originated from the country or region of uk? Please answer yes or no. Yes
6
- tt0062622.jpg Is this movie originated from the country or region of china? Please answer yes or no. No
7
- tt0063442.jpg Is this movie originated from the country or region of usa? Please answer yes or no. Yes
8
- tt0063442.jpg Is this movie originated from the country or region of japan? Please answer yes or no. No
9
- tt0065724.jpg Is this movie directed by bob rafelson? Please answer yes or no. Yes
10
- tt0065724.jpg Is this movie directed by anthony minghella? Please answer yes or no. No
11
- tt0067116.jpg Is this movie originated from the country or region of usa? Please answer yes or no. Yes
12
- tt0067116.jpg Is this movie originated from the country or region of uk? Please answer yes or no. No
13
- tt0067140.jpg Is this movie titled duck, you sucker (1971)? Please answer yes or no. Yes
14
- tt0067140.jpg Is this movie titled crimson tide (1995)? Please answer yes or no. No
15
- tt0067185.jpg Is this movie directed by hal ashby? Please answer yes or no. Yes
16
- tt0067185.jpg Is this movie directed by john hillcoat? Please answer yes or no. No
17
- tt0068646.jpg Is this movie titled the godfather (1972)? Please answer yes or no. Yes
18
- tt0068646.jpg Is this movie titled bring on the melody (2017)? Please answer yes or no. No
19
- tt0070291.jpg Is this movie originated from the country or region of usa? Please answer yes or no. Yes
20
- tt0070291.jpg Is this movie originated from the country or region of spain? Please answer yes or no. No
21
- tt0071315.jpg Is this movie titled chinatown (1974)? Please answer yes or no. Yes
22
- tt0071315.jpg Is this movie titled planet of the apes (1968)? Please answer yes or no. No
23
- tt0074119.jpg Is this movie directed by alan j. pakula? Please answer yes or no. Yes
24
- tt0074119.jpg Is this movie directed by stanley kubrick? Please answer yes or no. No
25
- tt0074749.jpg Is this movie originated from the country or region of usa? Please answer yes or no. Yes
26
- tt0074749.jpg Is this movie originated from the country or region of venezuela? Please answer yes or no. No
27
- tt0082186.jpg Is this movie directed by desmond davis? Please answer yes or no. Yes
28
- tt0082186.jpg Is this movie directed by edward zwick? Please answer yes or no. No
29
- tt0083907.jpg Is this movie originated from the country or region of usa? Please answer yes or no. Yes
30
- tt0083907.jpg Is this movie originated from the country or region of bulgaria? Please answer yes or no. No
31
- tt0083946.jpg Is this movie originated from the country or region of west germany? Please answer yes or no. Yes
32
- tt0083946.jpg Is this movie originated from the country or region of denmark? Please answer yes or no. No
33
- tt0084787.jpg Is this movie titled the thing (1982)? Please answer yes or no. Yes
34
- tt0084787.jpg Is this movie titled jay and silent bob strike back (2001)? Please answer yes or no. No
35
- tt0086250.jpg Is this movie directed by brian de palma? Please answer yes or no. Yes
36
- tt0086250.jpg Is this movie directed by patrice leconte? Please answer yes or no. No
37
- tt0093565.jpg Is this movie titled moonstruck (1987)? Please answer yes or no. Yes
38
- tt0093565.jpg Is this movie titled now you see me (2013)? Please answer yes or no. No
39
- tt0093773.jpg Is this movie titled predator (1987)? Please answer yes or no. Yes
40
- tt0093773.jpg Is this movie titled the cell (2000)? Please answer yes or no. No
41
- tt0094291.jpg Is this movie directed by oliver stone? Please answer yes or no. Yes
42
- tt0094291.jpg Is this movie directed by raja gosnell? Please answer yes or no. No
43
- tt0096446.jpg Is this movie directed by ron howard? Please answer yes or no. Yes
44
- tt0096446.jpg Is this movie directed by peter jackson? Please answer yes or no. No
45
- tt0096463.jpg Is this movie directed by mike nichols? Please answer yes or no. Yes
46
- tt0096463.jpg Is this movie directed by cary joji fukunaga? Please answer yes or no. No
47
- tt0096895.jpg Is this movie originated from the country or region of usa? Please answer yes or no. Yes
48
- tt0096895.jpg Is this movie originated from the country or region of china? Please answer yes or no. No
49
- tt0097576.jpg Is this movie directed by steven spielberg? Please answer yes or no. Yes
50
- tt0097576.jpg Is this movie directed by francis ford coppola? Please answer yes or no. No
51
- tt0098635.jpg Is this movie originated from the country or region of usa? Please answer yes or no. Yes
52
- tt0098635.jpg Is this movie originated from the country or region of spain? Please answer yes or no. No
53
- tt0098724.jpg Is this movie titled sex, lies, and videotape (1989)? Please answer yes or no. Yes
54
- tt0098724.jpg Is this movie titled final destination (2000)? Please answer yes or no. No
55
- tt0099653.jpg Is this movie directed by jerry zucker? Please answer yes or no. Yes
56
- tt0099653.jpg Is this movie directed by felix chong,alan mak? Please answer yes or no. No
57
- tt0100112.jpg Is this movie originated from the country or region of france? Please answer yes or no. Yes
58
- tt0100112.jpg Is this movie originated from the country or region of new zealand? Please answer yes or no. No
59
- tt0100150.jpg Is this movie originated from the country or region of usa? Please answer yes or no. Yes
60
- tt0100150.jpg Is this movie originated from the country or region of hong kong? Please answer yes or no. No
61
- tt0100935.jpg Is this movie originated from the country or region of usa? Please answer yes or no. Yes
62
- tt0100935.jpg Is this movie originated from the country or region of canada? Please answer yes or no. No
63
- tt0101889.jpg Is this movie titled the fisher king (1991)? Please answer yes or no. Yes
64
- tt0101889.jpg Is this movie titled a good day to die hard (2013)? Please answer yes or no. No
65
- tt0101921.jpg Is this movie originated from the country or region of usa? Please answer yes or no. Yes
66
- tt0101921.jpg Is this movie originated from the country or region of australia? Please answer yes or no. No
67
- tt0107653.jpg Is this movie titled naked (1993)? Please answer yes or no. Yes
68
- tt0107653.jpg Is this movie titled captain america: civil war (2016)? Please answer yes or no. No
69
- tt0107808.jpg Is this movie titled a perfect world (1993)? Please answer yes or no. Yes
70
- tt0107808.jpg Is this movie titled harold and maude (1971)? Please answer yes or no. No
71
- tt0110201.jpg Is this movie titled hail the judge (1994)? Please answer yes or no. Yes
72
- tt0110201.jpg Is this movie titled batman (1989)? Please answer yes or no. No
73
- tt0112740.jpg Is this movie titled crimson tide (1995)? Please answer yes or no. Yes
74
- tt0112740.jpg Is this movie titled insidious: the last key (2018)? Please answer yes or no. No
75
- tt0113497.jpg Is this movie titled jumanji (1995)? Please answer yes or no. Yes
76
- tt0113497.jpg Is this movie titled morgan (2016)? Please answer yes or no. No
77
- tt0114369.jpg Is this movie titled se7en (1995)? Please answer yes or no. Yes
78
- tt0114369.jpg Is this movie titled a perfect world (1993)? Please answer yes or no. No
79
- tt0114388.jpg Is this movie directed by ang lee? Please answer yes or no. Yes
80
- tt0114388.jpg Is this movie directed by david lowery? Please answer yes or no. No
81
- tt0116209.jpg Is this movie directed by anthony minghella? Please answer yes or no. Yes
82
- tt0116209.jpg Is this movie directed by john cassavetes? Please answer yes or no. No
83
- tt0116629.jpg Is this movie originated from the country or region of usa? Please answer yes or no. Yes
84
- tt0116629.jpg Is this movie originated from the country or region of australia? Please answer yes or no. No
85
- tt0118636.jpg Is this movie titled apt pupil (1998)? Please answer yes or no. Yes
86
- tt0118636.jpg Is this movie titled a good day to die hard (2013)? Please answer yes or no. No
87
- tt0118655.jpg Is this movie directed by jay roach? Please answer yes or no. Yes
88
- tt0118655.jpg Is this movie directed by peter jackson? Please answer yes or no. No
89
- tt0118715.jpg Is this movie originated from the country or region of usa? Please answer yes or no. Yes
90
- tt0118715.jpg Is this movie originated from the country or region of venezuela? Please answer yes or no. No
91
- tt0119303.jpg Is this movie originated from the country or region of usa? Please answer yes or no. Yes
92
- tt0119303.jpg Is this movie originated from the country or region of spain? Please answer yes or no. No
93
- tt0120738.jpg Is this movie originated from the country or region of usa? Please answer yes or no. Yes
94
- tt0120738.jpg Is this movie originated from the country or region of germany? Please answer yes or no. No
95
- tt0129387.jpg Is this movie originated from the country or region of usa? Please answer yes or no. Yes
96
- tt0129387.jpg Is this movie originated from the country or region of germany? Please answer yes or no. No
97
- tt0133093.jpg Is this movie directed by lana wachowski,lilly wachowski? Please answer yes or no. Yes
98
- tt0133093.jpg Is this movie directed by siu-tung ching? Please answer yes or no. No
99
- tt0163025.jpg Is this movie directed by joe johnston? Please answer yes or no. Yes
100
- tt0163025.jpg Is this movie directed by adam robitel? Please answer yes or no. No
101
- tt0166924.jpg Is this movie titled mulholland drive (2001)? Please answer yes or no. Yes
102
- tt0166924.jpg Is this movie titled lucky number slevin (2006)? Please answer yes or no. No
103
- tt0167261.jpg Is this movie directed by peter jackson? Please answer yes or no. Yes
104
- tt0167261.jpg Is this movie directed by gabe ibáñez? Please answer yes or no. No
105
- tt0182789.jpg Is this movie titled bicentennial man (1999)? Please answer yes or no. Yes
106
- tt0182789.jpg Is this movie titled ocean's eleven (2001)? Please answer yes or no. No
107
- tt0187078.jpg Is this movie titled gone in 60 seconds (2000)? Please answer yes or no. Yes
108
- tt0187078.jpg Is this movie titled avatar (2009)? Please answer yes or no. No
109
- tt0195714.jpg Is this movie directed by james wong? Please answer yes or no. Yes
110
- tt0195714.jpg Is this movie directed by bob rafelson? Please answer yes or no. No
111
- tt0209958.jpg Is this movie titled the cell (2000)? Please answer yes or no. Yes
112
- tt0209958.jpg Is this movie titled the matrix revolutions (2003)? Please answer yes or no. No
113
- tt0232500.jpg Is this movie titled the fast and the furious (2001)? Please answer yes or no. Yes
114
- tt0232500.jpg Is this movie titled east of eden (1955)? Please answer yes or no. No
115
- tt0240772.jpg Is this movie directed by steven soderbergh? Please answer yes or no. Yes
116
- tt0240772.jpg Is this movie directed by paul mcguigan? Please answer yes or no. No
117
- tt0242653.jpg Is this movie titled the matrix revolutions (2003)? Please answer yes or no. Yes
118
- tt0242653.jpg Is this movie titled sense and sensibility (1995)? Please answer yes or no. No
119
- tt0244244.jpg Is this movie originated from the country or region of usa? Please answer yes or no. Yes
120
- tt0244244.jpg Is this movie originated from the country or region of argentina? Please answer yes or no. No
121
- tt0258463.jpg Is this movie originated from the country or region of usa? Please answer yes or no. Yes
122
- tt0258463.jpg Is this movie originated from the country or region of italy? Please answer yes or no. No
123
- tt0261392.jpg Is this movie titled jay and silent bob strike back (2001)? Please answer yes or no. Yes
124
- tt0261392.jpg Is this movie titled avatar (2009)? Please answer yes or no. No
125
- tt0264395.jpg Is this movie originated from the country or region of germany? Please answer yes or no. Yes
126
- tt0264395.jpg Is this movie originated from the country or region of australia? Please answer yes or no. No
127
- tt0266697.jpg Is this movie directed by quentin tarantino? Please answer yes or no. Yes
128
- tt0266697.jpg Is this movie directed by peyton reed? Please answer yes or no. No
129
- tt0268978.jpg Is this movie titled a beautiful mind (2001)? Please answer yes or no. Yes
130
- tt0268978.jpg Is this movie titled blue jasmine (2013)? Please answer yes or no. No
131
- tt0318627.jpg Is this movie titled resident evil: apocalypse (2004)? Please answer yes or no. Yes
132
- tt0318627.jpg Is this movie titled the meddler (2015)? Please answer yes or no. No
133
- tt0328107.jpg Is this movie titled man on fire (2004)? Please answer yes or no. Yes
134
- tt0328107.jpg Is this movie titled real steel (2011)? Please answer yes or no. No
135
- tt0338751.jpg Is this movie directed by martin scorsese? Please answer yes or no. Yes
136
- tt0338751.jpg Is this movie directed by chris columbus? Please answer yes or no. No
137
- tt0341495.jpg Is this movie directed by siu-tung ching? Please answer yes or no. Yes
138
- tt0341495.jpg Is this movie directed by lorenzo vigas? Please answer yes or no. No
139
- tt0351977.jpg Is this movie directed by kevin bray? Please answer yes or no. Yes
140
- tt0351977.jpg Is this movie directed by joe johnston? Please answer yes or no. No
141
- tt0369702.jpg Is this movie originated from the country or region of spain? Please answer yes or no. Yes
142
- tt0369702.jpg Is this movie originated from the country or region of france? Please answer yes or no. No
143
- tt0373469.jpg Is this movie directed by shane black? Please answer yes or no. Yes
144
- tt0373469.jpg Is this movie directed by dennis dugan? Please answer yes or no. No
145
- tt0378194.jpg Is this movie directed by quentin tarantino? Please answer yes or no. Yes
146
- tt0378194.jpg Is this movie directed by todd phillips? Please answer yes or no. No
147
- tt0379786.jpg Is this movie titled serenity (2005)? Please answer yes or no. Yes
148
- tt0379786.jpg Is this movie titled bad genius (2017)? Please answer yes or no. No
149
- tt0393109.jpg Is this movie titled brick (2005)? Please answer yes or no. Yes
150
- tt0393109.jpg Is this movie titled sense and sensibility (1995)? Please answer yes or no. No
151
- tt0399201.jpg Is this movie directed by michael bay? Please answer yes or no. Yes
152
- tt0399201.jpg Is this movie directed by angelina jolie? Please answer yes or no. No
153
- tt0425210.jpg Is this movie titled lucky number slevin (2006)? Please answer yes or no. Yes
154
- tt0425210.jpg Is this movie titled the godfather (1972)? Please answer yes or no. No
155
- tt0433035.jpg Is this movie originated from the country or region of usa? Please answer yes or no. Yes
156
- tt0433035.jpg Is this movie originated from the country or region of new zealand? Please answer yes or no. No
157
- tt0443680.jpg Is this movie originated from the country or region of usa? Please answer yes or no. Yes
158
- tt0443680.jpg Is this movie originated from the country or region of germany? Please answer yes or no. No
159
- tt0449088.jpg Is this movie originated from the country or region of usa? Please answer yes or no. Yes
160
- tt0449088.jpg Is this movie originated from the country or region of japan? Please answer yes or no. No
161
- tt0450259.jpg Is this movie originated from the country or region of usa? Please answer yes or no. Yes
162
- tt0450259.jpg Is this movie originated from the country or region of china? Please answer yes or no. No
163
- tt0462499.jpg Is this movie titled rambo (2008)? Please answer yes or no. Yes
164
- tt0462499.jpg Is this movie titled walking tall (2004)? Please answer yes or no. No
165
- tt0499549.jpg Is this movie directed by james cameron? Please answer yes or no. Yes
166
- tt0499549.jpg Is this movie directed by jerry zucker? Please answer yes or no. No
167
- tt0780653.jpg Is this movie titled the wolfman (2010)? Please answer yes or no. Yes
168
- tt0780653.jpg Is this movie titled wild at heart (1990)? Please answer yes or no. No
169
- tt0829482.jpg Is this movie directed by greg mottola? Please answer yes or no. Yes
170
- tt0829482.jpg Is this movie directed by jing wong? Please answer yes or no. No
171
- tt0848228.jpg Is this movie titled the avengers (2012)? Please answer yes or no. Yes
172
- tt0848228.jpg Is this movie titled wolf warrior 2 (2017)? Please answer yes or no. No
173
- tt0898367.jpg Is this movie directed by john hillcoat? Please answer yes or no. Yes
174
- tt0898367.jpg Is this movie directed by franklin j. schaffner? Please answer yes or no. No
175
- tt0942385.jpg Is this movie titled tropic thunder (2008)? Please answer yes or no. Yes
176
- tt0942385.jpg Is this movie titled bad teacher (2011)? Please answer yes or no. No
177
- tt0993846.jpg Is this movie titled the wolf of wall street (2013)? Please answer yes or no. Yes
178
- tt0993846.jpg Is this movie titled lucky number slevin (2006)? Please answer yes or no. No
179
- tt1017460.jpg Is this movie directed by vincenzo natali? Please answer yes or no. Yes
180
- tt1017460.jpg Is this movie directed by raja gosnell? Please answer yes or no. No
181
- tt1057500.jpg Is this movie directed by clint eastwood? Please answer yes or no. Yes
182
- tt1057500.jpg Is this movie directed by john cassavetes? Please answer yes or no. No
183
- tt1068680.jpg Is this movie titled yes man (2008)? Please answer yes or no. Yes
184
- tt1068680.jpg Is this movie titled rio bravo (1959)? Please answer yes or no. No
185
- tt1099212.jpg Is this movie originated from the country or region of usa? Please answer yes or no. Yes
186
- tt1099212.jpg Is this movie originated from the country or region of japan? Please answer yes or no. No
187
- tt1119646.jpg Is this movie directed by todd phillips? Please answer yes or no. Yes
188
- tt1119646.jpg Is this movie directed by franklin j. schaffner? Please answer yes or no. No
189
- tt1124037.jpg Is this movie directed by gary ross? Please answer yes or no. Yes
190
- tt1124037.jpg Is this movie directed by francis ford coppola? Please answer yes or no. No
191
- tt1229822.jpg Is this movie titled jane eyre (2011)? Please answer yes or no. Yes
192
- tt1229822.jpg Is this movie titled kiss kiss bang bang (2005)? Please answer yes or no. No
193
- tt1284575.jpg Is this movie originated from the country or region of usa? Please answer yes or no. Yes
194
- tt1284575.jpg Is this movie originated from the country or region of bulgaria? Please answer yes or no. No
195
- tt1291150.jpg Is this movie directed by jonathan liebesman? Please answer yes or no. Yes
196
- tt1291150.jpg Is this movie directed by masahide ichii? Please answer yes or no. No
197
- tt1300851.jpg Is this movie originated from the country or region of usa? Please answer yes or no. Yes
198
- tt1300851.jpg Is this movie originated from the country or region of germany? Please answer yes or no. No
199
- tt1305806.jpg Is this movie titled the secret in their eyes (2009)? Please answer yes or no. Yes
200
- tt1305806.jpg Is this movie titled ocean's eleven (2001)? Please answer yes or no. No
201
- tt1343092.jpg Is this movie directed by baz luhrmann? Please answer yes or no. Yes
202
- tt1343092.jpg Is this movie directed by lorenzo vigas? Please answer yes or no. No
203
- tt1385826.jpg Is this movie titled the adjustment bureau (2011)? Please answer yes or no. Yes
204
- tt1385826.jpg Is this movie titled the last of sheila (1973)? Please answer yes or no. No
205
- tt1403865.jpg Is this movie directed by ethan coen,joel coen? Please answer yes or no. Yes
206
- tt1403865.jpg Is this movie directed by john hillcoat? Please answer yes or no. No
207
- tt1438176.jpg Is this movie originated from the country or region of usa? Please answer yes or no. Yes
208
- tt1438176.jpg Is this movie originated from the country or region of west germany? Please answer yes or no. No
209
- tt1454029.jpg Is this movie titled the help (2011)? Please answer yes or no. Yes
210
- tt1454029.jpg Is this movie titled avatar (2009)? Please answer yes or no. No
211
- tt1560747.jpg Is this movie originated from the country or region of usa? Please answer yes or no. Yes
212
- tt1560747.jpg Is this movie originated from the country or region of canada? Please answer yes or no. No
213
- tt1564367.jpg Is this movie titled just go with it (2011)? Please answer yes or no. Yes
214
- tt1564367.jpg Is this movie titled journey to the west (2013)? Please answer yes or no. No
215
- tt1606378.jpg Is this movie originated from the country or region of usa? Please answer yes or no. Yes
216
- tt1606378.jpg Is this movie originated from the country or region of uk? Please answer yes or no. No
217
- tt1637725.jpg Is this movie titled ted (2012)? Please answer yes or no. Yes
218
- tt1637725.jpg Is this movie titled lost in space (1998)? Please answer yes or no. No
219
- tt1670345.jpg Is this movie titled now you see me (2013)? Please answer yes or no. Yes
220
- tt1670345.jpg Is this movie titled bicentennial man (1999)? Please answer yes or no. No
221
- tt1703957.jpg Is this movie titled genius (2016)? Please answer yes or no. Yes
222
- tt1703957.jpg Is this movie titled fan (2016)? Please answer yes or no. No
223
- tt1722484.jpg Is this movie directed by hermine huntgeburth? Please answer yes or no. Yes
224
- tt1722484.jpg Is this movie directed by todd phillips? Please answer yes or no. No
225
- tt1800241.jpg Is this movie directed by david o. russell? Please answer yes or no. Yes
226
- tt1800241.jpg Is this movie directed by raja gosnell? Please answer yes or no. No
227
- tt1809398.jpg Is this movie titled unbroken (2014)? Please answer yes or no. Yes
228
- tt1809398.jpg Is this movie titled home alone 3 (1997)? Please answer yes or no. No
229
- tt1971325.jpg Is this movie originated from the country or region of bulgaria? Please answer yes or no. Yes
230
- tt1971325.jpg Is this movie originated from the country or region of spain? Please answer yes or no. No
231
- tt1974419.jpg Is this movie titled the neon demon (2016)? Please answer yes or no. Yes
232
- tt1974419.jpg Is this movie titled man on fire (2004)? Please answer yes or no. No
233
- tt2017561.jpg Is this movie directed by stephen chow,chi-kin kwok? Please answer yes or no. Yes
234
- tt2017561.jpg Is this movie directed by craig gillespie? Please answer yes or no. No
235
- tt2078768.jpg Is this movie originated from the country or region of hong kong? Please answer yes or no. Yes
236
- tt2078768.jpg Is this movie originated from the country or region of venezuela? Please answer yes or no. No
237
- tt2132285.jpg Is this movie titled the bling ring (2013)? Please answer yes or no. Yes
238
- tt2132285.jpg Is this movie titled tropic thunder (2008)? Please answer yes or no. No
239
- tt2238032.jpg Is this movie titled skiptrace (2016)? Please answer yes or no. Yes
240
- tt2238032.jpg Is this movie titled the bourne identity (2002)? Please answer yes or no. No
241
- tt2334873.jpg Is this movie titled blue jasmine (2013)? Please answer yes or no. Yes
242
- tt2334873.jpg Is this movie titled a good day to die hard (2013)? Please answer yes or no. No
243
- tt2788732.jpg Is this movie titled pete's dragon (2016)? Please answer yes or no. Yes
244
- tt2788732.jpg Is this movie titled willow (1988)? Please answer yes or no. No
245
- tt2802144.jpg Is this movie directed by matthew vaughn? Please answer yes or no. Yes
246
- tt2802144.jpg Is this movie directed by dietrich brüggemann? Please answer yes or no. No
247
- tt2908856.jpg Is this movie directed by israel horovitz? Please answer yes or no. Yes
248
- tt2908856.jpg Is this movie directed by mike nichols? Please answer yes or no. No
249
- tt2980516.jpg Is this movie titled the theory of everything (2014)? Please answer yes or no. Yes
250
- tt2980516.jpg Is this movie titled stations of the cross (2014)? Please answer yes or no. No
251
- tt3077214.jpg Is this movie titled suffragette (2015)? Please answer yes or no. Yes
252
- tt3077214.jpg Is this movie titled east of eden (1955)? Please answer yes or no. No
253
- tt3316960.jpg Is this movie originated from the country or region of usa? Please answer yes or no. Yes
254
- tt3316960.jpg Is this movie originated from the country or region of west germany? Please answer yes or no. No
255
- tt3465916.jpg Is this movie originated from the country or region of germany? Please answer yes or no. Yes
256
- tt3465916.jpg Is this movie originated from the country or region of spain? Please answer yes or no. No
257
- tt3495026.jpg Is this movie titled fan (2016)? Please answer yes or no. Yes
258
- tt3495026.jpg Is this movie titled from afar (2015)? Please answer yes or no. No
259
- tt3498820.jpg Is this movie originated from the country or region of usa? Please answer yes or no. Yes
260
- tt3498820.jpg Is this movie originated from the country or region of germany? Please answer yes or no. No
261
- tt3700804.jpg Is this movie originated from the country or region of usa? Please answer yes or no. Yes
262
- tt3700804.jpg Is this movie originated from the country or region of uk? Please answer yes or no. No
263
- tt3824458.jpg Is this movie titled tangerine (2015)? Please answer yes or no. Yes
264
- tt3824458.jpg Is this movie titled miller's crossing (1990)? Please answer yes or no. No
265
- tt3860916.jpg Is this movie directed by ben howling? Please answer yes or no. Yes
266
- tt3860916.jpg Is this movie directed by quentin tarantino? Please answer yes or no. No
267
- tt4046784.jpg Is this movie originated from the country or region of usa? Please answer yes or no. Yes
268
- tt4046784.jpg Is this movie originated from the country or region of uk? Please answer yes or no. No
269
- tt4242158.jpg Is this movie titled lost in hong kong (2015)? Please answer yes or no. Yes
270
- tt4242158.jpg Is this movie titled harold and maude (1971)? Please answer yes or no. No
271
- tt4273292.jpg Is this movie directed by babak anvari? Please answer yes or no. Yes
272
- tt4273292.jpg Is this movie directed by ethan coen,joel coen? Please answer yes or no. No
273
- tt4501454.jpg Is this movie directed by lorene scafaria? Please answer yes or no. Yes
274
- tt4501454.jpg Is this movie directed by herbert ross? Please answer yes or no. No
275
- tt4520364.jpg Is this movie directed by luke scott? Please answer yes or no. Yes
276
- tt4520364.jpg Is this movie directed by dominic sena? Please answer yes or no. No
277
- tt4651520.jpg Is this movie originated from the country or region of usa? Please answer yes or no. Yes
278
- tt4651520.jpg Is this movie originated from the country or region of china? Please answer yes or no. No
279
- tt4721400.jpg Is this movie directed by lorenzo vigas? Please answer yes or no. Yes
280
- tt4721400.jpg Is this movie directed by jonathan liebesman? Please answer yes or no. No
281
- tt4972062.jpg Is this movie directed by mike birbiglia? Please answer yes or no. Yes
282
- tt4972062.jpg Is this movie directed by david fincher? Please answer yes or no. No
283
- tt5564148.jpg Is this movie directed by masahide ichii? Please answer yes or no. Yes
284
- tt5564148.jpg Is this movie directed by dietrich brüggemann? Please answer yes or no. No
285
- tt5688868.jpg Is this movie titled primal rage: the legend of konga (2018)? Please answer yes or no. Yes
286
- tt5688868.jpg Is this movie titled the neon demon (2016)? Please answer yes or no. No
287
- tt5726086.jpg Is this movie directed by adam robitel? Please answer yes or no. Yes
288
- tt5726086.jpg Is this movie directed by gore verbinski? Please answer yes or no. No
289
- tt6788942.jpg Is this movie originated from the country or region of thailand? Please answer yes or no. Yes
290
- tt6788942.jpg Is this movie originated from the country or region of argentina? Please answer yes or no. No
291
- tt7055592.jpg Is this movie titled brotherhood of blades ii: the infernal battlefield (2017)? Please answer yes or no. Yes
292
- tt7055592.jpg Is this movie titled stations of the cross (2014)? Please answer yes or no. No
293
- tt7131870.jpg Is this movie directed by jing wu? Please answer yes or no. Yes
294
- tt7131870.jpg Is this movie directed by david lynch? Please answer yes or no. No
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
eval/vlm/eval/mme/Your_Results/scene.txt DELETED
@@ -1,400 +0,0 @@
1
- Places365_val_00000001.jpg Is this picture captured in a place of greenhouse indoor? Please answer yes or no. Yes
2
- Places365_val_00000001.jpg Is this picture captured in a place of waiting room? Please answer yes or no. No
3
- Places365_val_00000002.jpg Is this photo taken in a place of wet bar? Please answer yes or no. Yes
4
- Places365_val_00000002.jpg Is this photo taken in a place of stage indoor? Please answer yes or no. No
5
- Places365_val_00000003.jpg Is this picture captured in a place of clean room? Please answer yes or no. Yes
6
- Places365_val_00000003.jpg Is this picture captured in a place of bookstore? Please answer yes or no. No
7
- Places365_val_00000004.jpg Is this picture captured in a place of golf course? Please answer yes or no. Yes
8
- Places365_val_00000004.jpg Is this picture captured in a place of computer room? Please answer yes or no. No
9
- Places365_val_00000005.jpg Is this picture captured in a place of rock arch? Please answer yes or no. Yes
10
- Places365_val_00000005.jpg Is this picture captured in a place of desert sand? Please answer yes or no. No
11
- Places365_val_00000006.jpg Is this photo taken in a place of corridor? Please answer yes or no. Yes
12
- Places365_val_00000006.jpg Is this photo taken in a place of jail cell? Please answer yes or no. No
13
- Places365_val_00000007.jpg Does this image describe a place of canyon? Please answer yes or no. Yes
14
- Places365_val_00000007.jpg Does this image describe a place of basement? Please answer yes or no. No
15
- Places365_val_00000008.jpg Is this picture captured in a place of dining room? Please answer yes or no. Yes
16
- Places365_val_00000008.jpg Is this picture captured in a place of ball pit? Please answer yes or no. No
17
- Places365_val_00000009.jpg Is this picture captured in a place of forest broadleaf? Please answer yes or no. Yes
18
- Places365_val_00000009.jpg Is this picture captured in a place of swamp? Please answer yes or no. No
19
- Places365_val_00000010.jpg Does this image describe a place of shopping mall indoor? Please answer yes or no. Yes
20
- Places365_val_00000010.jpg Does this image describe a place of mosque outdoor? Please answer yes or no. No
21
- Places365_val_00000011.jpg Is this photo taken in a place of baseball field? Please answer yes or no. Yes
22
- Places365_val_00000011.jpg Is this photo taken in a place of bus station indoor? Please answer yes or no. No
23
- Places365_val_00000012.jpg Does this image describe a place of campus? Please answer yes or no. Yes
24
- Places365_val_00000012.jpg Does this image describe a place of sandbox? Please answer yes or no. No
25
- Places365_val_00000013.jpg Is this picture captured in a place of beach house? Please answer yes or no. Yes
26
- Places365_val_00000013.jpg Is this picture captured in a place of alcove? Please answer yes or no. No
27
- Places365_val_00000014.jpg Does this image describe a place of art gallery? Please answer yes or no. Yes
28
- Places365_val_00000014.jpg Does this image describe a place of volleyball court outdoor? Please answer yes or no. No
29
- Places365_val_00000015.jpg Does this image describe a place of bus interior? Please answer yes or no. Yes
30
- Places365_val_00000015.jpg Does this image describe a place of butchers shop? Please answer yes or no. No
31
- Places365_val_00000016.jpg Does this image describe a place of gymnasium indoor? Please answer yes or no. Yes
32
- Places365_val_00000016.jpg Does this image describe a place of crevasse? Please answer yes or no. No
33
- Places365_val_00000017.jpg Is this picture captured in a place of glacier? Please answer yes or no. Yes
34
- Places365_val_00000017.jpg Is this picture captured in a place of fishpond? Please answer yes or no. No
35
- Places365_val_00000018.jpg Is this photo taken in a place of nursing home? Please answer yes or no. Yes
36
- Places365_val_00000018.jpg Is this photo taken in a place of server room? Please answer yes or no. No
37
- Places365_val_00000019.jpg Does this image describe a place of storage room? Please answer yes or no. Yes
38
- Places365_val_00000019.jpg Does this image describe a place of aquarium? Please answer yes or no. No
39
- Places365_val_00000020.jpg Is this picture captured in a place of florist shop indoor? Please answer yes or no. Yes
40
- Places365_val_00000020.jpg Is this picture captured in a place of office? Please answer yes or no. No
41
- Places365_val_00000021.jpg Is this picture captured in a place of restaurant kitchen? Please answer yes or no. Yes
42
- Places365_val_00000021.jpg Is this picture captured in a place of garage outdoor? Please answer yes or no. No
43
- Places365_val_00000022.jpg Is this photo taken in a place of recreation room? Please answer yes or no. Yes
44
- Places365_val_00000022.jpg Is this photo taken in a place of runway? Please answer yes or no. No
45
- Places365_val_00000023.jpg Does this image describe a place of schoolhouse? Please answer yes or no. Yes
46
- Places365_val_00000023.jpg Does this image describe a place of raft? Please answer yes or no. No
47
- Places365_val_00000024.jpg Does this image describe a place of amusement arcade? Please answer yes or no. Yes
48
- Places365_val_00000024.jpg Does this image describe a place of medina? Please answer yes or no. No
49
- Places365_val_00000025.jpg Is this photo taken in a place of ocean? Please answer yes or no. Yes
50
- Places365_val_00000025.jpg Is this photo taken in a place of sauna? Please answer yes or no. No
51
- Places365_val_00000026.jpg Does this image describe a place of river? Please answer yes or no. Yes
52
- Places365_val_00000026.jpg Does this image describe a place of corral? Please answer yes or no. No
53
- Places365_val_00000027.jpg Is this photo taken in a place of pub indoor? Please answer yes or no. Yes
54
- Places365_val_00000027.jpg Is this photo taken in a place of basement? Please answer yes or no. No
55
- Places365_val_00000028.jpg Is this picture captured in a place of lecture room? Please answer yes or no. Yes
56
- Places365_val_00000028.jpg Is this picture captured in a place of aqueduct? Please answer yes or no. No
57
- Places365_val_00000029.jpg Is this photo taken in a place of japanese garden? Please answer yes or no. Yes
58
- Places365_val_00000029.jpg Is this photo taken in a place of pharmacy? Please answer yes or no. No
59
- Places365_val_00000030.jpg Does this image describe a place of motel? Please answer yes or no. Yes
60
- Places365_val_00000030.jpg Does this image describe a place of toyshop? Please answer yes or no. No
61
- Places365_val_00000031.jpg Does this image describe a place of assembly line? Please answer yes or no. Yes
62
- Places365_val_00000031.jpg Does this image describe a place of beer garden? Please answer yes or no. No
63
- Places365_val_00000032.jpg Does this image describe a place of campsite? Please answer yes or no. Yes
64
- Places365_val_00000032.jpg Does this image describe a place of elevator shaft? Please answer yes or no. No
65
- Places365_val_00000033.jpg Is this photo taken in a place of florist shop indoor? Please answer yes or no. Yes
66
- Places365_val_00000033.jpg Is this photo taken in a place of sushi bar? Please answer yes or no. No
67
- Places365_val_00000034.jpg Does this image describe a place of racecourse? Please answer yes or no. Yes
68
- Places365_val_00000034.jpg Does this image describe a place of galley? Please answer yes or no. No
69
- Places365_val_00000035.jpg Is this photo taken in a place of kennel outdoor? Please answer yes or no. Yes
70
- Places365_val_00000035.jpg Is this photo taken in a place of bathroom? Please answer yes or no. No
71
- Places365_val_00000036.jpg Is this picture captured in a place of bus interior? Please answer yes or no. Yes
72
- Places365_val_00000036.jpg Is this picture captured in a place of mansion? Please answer yes or no. No
73
- Places365_val_00000037.jpg Does this image describe a place of dressing room? Please answer yes or no. Yes
74
- Places365_val_00000037.jpg Does this image describe a place of chemistry lab? Please answer yes or no. No
75
- Places365_val_00000038.jpg Does this image describe a place of wind farm? Please answer yes or no. Yes
76
- Places365_val_00000038.jpg Does this image describe a place of volleyball court outdoor? Please answer yes or no. No
77
- Places365_val_00000039.jpg Is this picture captured in a place of auto factory? Please answer yes or no. Yes
78
- Places365_val_00000039.jpg Is this picture captured in a place of tree farm? Please answer yes or no. No
79
- Places365_val_00000040.jpg Is this picture captured in a place of beach? Please answer yes or no. Yes
80
- Places365_val_00000040.jpg Is this picture captured in a place of library outdoor? Please answer yes or no. No
81
- Places365_val_00000041.jpg Is this photo taken in a place of mountain? Please answer yes or no. Yes
82
- Places365_val_00000041.jpg Is this photo taken in a place of formal garden? Please answer yes or no. No
83
- Places365_val_00000042.jpg Does this image describe a place of pavilion? Please answer yes or no. Yes
84
- Places365_val_00000042.jpg Does this image describe a place of stable? Please answer yes or no. No
85
- Places365_val_00000043.jpg Does this image describe a place of tree house? Please answer yes or no. Yes
86
- Places365_val_00000043.jpg Does this image describe a place of patio? Please answer yes or no. No
87
- Places365_val_00000044.jpg Is this photo taken in a place of coffee shop? Please answer yes or no. Yes
88
- Places365_val_00000044.jpg Is this photo taken in a place of elevator lobby? Please answer yes or no. No
89
- Places365_val_00000045.jpg Is this photo taken in a place of skyscraper? Please answer yes or no. Yes
90
- Places365_val_00000045.jpg Is this photo taken in a place of forest broadleaf? Please answer yes or no. No
91
- Places365_val_00000046.jpg Does this image describe a place of street? Please answer yes or no. Yes
92
- Places365_val_00000046.jpg Does this image describe a place of golf course? Please answer yes or no. No
93
- Places365_val_00000047.jpg Is this picture captured in a place of alley? Please answer yes or no. Yes
94
- Places365_val_00000047.jpg Is this picture captured in a place of boardwalk? Please answer yes or no. No
95
- Places365_val_00000048.jpg Is this photo taken in a place of supermarket? Please answer yes or no. Yes
96
- Places365_val_00000048.jpg Is this photo taken in a place of creek? Please answer yes or no. No
97
- Places365_val_00000049.jpg Is this picture captured in a place of arena hockey? Please answer yes or no. Yes
98
- Places365_val_00000049.jpg Is this picture captured in a place of ski slope? Please answer yes or no. No
99
- Places365_val_00000050.jpg Is this picture captured in a place of zen garden? Please answer yes or no. Yes
100
- Places365_val_00000050.jpg Is this picture captured in a place of bazaar indoor? Please answer yes or no. No
101
- Places365_val_00000051.jpg Is this picture captured in a place of library indoor? Please answer yes or no. Yes
102
- Places365_val_00000051.jpg Is this picture captured in a place of orchard? Please answer yes or no. No
103
- Places365_val_00000052.jpg Is this photo taken in a place of ice skating rink indoor? Please answer yes or no. Yes
104
- Places365_val_00000052.jpg Is this photo taken in a place of wind farm? Please answer yes or no. No
105
- Places365_val_00000053.jpg Is this picture captured in a place of arena hockey? Please answer yes or no. Yes
106
- Places365_val_00000053.jpg Is this picture captured in a place of loading dock? Please answer yes or no. No
107
- Places365_val_00000054.jpg Does this image describe a place of chalet? Please answer yes or no. Yes
108
- Places365_val_00000054.jpg Does this image describe a place of tower? Please answer yes or no. No
109
- Places365_val_00000055.jpg Does this image describe a place of bedchamber? Please answer yes or no. Yes
110
- Places365_val_00000055.jpg Does this image describe a place of music studio? Please answer yes or no. No
111
- Places365_val_00000056.jpg Is this photo taken in a place of botanical garden? Please answer yes or no. Yes
112
- Places365_val_00000056.jpg Is this photo taken in a place of legislative chamber? Please answer yes or no. No
113
- Places365_val_00000057.jpg Is this picture captured in a place of galley? Please answer yes or no. Yes
114
- Places365_val_00000057.jpg Is this picture captured in a place of physics laboratory? Please answer yes or no. No
115
- Places365_val_00000058.jpg Does this image describe a place of department store? Please answer yes or no. Yes
116
- Places365_val_00000058.jpg Does this image describe a place of rope bridge? Please answer yes or no. No
117
- Places365_val_00000059.jpg Is this photo taken in a place of schoolhouse? Please answer yes or no. Yes
118
- Places365_val_00000059.jpg Is this photo taken in a place of hangar outdoor? Please answer yes or no. No
119
- Places365_val_00000060.jpg Is this photo taken in a place of atrium public? Please answer yes or no. Yes
120
- Places365_val_00000060.jpg Is this photo taken in a place of subway station platform? Please answer yes or no. No
121
- Places365_val_00000061.jpg Is this photo taken in a place of dam? Please answer yes or no. Yes
122
- Places365_val_00000061.jpg Is this photo taken in a place of ice skating rink indoor? Please answer yes or no. No
123
- Places365_val_00000062.jpg Does this image describe a place of army base? Please answer yes or no. Yes
124
- Places365_val_00000062.jpg Does this image describe a place of train station platform? Please answer yes or no. No
125
- Places365_val_00000063.jpg Does this image describe a place of gas station? Please answer yes or no. Yes
126
- Places365_val_00000063.jpg Does this image describe a place of doorway outdoor? Please answer yes or no. No
127
- Places365_val_00000064.jpg Does this image describe a place of ballroom? Please answer yes or no. Yes
128
- Places365_val_00000064.jpg Does this image describe a place of corn field? Please answer yes or no. No
129
- Places365_val_00000065.jpg Does this image describe a place of biology laboratory? Please answer yes or no. Yes
130
- Places365_val_00000065.jpg Does this image describe a place of candy store? Please answer yes or no. No
131
- Places365_val_00000066.jpg Does this image describe a place of pantry? Please answer yes or no. Yes
132
- Places365_val_00000066.jpg Does this image describe a place of lighthouse? Please answer yes or no. No
133
- Places365_val_00000067.jpg Is this picture captured in a place of greenhouse indoor? Please answer yes or no. Yes
134
- Places365_val_00000067.jpg Is this picture captured in a place of pasture? Please answer yes or no. No
135
- Places365_val_00000068.jpg Is this photo taken in a place of kasbah? Please answer yes or no. Yes
136
- Places365_val_00000068.jpg Is this photo taken in a place of swimming hole? Please answer yes or no. No
137
- Places365_val_00000069.jpg Is this picture captured in a place of mausoleum? Please answer yes or no. Yes
138
- Places365_val_00000069.jpg Is this picture captured in a place of alcove? Please answer yes or no. No
139
- Places365_val_00000070.jpg Is this picture captured in a place of booth indoor? Please answer yes or no. Yes
140
- Places365_val_00000070.jpg Is this picture captured in a place of bazaar indoor? Please answer yes or no. No
141
- Places365_val_00000071.jpg Is this picture captured in a place of youth hostel? Please answer yes or no. Yes
142
- Places365_val_00000071.jpg Is this picture captured in a place of landfill? Please answer yes or no. No
143
- Places365_val_00000072.jpg Does this image describe a place of fire escape? Please answer yes or no. Yes
144
- Places365_val_00000072.jpg Does this image describe a place of playroom? Please answer yes or no. No
145
- Places365_val_00000073.jpg Is this photo taken in a place of rice paddy? Please answer yes or no. Yes
146
- Places365_val_00000073.jpg Is this photo taken in a place of bus station indoor? Please answer yes or no. No
147
- Places365_val_00000074.jpg Is this photo taken in a place of mausoleum? Please answer yes or no. Yes
148
- Places365_val_00000074.jpg Is this photo taken in a place of train station platform? Please answer yes or no. No
149
- Places365_val_00000075.jpg Is this photo taken in a place of entrance hall? Please answer yes or no. Yes
150
- Places365_val_00000075.jpg Is this photo taken in a place of residential neighborhood? Please answer yes or no. No
151
- Places365_val_00000076.jpg Is this photo taken in a place of bakery shop? Please answer yes or no. Yes
152
- Places365_val_00000076.jpg Is this photo taken in a place of doorway outdoor? Please answer yes or no. No
153
- Places365_val_00000077.jpg Does this image describe a place of escalator indoor? Please answer yes or no. Yes
154
- Places365_val_00000077.jpg Does this image describe a place of ice shelf? Please answer yes or no. No
155
- Places365_val_00000078.jpg Is this picture captured in a place of elevator shaft? Please answer yes or no. Yes
156
- Places365_val_00000078.jpg Is this picture captured in a place of fire escape? Please answer yes or no. No
157
- Places365_val_00000079.jpg Is this picture captured in a place of industrial area? Please answer yes or no. Yes
158
- Places365_val_00000079.jpg Is this picture captured in a place of botanical garden? Please answer yes or no. No
159
- Places365_val_00000080.jpg Is this photo taken in a place of escalator indoor? Please answer yes or no. Yes
160
- Places365_val_00000080.jpg Is this photo taken in a place of coffee shop? Please answer yes or no. No
161
- Places365_val_00000081.jpg Does this image describe a place of operating room? Please answer yes or no. Yes
162
- Places365_val_00000081.jpg Does this image describe a place of house? Please answer yes or no. No
163
- Places365_val_00000082.jpg Is this photo taken in a place of mosque outdoor? Please answer yes or no. Yes
164
- Places365_val_00000082.jpg Is this photo taken in a place of recreation room? Please answer yes or no. No
165
- Places365_val_00000083.jpg Is this photo taken in a place of cottage? Please answer yes or no. Yes
166
- Places365_val_00000083.jpg Is this photo taken in a place of assembly line? Please answer yes or no. No
167
- Places365_val_00000084.jpg Does this image describe a place of courtyard? Please answer yes or no. Yes
168
- Places365_val_00000084.jpg Does this image describe a place of greenhouse outdoor? Please answer yes or no. No
169
- Places365_val_00000085.jpg Is this photo taken in a place of flea market indoor? Please answer yes or no. Yes
170
- Places365_val_00000085.jpg Is this photo taken in a place of pavilion? Please answer yes or no. No
171
- Places365_val_00000086.jpg Does this image describe a place of banquet hall? Please answer yes or no. Yes
172
- Places365_val_00000086.jpg Does this image describe a place of storage room? Please answer yes or no. No
173
- Places365_val_00000087.jpg Is this photo taken in a place of auto factory? Please answer yes or no. Yes
174
- Places365_val_00000087.jpg Is this photo taken in a place of motel? Please answer yes or no. No
175
- Places365_val_00000088.jpg Is this photo taken in a place of cockpit? Please answer yes or no. Yes
176
- Places365_val_00000088.jpg Is this photo taken in a place of gift shop? Please answer yes or no. No
177
- Places365_val_00000089.jpg Is this photo taken in a place of martial arts gym? Please answer yes or no. Yes
178
- Places365_val_00000089.jpg Is this photo taken in a place of atrium public? Please answer yes or no. No
179
- Places365_val_00000090.jpg Is this picture captured in a place of general store outdoor? Please answer yes or no. Yes
180
- Places365_val_00000090.jpg Is this picture captured in a place of bazaar outdoor? Please answer yes or no. No
181
- Places365_val_00000091.jpg Is this photo taken in a place of motel? Please answer yes or no. Yes
182
- Places365_val_00000091.jpg Is this photo taken in a place of chemistry lab? Please answer yes or no. No
183
- Places365_val_00000092.jpg Is this photo taken in a place of playground? Please answer yes or no. Yes
184
- Places365_val_00000092.jpg Is this photo taken in a place of snowfield? Please answer yes or no. No
185
- Places365_val_00000093.jpg Is this picture captured in a place of basement? Please answer yes or no. Yes
186
- Places365_val_00000093.jpg Is this picture captured in a place of jewelry shop? Please answer yes or no. No
187
- Places365_val_00000094.jpg Is this picture captured in a place of playroom? Please answer yes or no. Yes
188
- Places365_val_00000094.jpg Is this picture captured in a place of pier? Please answer yes or no. No
189
- Places365_val_00000095.jpg Is this photo taken in a place of fabric store? Please answer yes or no. Yes
190
- Places365_val_00000095.jpg Is this photo taken in a place of beauty salon? Please answer yes or no. No
191
- Places365_val_00000096.jpg Is this picture captured in a place of forest path? Please answer yes or no. Yes
192
- Places365_val_00000096.jpg Is this picture captured in a place of balcony interior? Please answer yes or no. No
193
- Places365_val_00000097.jpg Does this image describe a place of hangar indoor? Please answer yes or no. Yes
194
- Places365_val_00000097.jpg Does this image describe a place of vegetable garden? Please answer yes or no. No
195
- Places365_val_00000098.jpg Does this image describe a place of crosswalk? Please answer yes or no. Yes
196
- Places365_val_00000098.jpg Does this image describe a place of snowfield? Please answer yes or no. No
197
- Places365_val_00000099.jpg Does this image describe a place of physics laboratory? Please answer yes or no. Yes
198
- Places365_val_00000099.jpg Does this image describe a place of stage indoor? Please answer yes or no. No
199
- Places365_val_00000100.jpg Is this picture captured in a place of pub indoor? Please answer yes or no. Yes
200
- Places365_val_00000100.jpg Is this picture captured in a place of pier? Please answer yes or no. No
201
- Places365_val_00000101.jpg Is this photo taken in a place of schoolhouse? Please answer yes or no. Yes
202
- Places365_val_00000101.jpg Is this photo taken in a place of vineyard? Please answer yes or no. No
203
- Places365_val_00000102.jpg Is this photo taken in a place of industrial area? Please answer yes or no. Yes
204
- Places365_val_00000102.jpg Is this photo taken in a place of street? Please answer yes or no. No
205
- Places365_val_00000103.jpg Is this picture captured in a place of baseball field? Please answer yes or no. Yes
206
- Places365_val_00000103.jpg Is this picture captured in a place of airfield? Please answer yes or no. No
207
- Places365_val_00000104.jpg Is this picture captured in a place of ice floe? Please answer yes or no. Yes
208
- Places365_val_00000104.jpg Is this picture captured in a place of kindergarden classroom? Please answer yes or no. No
209
- Places365_val_00000105.jpg Is this picture captured in a place of train interior? Please answer yes or no. Yes
210
- Places365_val_00000105.jpg Is this picture captured in a place of movie theater indoor? Please answer yes or no. No
211
- Places365_val_00000106.jpg Is this picture captured in a place of desert sand? Please answer yes or no. Yes
212
- Places365_val_00000106.jpg Is this picture captured in a place of burial chamber? Please answer yes or no. No
213
- Places365_val_00000107.jpg Is this photo taken in a place of castle? Please answer yes or no. Yes
214
- Places365_val_00000107.jpg Is this photo taken in a place of computer room? Please answer yes or no. No
215
- Places365_val_00000108.jpg Does this image describe a place of burial chamber? Please answer yes or no. Yes
216
- Places365_val_00000108.jpg Does this image describe a place of oilrig? Please answer yes or no. No
217
- Places365_val_00000109.jpg Is this photo taken in a place of nursing home? Please answer yes or no. Yes
218
- Places365_val_00000109.jpg Is this photo taken in a place of amusement park? Please answer yes or no. No
219
- Places365_val_00000110.jpg Does this image describe a place of church indoor? Please answer yes or no. Yes
220
- Places365_val_00000110.jpg Does this image describe a place of general store outdoor? Please answer yes or no. No
221
- Places365_val_00000111.jpg Is this picture captured in a place of palace? Please answer yes or no. Yes
222
- Places365_val_00000111.jpg Is this picture captured in a place of tree house? Please answer yes or no. No
223
- Places365_val_00000112.jpg Does this image describe a place of bus station indoor? Please answer yes or no. Yes
224
- Places365_val_00000112.jpg Does this image describe a place of hardware store? Please answer yes or no. No
225
- Places365_val_00000113.jpg Is this picture captured in a place of atrium public? Please answer yes or no. Yes
226
- Places365_val_00000113.jpg Is this picture captured in a place of music studio? Please answer yes or no. No
227
- Places365_val_00000114.jpg Is this photo taken in a place of butte? Please answer yes or no. Yes
228
- Places365_val_00000114.jpg Is this photo taken in a place of valley? Please answer yes or no. No
229
- Places365_val_00000115.jpg Is this picture captured in a place of zen garden? Please answer yes or no. Yes
230
- Places365_val_00000115.jpg Is this picture captured in a place of banquet hall? Please answer yes or no. No
231
- Places365_val_00000116.jpg Is this picture captured in a place of racecourse? Please answer yes or no. Yes
232
- Places365_val_00000116.jpg Is this picture captured in a place of basketball court indoor? Please answer yes or no. No
233
- Places365_val_00000117.jpg Is this picture captured in a place of cliff? Please answer yes or no. Yes
234
- Places365_val_00000117.jpg Is this picture captured in a place of sauna? Please answer yes or no. No
235
- Places365_val_00000118.jpg Is this photo taken in a place of laundromat? Please answer yes or no. Yes
236
- Places365_val_00000118.jpg Is this photo taken in a place of archive? Please answer yes or no. No
237
- Places365_val_00000119.jpg Does this image describe a place of wave? Please answer yes or no. Yes
238
- Places365_val_00000119.jpg Does this image describe a place of shed? Please answer yes or no. No
239
- Places365_val_00000120.jpg Is this photo taken in a place of legislative chamber? Please answer yes or no. Yes
240
- Places365_val_00000120.jpg Is this photo taken in a place of nursery? Please answer yes or no. No
241
- Places365_val_00000121.jpg Is this photo taken in a place of elevator shaft? Please answer yes or no. Yes
242
- Places365_val_00000121.jpg Is this photo taken in a place of berth? Please answer yes or no. No
243
- Places365_val_00000122.jpg Is this photo taken in a place of hayfield? Please answer yes or no. Yes
244
- Places365_val_00000122.jpg Is this photo taken in a place of skyscraper? Please answer yes or no. No
245
- Places365_val_00000123.jpg Is this photo taken in a place of hospital room? Please answer yes or no. Yes
246
- Places365_val_00000123.jpg Is this photo taken in a place of mosque outdoor? Please answer yes or no. No
247
- Places365_val_00000124.jpg Does this image describe a place of swimming hole? Please answer yes or no. Yes
248
- Places365_val_00000124.jpg Does this image describe a place of television room? Please answer yes or no. No
249
- Places365_val_00000125.jpg Is this picture captured in a place of biology laboratory? Please answer yes or no. Yes
250
- Places365_val_00000125.jpg Is this picture captured in a place of lake natural? Please answer yes or no. No
251
- Places365_val_00000126.jpg Is this picture captured in a place of church indoor? Please answer yes or no. Yes
252
- Places365_val_00000126.jpg Is this picture captured in a place of server room? Please answer yes or no. No
253
- Places365_val_00000127.jpg Is this picture captured in a place of temple asia? Please answer yes or no. Yes
254
- Places365_val_00000127.jpg Is this picture captured in a place of ball pit? Please answer yes or no. No
255
- Places365_val_00000128.jpg Is this photo taken in a place of landfill? Please answer yes or no. Yes
256
- Places365_val_00000128.jpg Is this photo taken in a place of viaduct? Please answer yes or no. No
257
- Places365_val_00000129.jpg Does this image describe a place of arena hockey? Please answer yes or no. Yes
258
- Places365_val_00000129.jpg Does this image describe a place of clothing store? Please answer yes or no. No
259
- Places365_val_00000130.jpg Is this photo taken in a place of baseball field? Please answer yes or no. Yes
260
- Places365_val_00000130.jpg Is this photo taken in a place of art gallery? Please answer yes or no. No
261
- Places365_val_00000131.jpg Is this picture captured in a place of gazebo exterior? Please answer yes or no. Yes
262
- Places365_val_00000131.jpg Is this picture captured in a place of driveway? Please answer yes or no. No
263
- Places365_val_00000132.jpg Does this image describe a place of greenhouse outdoor? Please answer yes or no. Yes
264
- Places365_val_00000132.jpg Does this image describe a place of stage indoor? Please answer yes or no. No
265
- Places365_val_00000133.jpg Is this picture captured in a place of beauty salon? Please answer yes or no. Yes
266
- Places365_val_00000133.jpg Is this picture captured in a place of junkyard? Please answer yes or no. No
267
- Places365_val_00000134.jpg Does this image describe a place of ice shelf? Please answer yes or no. Yes
268
- Places365_val_00000134.jpg Does this image describe a place of vegetable garden? Please answer yes or no. No
269
- Places365_val_00000135.jpg Is this picture captured in a place of islet? Please answer yes or no. Yes
270
- Places365_val_00000135.jpg Is this picture captured in a place of recreation room? Please answer yes or no. No
271
- Places365_val_00000136.jpg Is this picture captured in a place of railroad track? Please answer yes or no. Yes
272
- Places365_val_00000136.jpg Is this picture captured in a place of department store? Please answer yes or no. No
273
- Places365_val_00000137.jpg Is this photo taken in a place of bazaar outdoor? Please answer yes or no. Yes
274
- Places365_val_00000137.jpg Is this photo taken in a place of office? Please answer yes or no. No
275
- Places365_val_00000138.jpg Is this photo taken in a place of basement? Please answer yes or no. Yes
276
- Places365_val_00000138.jpg Is this photo taken in a place of banquet hall? Please answer yes or no. No
277
- Places365_val_00000139.jpg Is this picture captured in a place of television studio? Please answer yes or no. Yes
278
- Places365_val_00000139.jpg Is this picture captured in a place of general store indoor? Please answer yes or no. No
279
- Places365_val_00000140.jpg Is this picture captured in a place of mezzanine? Please answer yes or no. Yes
280
- Places365_val_00000140.jpg Is this picture captured in a place of bedroom? Please answer yes or no. No
281
- Places365_val_00000141.jpg Does this image describe a place of roof garden? Please answer yes or no. Yes
282
- Places365_val_00000141.jpg Does this image describe a place of television room? Please answer yes or no. No
283
- Places365_val_00000142.jpg Does this image describe a place of restaurant kitchen? Please answer yes or no. Yes
284
- Places365_val_00000142.jpg Does this image describe a place of fabric store? Please answer yes or no. No
285
- Places365_val_00000143.jpg Is this photo taken in a place of house? Please answer yes or no. Yes
286
- Places365_val_00000143.jpg Is this photo taken in a place of swimming hole? Please answer yes or no. No
287
- Places365_val_00000144.jpg Is this picture captured in a place of vineyard? Please answer yes or no. Yes
288
- Places365_val_00000144.jpg Is this picture captured in a place of castle? Please answer yes or no. No
289
- Places365_val_00000145.jpg Is this picture captured in a place of driveway? Please answer yes or no. Yes
290
- Places365_val_00000145.jpg Is this picture captured in a place of badlands? Please answer yes or no. No
291
- Places365_val_00000146.jpg Does this image describe a place of chemistry lab? Please answer yes or no. Yes
292
- Places365_val_00000146.jpg Does this image describe a place of industrial area? Please answer yes or no. No
293
- Places365_val_00000147.jpg Does this image describe a place of cabin outdoor? Please answer yes or no. Yes
294
- Places365_val_00000147.jpg Does this image describe a place of creek? Please answer yes or no. No
295
- Places365_val_00000148.jpg Is this photo taken in a place of restaurant? Please answer yes or no. Yes
296
- Places365_val_00000148.jpg Is this photo taken in a place of apartment building outdoor? Please answer yes or no. No
297
- Places365_val_00000149.jpg Is this picture captured in a place of auditorium? Please answer yes or no. Yes
298
- Places365_val_00000149.jpg Is this picture captured in a place of rock arch? Please answer yes or no. No
299
- Places365_val_00000150.jpg Is this photo taken in a place of street? Please answer yes or no. Yes
300
- Places365_val_00000150.jpg Is this photo taken in a place of toyshop? Please answer yes or no. No
301
- Places365_val_00000151.jpg Does this image describe a place of lagoon? Please answer yes or no. Yes
302
- Places365_val_00000151.jpg Does this image describe a place of aquarium? Please answer yes or no. No
303
- Places365_val_00000152.jpg Is this picture captured in a place of hangar indoor? Please answer yes or no. Yes
304
- Places365_val_00000152.jpg Is this picture captured in a place of street? Please answer yes or no. No
305
- Places365_val_00000153.jpg Does this image describe a place of bar? Please answer yes or no. Yes
306
- Places365_val_00000153.jpg Does this image describe a place of tree house? Please answer yes or no. No
307
- Places365_val_00000154.jpg Is this picture captured in a place of classroom? Please answer yes or no. Yes
308
- Places365_val_00000154.jpg Is this picture captured in a place of wheat field? Please answer yes or no. No
309
- Places365_val_00000155.jpg Does this image describe a place of creek? Please answer yes or no. Yes
310
- Places365_val_00000155.jpg Does this image describe a place of youth hostel? Please answer yes or no. No
311
- Places365_val_00000156.jpg Does this image describe a place of stable? Please answer yes or no. Yes
312
- Places365_val_00000156.jpg Does this image describe a place of junkyard? Please answer yes or no. No
313
- Places365_val_00000157.jpg Is this picture captured in a place of swamp? Please answer yes or no. Yes
314
- Places365_val_00000157.jpg Is this picture captured in a place of village? Please answer yes or no. No
315
- Places365_val_00000158.jpg Is this picture captured in a place of ice shelf? Please answer yes or no. Yes
316
- Places365_val_00000158.jpg Is this picture captured in a place of motel? Please answer yes or no. No
317
- Places365_val_00000159.jpg Is this picture captured in a place of train interior? Please answer yes or no. Yes
318
- Places365_val_00000159.jpg Is this picture captured in a place of jewelry shop? Please answer yes or no. No
319
- Places365_val_00000160.jpg Does this image describe a place of windmill? Please answer yes or no. Yes
320
- Places365_val_00000160.jpg Does this image describe a place of lake natural? Please answer yes or no. No
321
- Places365_val_00000161.jpg Is this photo taken in a place of archive? Please answer yes or no. Yes
322
- Places365_val_00000161.jpg Is this photo taken in a place of village? Please answer yes or no. No
323
- Places365_val_00000162.jpg Does this image describe a place of train station platform? Please answer yes or no. Yes
324
- Places365_val_00000162.jpg Does this image describe a place of manufactured home? Please answer yes or no. No
325
- Places365_val_00000163.jpg Is this photo taken in a place of chalet? Please answer yes or no. Yes
326
- Places365_val_00000163.jpg Is this photo taken in a place of throne room? Please answer yes or no. No
327
- Places365_val_00000164.jpg Does this image describe a place of lake natural? Please answer yes or no. Yes
328
- Places365_val_00000164.jpg Does this image describe a place of athletic field outdoor? Please answer yes or no. No
329
- Places365_val_00000165.jpg Is this picture captured in a place of playground? Please answer yes or no. Yes
330
- Places365_val_00000165.jpg Is this picture captured in a place of viaduct? Please answer yes or no. No
331
- Places365_val_00000166.jpg Is this photo taken in a place of dorm room? Please answer yes or no. Yes
332
- Places365_val_00000166.jpg Is this photo taken in a place of ski resort? Please answer yes or no. No
333
- Places365_val_00000167.jpg Is this picture captured in a place of flea market indoor? Please answer yes or no. Yes
334
- Places365_val_00000167.jpg Is this picture captured in a place of cliff? Please answer yes or no. No
335
- Places365_val_00000168.jpg Does this image describe a place of airplane cabin? Please answer yes or no. Yes
336
- Places365_val_00000168.jpg Does this image describe a place of rock arch? Please answer yes or no. No
337
- Places365_val_00000169.jpg Is this picture captured in a place of drugstore? Please answer yes or no. Yes
338
- Places365_val_00000169.jpg Is this picture captured in a place of canyon? Please answer yes or no. No
339
- Places365_val_00000170.jpg Is this picture captured in a place of pharmacy? Please answer yes or no. Yes
340
- Places365_val_00000170.jpg Is this picture captured in a place of orchestra pit? Please answer yes or no. No
341
- Places365_val_00000171.jpg Is this picture captured in a place of greenhouse outdoor? Please answer yes or no. Yes
342
- Places365_val_00000171.jpg Is this picture captured in a place of archaelogical excavation? Please answer yes or no. No
343
- Places365_val_00000172.jpg Is this photo taken in a place of bathroom? Please answer yes or no. Yes
344
- Places365_val_00000172.jpg Is this photo taken in a place of auto factory? Please answer yes or no. No
345
- Places365_val_00000173.jpg Is this photo taken in a place of shoe shop? Please answer yes or no. Yes
346
- Places365_val_00000173.jpg Is this photo taken in a place of car interior? Please answer yes or no. No
347
- Places365_val_00000174.jpg Does this image describe a place of moat water? Please answer yes or no. Yes
348
- Places365_val_00000174.jpg Does this image describe a place of marsh? Please answer yes or no. No
349
- Places365_val_00000175.jpg Does this image describe a place of vegetable garden? Please answer yes or no. Yes
350
- Places365_val_00000175.jpg Does this image describe a place of parking garage indoor? Please answer yes or no. No
351
- Places365_val_00000176.jpg Is this picture captured in a place of bowling alley? Please answer yes or no. Yes
352
- Places365_val_00000176.jpg Is this picture captured in a place of hotel outdoor? Please answer yes or no. No
353
- Places365_val_00000177.jpg Does this image describe a place of embassy? Please answer yes or no. Yes
354
- Places365_val_00000177.jpg Does this image describe a place of chemistry lab? Please answer yes or no. No
355
- Places365_val_00000178.jpg Is this photo taken in a place of youth hostel? Please answer yes or no. Yes
356
- Places365_val_00000178.jpg Is this photo taken in a place of hangar indoor? Please answer yes or no. No
357
- Places365_val_00000179.jpg Does this image describe a place of hot spring? Please answer yes or no. Yes
358
- Places365_val_00000179.jpg Does this image describe a place of mausoleum? Please answer yes or no. No
359
- Places365_val_00000180.jpg Does this image describe a place of cottage? Please answer yes or no. Yes
360
- Places365_val_00000180.jpg Does this image describe a place of parking garage indoor? Please answer yes or no. No
361
- Places365_val_00000181.jpg Does this image describe a place of general store outdoor? Please answer yes or no. Yes
362
- Places365_val_00000181.jpg Does this image describe a place of hotel room? Please answer yes or no. No
363
- Places365_val_00000182.jpg Is this photo taken in a place of chalet? Please answer yes or no. Yes
364
- Places365_val_00000182.jpg Is this photo taken in a place of dorm room? Please answer yes or no. No
365
- Places365_val_00000183.jpg Is this photo taken in a place of flea market indoor? Please answer yes or no. Yes
366
- Places365_val_00000183.jpg Is this photo taken in a place of tree house? Please answer yes or no. No
367
- Places365_val_00000184.jpg Is this photo taken in a place of shower? Please answer yes or no. Yes
368
- Places365_val_00000184.jpg Is this photo taken in a place of living room? Please answer yes or no. No
369
- Places365_val_00000185.jpg Is this picture captured in a place of supermarket? Please answer yes or no. Yes
370
- Places365_val_00000185.jpg Is this picture captured in a place of orchard? Please answer yes or no. No
371
- Places365_val_00000186.jpg Is this picture captured in a place of bowling alley? Please answer yes or no. Yes
372
- Places365_val_00000186.jpg Is this picture captured in a place of ice skating rink outdoor? Please answer yes or no. No
373
- Places365_val_00000187.jpg Is this picture captured in a place of barn? Please answer yes or no. Yes
374
- Places365_val_00000187.jpg Is this picture captured in a place of lobby? Please answer yes or no. No
375
- Places365_val_00000188.jpg Is this photo taken in a place of japanese garden? Please answer yes or no. Yes
376
- Places365_val_00000188.jpg Is this photo taken in a place of hangar indoor? Please answer yes or no. No
377
- Places365_val_00000189.jpg Is this picture captured in a place of swimming hole? Please answer yes or no. Yes
378
- Places365_val_00000189.jpg Is this picture captured in a place of bedroom? Please answer yes or no. No
379
- Places365_val_00000190.jpg Is this picture captured in a place of pizzeria? Please answer yes or no. Yes
380
- Places365_val_00000190.jpg Is this picture captured in a place of computer room? Please answer yes or no. No
381
- Places365_val_00000191.jpg Does this image describe a place of volleyball court outdoor? Please answer yes or no. Yes
382
- Places365_val_00000191.jpg Does this image describe a place of church indoor? Please answer yes or no. No
383
- Places365_val_00000192.jpg Is this photo taken in a place of market indoor? Please answer yes or no. Yes
384
- Places365_val_00000192.jpg Is this photo taken in a place of home office? Please answer yes or no. No
385
- Places365_val_00000193.jpg Is this picture captured in a place of ice floe? Please answer yes or no. Yes
386
- Places365_val_00000193.jpg Is this picture captured in a place of closet? Please answer yes or no. No
387
- Places365_val_00000194.jpg Does this image describe a place of lake natural? Please answer yes or no. Yes
388
- Places365_val_00000194.jpg Does this image describe a place of beer hall? Please answer yes or no. No
389
- Places365_val_00000195.jpg Does this image describe a place of mountain path? Please answer yes or no. Yes
390
- Places365_val_00000195.jpg Does this image describe a place of construction site? Please answer yes or no. No
391
- Places365_val_00000196.jpg Is this photo taken in a place of orchestra pit? Please answer yes or no. Yes
392
- Places365_val_00000196.jpg Is this photo taken in a place of burial chamber? Please answer yes or no. No
393
- Places365_val_00000197.jpg Does this image describe a place of village? Please answer yes or no. Yes
394
- Places365_val_00000197.jpg Does this image describe a place of underwater ocean deep? Please answer yes or no. No
395
- Places365_val_00000198.jpg Does this image describe a place of waterfall? Please answer yes or no. Yes
396
- Places365_val_00000198.jpg Does this image describe a place of booth indoor? Please answer yes or no. No
397
- Places365_val_00000199.jpg Is this photo taken in a place of greenhouse indoor? Please answer yes or no. Yes
398
- Places365_val_00000199.jpg Is this photo taken in a place of aqueduct? Please answer yes or no. No
399
- Places365_val_00000200.jpg Is this photo taken in a place of television studio? Please answer yes or no. Yes
400
- Places365_val_00000200.jpg Is this photo taken in a place of hunting lodge outdoor? Please answer yes or no. No
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
eval/vlm/eval/mme/Your_Results/text_translation.txt DELETED
@@ -1,40 +0,0 @@
1
- 0001.png Is it appropriate to translate the Chinese in the image into English 'classic taste' in the picture? Please answer yes or no. Yes
2
- 0001.png Is it appropriate to translate the Chinese in the image into English 'classic strawberry flavor' in the picture? Please answer yes or no. No
3
- 0002.png Is it appropriate to translate the Chinese in the image into English 'a delicious dinner' in the picture? Please answer yes or no. Yes
4
- 0002.png Is it appropriate to translate the Chinese in the image into English 'hamburger and chips' in the picture? Please answer yes or no. No
5
- 0003.png Is it appropriate to translate the Chinese in the image into English 'sunny weather' in the picture? Please answer yes or no. Yes
6
- 0003.png Is it appropriate to translate the Chinese in the image into English 'cold weather' in the picture? Please answer yes or no. No
7
- 0004.png Is it appropriate to translate the Chinese in the image into English 'run very fast' in the picture? Please answer yes or no. Yes
8
- 0004.png Is it appropriate to translate the Chinese in the image into English 'run very slow' in the picture? Please answer yes or no. No
9
- 0005.png Is it appropriate to translate the Chinese in the image into English 'feeling happy' in the picture? Please answer yes or no. Yes
10
- 0005.png Is it appropriate to translate the Chinese in the image into English 'feeling bored' in the picture? Please answer yes or no. No
11
- 0006.png Is it appropriate to translate the Chinese in the image into English 'work hard together' in the picture? Please answer yes or no. Yes
12
- 0006.png Is it appropriate to translate the Chinese in the image into English 'be filled with intrigue' in the picture? Please answer yes or no. No
13
- 0007.png Is it appropriate to translate the Chinese in the image into English 'walking very slowly' in the picture? Please answer yes or no. Yes
14
- 0007.png Is it appropriate to translate the Chinese in the image into English 'runing very slowly' in the picture? Please answer yes or no. No
15
- 0008.png Is it appropriate to translate the Chinese in the image into English 'very proud' in the picture? Please answer yes or no. Yes
16
- 0008.png Is it appropriate to translate the Chinese in the image into English 'very thankful' in the picture? Please answer yes or no. No
17
- 0009.png Is it appropriate to translate the Chinese in the image into English 'creative people' in the picture? Please answer yes or no. Yes
18
- 0009.png Is it appropriate to translate the Chinese in the image into English 'leading people' in the picture? Please answer yes or no. No
19
- 0010.png Is it appropriate to translate the Chinese in the image into English 'a beautiful garden' in the picture? Please answer yes or no. Yes
20
- 0010.png Is it appropriate to translate the Chinese in the image into English 'a beautiful campus' in the picture? Please answer yes or no. No
21
- 0011.png Is it appropriate to translate the Chinese in the image into English 'a difficult work' in the picture? Please answer yes or no. Yes
22
- 0011.png Is it appropriate to translate the Chinese in the image into English 'a easy work' in the picture? Please answer yes or no. No
23
- 0012.png Is it appropriate to translate the Chinese in the image into English 'a small amount' in the picture? Please answer yes or no. Yes
24
- 0012.png Is it appropriate to translate the Chinese in the image into English 'difficult and dangerous' in the picture? Please answer yes or no. No
25
- 0013.png Is it appropriate to translate the Chinese in the image into English 'feeling frustrated' in the picture? Please answer yes or no. Yes
26
- 0013.png Is it appropriate to translate the Chinese in the image into English 'feeling relaxed' in the picture? Please answer yes or no. No
27
- 0014.png Is it appropriate to translate the Chinese in the image into English 'waiting for a long time' in the picture? Please answer yes or no. Yes
28
- 0014.png Is it appropriate to translate the Chinese in the image into English 'sleeping for a long time' in the picture? Please answer yes or no. No
29
- 0015.png Is it appropriate to translate the Chinese in the image into English 'very powerful' in the picture? Please answer yes or no. Yes
30
- 0015.png Is it appropriate to translate the Chinese in the image into English 'to be fragile throughout the world' in the picture? Please answer yes or no. No
31
- 0016.png Is it appropriate to translate the Chinese in the image into English 'all talk and no action' in the picture? Please answer yes or no. Yes
32
- 0016.png Is it appropriate to translate the Chinese in the image into English 'hands-on practice' in the picture? Please answer yes or no. No
33
- 0017.png Is it appropriate to translate the Chinese in the image into English 'delicious fruit' in the picture? Please answer yes or no. Yes
34
- 0017.png Is it appropriate to translate the Chinese in the image into English 'banana' in the picture? Please answer yes or no. No
35
- 0018.png Is it appropriate to translate the Chinese in the image into English 'very unforgettable' in the picture? Please answer yes or no. Yes
36
- 0018.png Is it appropriate to translate the Chinese in the image into English 'very happy' in the picture? Please answer yes or no. No
37
- 0019.png Is it appropriate to translate the Chinese in the image into English 'get along well' in the picture? Please answer yes or no. Yes
38
- 0019.png Is it appropriate to translate the Chinese in the image into English 'for own self-interest' in the picture? Please answer yes or no. No
39
- 0020.png Is it appropriate to translate the Chinese in the image into English 'rank first' in the picture? Please answer yes or no. Yes
40
- 0020.png Is it appropriate to translate the Chinese in the image into English 'to add the finishing touches' in the picture? Please answer yes or no. No
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
eval/vlm/eval/mme/calculation.py DELETED
@@ -1,184 +0,0 @@
1
- # Copyright (c) 2023 OpenGVLab
2
- # Copyright (c) 2025 Bytedance Ltd. and/or its affiliates.
3
- # SPDX-License-Identifier: MIT
4
- #
5
- # This file has been modified by ByteDance Ltd. and/or its affiliates. on 2025-05-20.
6
- #
7
- # Original file was released under MIT, with the full license text
8
- # available at https://github.com/OpenGVLab/InternVL/blob/main/LICENSE.
9
- #
10
- # This modified file is released under the same license.
11
-
12
- import argparse
13
- import os
14
-
15
- from sklearn.metrics import (accuracy_score, confusion_matrix, precision_score,
16
- recall_score)
17
-
18
- parser = argparse.ArgumentParser()
19
- # parser.add_argument('--results_dir', default='./LaVIN', type=str)
20
- parser.add_argument('--out-dir', default='./', type=str)
21
-
22
- eval_type_dict = {
23
- 'Perception': ['existence', 'count', 'position', 'color', 'posters', 'celebrity', 'scene', 'landmark', 'artwork', 'OCR'],
24
- 'Cognition': ['commonsense_reasoning', 'numerical_calculation', 'text_translation', 'code_reasoning']
25
- }
26
-
27
-
28
- class calculate_metrics:
29
- def divide_chunks(self, l, n=2):
30
- # looping till length l
31
- for i in range(0, len(l), n):
32
- yield l[i:i + n]
33
-
34
- return
35
-
36
- def parse_pred_ans(self, pred_ans):
37
- pred_label = None
38
- if pred_ans in ['yes', 'no']:
39
- pred_label = pred_ans
40
- else:
41
- prefix_pred_ans = pred_ans[:4]
42
-
43
- if 'yes' in prefix_pred_ans:
44
- pred_label = 'yes'
45
- elif 'no' in prefix_pred_ans:
46
- pred_label = 'no'
47
- else:
48
- pred_label = 'other'
49
-
50
- return pred_label
51
-
52
- def compute_metric(self, gts, preds):
53
- assert len(gts) == len(preds)
54
-
55
- label_map = {
56
- 'yes': 1,
57
- 'no': 0,
58
- 'other': -1,
59
- }
60
-
61
- gts = [label_map[x] for x in gts]
62
- preds = [label_map[x] for x in preds]
63
-
64
- acc = accuracy_score(gts, preds)
65
-
66
- clean_gts = []
67
- clean_preds = []
68
- other_num = 0
69
- for gt, pred in zip(gts, preds):
70
- if pred == -1:
71
- other_num += 1
72
- continue
73
- clean_gts.append(gt)
74
- clean_preds.append(pred)
75
-
76
- conf_mat = confusion_matrix(clean_gts, clean_preds, labels=[1,0])
77
- precision = precision_score(clean_gts, clean_preds, average='binary')
78
- recall = recall_score(clean_gts, clean_preds, average='binary')
79
- tp, fn = conf_mat[0]
80
- fp, tn = conf_mat[1]
81
-
82
- metric_dict = dict()
83
- metric_dict = {
84
- 'TP': tp,
85
- 'FN': fn,
86
- 'TN': tn,
87
- 'FP': fp,
88
- 'precision': precision,
89
- 'recall': recall,
90
- 'other_num': other_num,
91
- 'acc': acc,
92
- }
93
-
94
- return metric_dict
95
-
96
- def process_result(self, results_dir):
97
- ret_message = ""
98
- model_score_dict = dict()
99
- for eval_type, task_name_list in eval_type_dict.items():
100
- print('===========', eval_type, '===========')
101
- ret_message += f"=========== {eval_type} ===========\n"
102
-
103
- scores = 0
104
- task_score_dict = dict()
105
-
106
- for task_name in task_name_list:
107
-
108
- task_txt = os.path.join(results_dir, task_name + '.txt')
109
- lines = open(task_txt, 'r').readlines()
110
- chunk_lines = list(self.divide_chunks(lines)) # one image corresponds to two questions
111
-
112
- img_num = len(chunk_lines)
113
- task_other_ans_num = 0
114
- task_score = 0
115
- acc_plus_correct_num = 0
116
- gts = []
117
- preds = []
118
-
119
- for img_items in chunk_lines:
120
- assert len(img_items) == 2
121
- img_correct_num = 0
122
-
123
- for img_item in img_items:
124
- try:
125
- img_name, question, gt_ans, pred_ans = img_item.split('\t')
126
- except:
127
- print(img_item)
128
- continue
129
- gt_ans = gt_ans.lower()
130
- pred_ans = pred_ans.lower()
131
-
132
- assert gt_ans in ['yes', 'no'] # gt can only be yes or no.
133
-
134
- pred_ans = self.parse_pred_ans(pred_ans)
135
- assert pred_ans in ['yes', 'no', 'other']
136
-
137
- gts.append(gt_ans)
138
- preds.append(pred_ans)
139
-
140
- if gt_ans == pred_ans:
141
- img_correct_num += 1
142
-
143
- if pred_ans not in ['yes', 'no']:
144
- task_other_ans_num += 1
145
-
146
- if img_correct_num == 2:
147
- acc_plus_correct_num += 1
148
-
149
- # cal TP precision acc, etc.
150
- metric_dict = self.compute_metric(gts, preds)
151
- acc_plus = acc_plus_correct_num / img_num
152
- metric_dict['acc_plus'] = acc_plus
153
-
154
- for k, v in metric_dict.items():
155
- if k in ['acc', 'acc_plus']:
156
- task_score += v*100
157
-
158
- task_score_dict[task_name] = task_score
159
-
160
- scores += task_score
161
-
162
- print('total score:', scores, '\n')
163
- ret_message += f"total score: {scores} \n\n"
164
- for task_name, score in task_score_dict.items():
165
- print('\t', task_name, ' score:', score)
166
- ret_message += f"\t {task_name} score: {score}\n"
167
- print('\n')
168
- ret_message += "\n\n"
169
-
170
- return ret_message
171
-
172
-
173
- if __name__ == '__main__':
174
- cal = calculate_metrics()
175
-
176
- args = parser.parse_args()
177
- # results_dir = args.results_dir
178
- results_dir = args.out_dir
179
- ret_message = cal.process_result(results_dir)
180
-
181
- writer = open(os.path.join(args.out_dir, "results.txt"), 'w')
182
- print(f"write results to file {os.path.join(args.out_dir, 'results.txt')}")
183
- writer.write(ret_message)
184
- writer.close()
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
eval/vlm/eval/mme/eval.py DELETED
@@ -1,74 +0,0 @@
1
- # Copyright (c) 2023 OpenGVLab
2
- # Copyright (c) 2025 Bytedance Ltd. and/or its affiliates.
3
- # SPDX-License-Identifier: MIT
4
- #
5
- # This file has been modified by ByteDance Ltd. and/or its affiliates. on 2025-05-20.
6
- #
7
- # Original file was released under MIT, with the full license text
8
- # available at https://github.com/OpenGVLab/InternVL/blob/main/LICENSE.
9
- #
10
- # This modified file is released under the same license.
11
-
12
- import argparse
13
- import os
14
- import re
15
-
16
- from eval.vlm.utils import load_model_and_tokenizer, build_transform, process_conversation
17
- from PIL import Image
18
- from tqdm import tqdm
19
-
20
-
21
- def post_processing(response):
22
- response = response.replace('\n', '').replace('不是', 'No').replace('是', 'Yes').replace('否', 'No')
23
- response = response.lower().replace('true', 'yes').replace('false', 'no')
24
- pattern = re.compile(r'[\u4e00-\u9fa5]')
25
- response = re.sub(pattern, '', response)
26
- return response
27
-
28
-
29
- if __name__ == '__main__':
30
- parser = argparse.ArgumentParser()
31
- parser.add_argument('--root', type=str, default='eval/vlm/eval/mme/Your_Results')
32
- parser.add_argument('--out-dir', type=str, default='results')
33
- parser.add_argument('--model-path', type=str, default='hf/BAGEL-7B-MoT/')
34
- args = parser.parse_args()
35
-
36
- model, tokenizer, new_token_ids = load_model_and_tokenizer(args)
37
- image_transform = build_transform()
38
-
39
- total_params = sum(p.numel() for p in model.parameters()) / 1e9
40
- print(f'[test] total_params: {total_params}B')
41
-
42
- os.makedirs(args.out_dir, exist_ok=True)
43
- prompt = 'Answer the question using a single word or phrase.'
44
-
45
- for filename in os.listdir(args.root):
46
- fin = open(os.path.join(args.root, filename), 'r', encoding='utf-8')
47
- fout = open(os.path.join(args.out_dir, filename), 'w', encoding='utf-8')
48
- lines = fin.readlines()
49
- filename = filename.replace('.txt', '')
50
- for line in tqdm(lines):
51
- img, question, gt = line.strip().split('\t')
52
- question = question + ' ' + prompt
53
- img_path = os.path.join('eval/vlm/data/mme/MME_Benchmark_release_version', filename, img)
54
- if not os.path.exists(img_path):
55
- img_path = os.path.join('eval/vlm/data/mme/MME_Benchmark_release_version', filename, "images", img)
56
- if not os.path.exists(img_path):
57
- continue
58
- images = [Image.open(img_path).convert('RGB')]
59
- images, conversation = process_conversation(images, question)
60
-
61
- response = model.chat(
62
- tokenizer,
63
- new_token_ids,
64
- image_transform,
65
- images=images,
66
- prompt=conversation,
67
- max_length=20,
68
- )
69
- response = post_processing(response)
70
- print(img, question, gt, response, sep='\t', file=fout)
71
- fin.close()
72
- fout.close()
73
-
74
- os.system(f"python -m eval.vlm.eval.mme.calculation --out-dir {args.out_dir}")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
eval/vlm/eval/mmmu/answer_dict_val.json DELETED
The diff for this file is too large to render. See raw diff
 
eval/vlm/eval/mmmu/data_utils.py DELETED
@@ -1,187 +0,0 @@
1
- # Copyright (c) 2023 OpenGVLab
2
- # Copyright (c) 2025 Bytedance Ltd. and/or its affiliates.
3
- # SPDX-License-Identifier: MIT
4
- #
5
- # This file has been modified by ByteDance Ltd. and/or its affiliates. on 2025-05-20.
6
- #
7
- # Original file was released under MIT, with the full license text
8
- # available at https://github.com/OpenGVLab/InternVL/blob/main/LICENSE.
9
- #
10
- # This modified file is released under the same license.
11
-
12
- """Utils for data load, save, and process (e.g., prompt construction)"""
13
-
14
- import json
15
- import os
16
- import re
17
-
18
- import yaml
19
-
20
- DOMAIN_CAT2SUB_CAT = {
21
- 'Art and Design': ['Art', 'Art_Theory', 'Design', 'Music'],
22
- 'Business': ['Accounting', 'Economics', 'Finance', 'Manage', 'Marketing'],
23
- 'Science': ['Biology', 'Chemistry', 'Geography', 'Math', 'Physics', ],
24
- 'Health and Medicine': ['Basic_Medical_Science', 'Clinical_Medicine', 'Diagnostics_and_Laboratory_Medicine',
25
- 'Pharmacy', 'Public_Health'],
26
- 'Humanities and Social Science': ['History', 'Literature', 'Sociology', 'Psychology'],
27
- 'Tech and Engineering': ['Agriculture', 'Architecture_and_Engineering', 'Computer_Science', 'Electronics',
28
- 'Energy_and_Power', 'Materials', 'Mechanical_Engineering'],
29
- }
30
-
31
- CAT_SHORT2LONG = {
32
- 'acc': 'Accounting',
33
- 'agri': 'Agriculture',
34
- 'arch': 'Architecture_and_Engineering',
35
- 'art': 'Art',
36
- 'art_theory': 'Art_Theory',
37
- 'bas_med': 'Basic_Medical_Science',
38
- 'bio': 'Biology',
39
- 'chem': 'Chemistry',
40
- 'cli_med': 'Clinical_Medicine',
41
- 'cs': 'Computer_Science',
42
- 'design': 'Design',
43
- 'diag_med': 'Diagnostics_and_Laboratory_Medicine',
44
- 'econ': 'Economics',
45
- 'elec': 'Electronics',
46
- 'ep': 'Energy_and_Power',
47
- 'fin': 'Finance',
48
- 'geo': 'Geography',
49
- 'his': 'History',
50
- 'liter': 'Literature',
51
- 'manage': 'Manage',
52
- 'mark': 'Marketing',
53
- 'mate': 'Materials',
54
- 'math': 'Math',
55
- 'mech': 'Mechanical_Engineering',
56
- 'music': 'Music',
57
- 'phar': 'Pharmacy',
58
- 'phys': 'Physics',
59
- 'psy': 'Psychology',
60
- 'pub_health': 'Public_Health',
61
- 'socio': 'Sociology'
62
- }
63
-
64
-
65
- # DATA SAVING
66
- def save_json(filename, ds):
67
- with open(filename, 'w') as f:
68
- json.dump(ds, f, indent=4)
69
-
70
-
71
- def get_multi_choice_info(options):
72
- """
73
- Given the list of options for multiple choice question
74
- Return the index2ans and all_choices
75
- """
76
-
77
- start_chr = 'A'
78
- all_choices = []
79
- index2ans = {}
80
- for i, option in enumerate(options):
81
- index2ans[chr(ord(start_chr) + i)] = option
82
- all_choices.append(chr(ord(start_chr) + i))
83
-
84
- return index2ans, all_choices
85
-
86
-
87
- def load_yaml(file_path):
88
- with open(file_path, 'r') as stream:
89
- try:
90
- yaml_dict = yaml.safe_load(stream)
91
- except yaml.YAMLError as exc:
92
- print(exc)
93
-
94
- return yaml_dict
95
-
96
-
97
- def parse_img_path(text):
98
- matches = re.findall("<img='(.*?)'>", text)
99
- return matches
100
-
101
-
102
- def process_single_sample(data):
103
- question = data['question']
104
- o_imgs_paths = []
105
- for option in data['options']:
106
- current_o_imgs_paths = parse_img_path(option)
107
- for img_path in current_o_imgs_paths:
108
- o_imgs_paths.append(img_path)
109
- images = [data['image_1'], data['image_2'], data['image_3'], data['image_4'],
110
- data['image_5'], data['image_6'], data['image_7']]
111
- return {'id': data['id'], 'question': question, 'options': data['options'], 'answer': data['answer'],
112
- 'image': images, 'question_type': data['question_type']}
113
-
114
-
115
- # DATA SAVING
116
- def save_json(filename, ds):
117
- with open(filename, 'w') as f:
118
- json.dump(ds, f, indent=4)
119
-
120
-
121
- def save_jsonl(filename, data):
122
- """
123
- Save a dictionary of data to a JSON Lines file with the filename as key and caption as value.
124
-
125
- Args:
126
- filename (str): The path to the file where the data should be saved.
127
- data (dict): The dictionary containing the data to save where key is the image path and value is the caption.
128
- """
129
- with open(filename, 'w', encoding='utf-8') as f:
130
- for img_path, caption in data.items():
131
- # Extract the base filename without the extension
132
- base_filename = os.path.basename(img_path)
133
- # Create a JSON object with the filename as the key and caption as the value
134
- json_record = json.dumps({base_filename: caption}, ensure_ascii=False)
135
- # Write the JSON object to the file, one per line
136
- f.write(json_record + '\n')
137
-
138
-
139
- def save_args(args, path_dir):
140
- argsDict = args.__dict__
141
- with open(path_dir + 'setting.txt', 'w') as f:
142
- f.writelines('------------------ start ------------------' + '\n')
143
- for eachArg, value in argsDict.items():
144
- f.writelines(eachArg + ' : ' + str(value) + '\n')
145
- f.writelines('------------------- end -------------------')
146
-
147
-
148
- # DATA PROCESSING
149
- def construct_prompt(sample, config):
150
- question = sample['question']
151
- options = eval(sample['options'])
152
- example = ''
153
- if sample['question_type'] == 'multiple-choice':
154
- start_chr = 'A'
155
- prediction_range = []
156
- index2ans = {}
157
- for option in options:
158
- prediction_range.append(start_chr)
159
- example += f'({start_chr}) {option}\n'
160
- index2ans[start_chr] = option
161
- start_chr = chr(ord(start_chr) + 1)
162
- empty_prompt_sample_structure = config['multi_choice_example_format']
163
- empty_prompt = empty_prompt_sample_structure.format(question, example)
164
- res_dict = {}
165
- res_dict['index2ans'] = index2ans
166
- res_dict['correct_choice'] = sample['answer']
167
- res_dict['all_choices'] = prediction_range
168
- res_dict['empty_prompt'] = empty_prompt
169
- if config['task_instructions']:
170
- res_dict['final_input_prompt'] = config['task_instructions'].strip() + '\n\n' + empty_prompt
171
- else:
172
- res_dict['final_input_prompt'] = empty_prompt
173
-
174
- res_dict['gt_content'] = options[ord(sample['answer'].upper()) - ord('A')]
175
- else:
176
- empty_prompt_sample_structure = config['short_ans_example_format']
177
- empty_prompt = empty_prompt_sample_structure.format(question)
178
- res_dict = {}
179
- res_dict['empty_prompt'] = empty_prompt
180
- if config['task_instructions']:
181
- res_dict['final_input_prompt'] = config['task_instructions'].strip() + '\n\n' + empty_prompt
182
- else:
183
- res_dict['final_input_prompt'] = empty_prompt
184
- res_dict['gt_content'] = sample['answer']
185
-
186
- res_dict.update(sample)
187
- return res_dict
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
eval/vlm/eval/mmmu/eval_utils.py DELETED
@@ -1,275 +0,0 @@
1
- # Copyright (c) 2023 OpenGVLab
2
- # Copyright (c) 2025 Bytedance Ltd. and/or its affiliates.
3
- # SPDX-License-Identifier: MIT
4
- #
5
- # This file has been modified by ByteDance Ltd. and/or its affiliates. on 2025-05-20.
6
- #
7
- # Original file was released under MIT, with the full license text
8
- # available at https://github.com/OpenGVLab/InternVL/blob/main/LICENSE.
9
- #
10
- # This modified file is released under the same license.
11
-
12
- """Response Parsing and Evaluation for various models"""
13
- import random
14
- import re
15
- from typing import Dict
16
-
17
- random.seed(42)
18
- import numpy as np
19
-
20
-
21
- # ----------- Process Multi-choice -------------
22
- def parse_multi_choice_response(response, all_choices, index2ans):
23
- """
24
- Parse the prediction from the generated response.
25
- Return the predicted index e.g., A, B, C, D.
26
- """
27
- for char in [',', '.', '!', '?', ';', ':', "'"]:
28
- response = response.strip(char)
29
- response = ' ' + response + ' ' # add space to avoid partial match
30
-
31
- index_ans = True
32
- ans_with_brack = False
33
- candidates = []
34
- for choice in all_choices: # e.g., (A) (B) (C) (D)
35
- if f'({choice})' in response:
36
- candidates.append(choice)
37
- ans_with_brack = True
38
-
39
- if len(candidates) == 0:
40
- for choice in all_choices: # e.g., A B C D
41
- if f' {choice} ' in response:
42
- candidates.append(choice)
43
-
44
- # if all above doesn't get candidates, check if the content is larger than 5 tokens and try to parse the example
45
- if len(candidates) == 0 and len(response.split()) > 5:
46
- for index, ans in index2ans.items():
47
- if ans.lower() in response.lower():
48
- candidates.append(index)
49
- index_ans = False # it's content ans.
50
-
51
- if len(candidates) == 0: # still not get answer, randomly choose one.
52
- pred_index = random.choice(all_choices)
53
- elif len(candidates) > 1:
54
- start_indexes = []
55
- if index_ans:
56
- if ans_with_brack:
57
- for can in candidates:
58
- index = response.rfind(f'({can})')
59
- start_indexes.append(index) # -1 will be ignored anyway
60
- # start_indexes = [generated_response.index(f'({can})') for can in candidates]
61
- else:
62
- for can in candidates:
63
- index = response.rfind(f' {can} ')
64
- start_indexes.append(index)
65
- else:
66
- for can in candidates:
67
- index = response.lower().rfind(index2ans[can].lower())
68
- start_indexes.append(index)
69
- # get the last one
70
- pred_index = candidates[np.argmax(start_indexes)]
71
- else: # if only one candidate, use it.
72
- pred_index = candidates[0]
73
-
74
- return pred_index
75
-
76
-
77
- # ----------- Process Open -------------
78
- def check_is_number(string):
79
- """
80
- Check if the given string a number.
81
- """
82
- try:
83
- float(string.replace(',', ''))
84
- return True
85
- except ValueError:
86
- # check if there's comma inside
87
- return False
88
-
89
-
90
- def normalize_str(string):
91
- """
92
- Normalize the str to lower case and make them float numbers if possible.
93
- """
94
- # check if characters in the string
95
-
96
- # if number, numerize it.
97
- string = string.strip()
98
-
99
- is_number = check_is_number(string)
100
-
101
- if is_number:
102
- string = string.replace(',', '')
103
- string = float(string)
104
- # leave 2 decimal
105
- string = round(string, 2)
106
- return [string]
107
- else: # it's likely to be a string
108
- # lower it
109
- string = string.lower()
110
- if len(string) == 1:
111
- return [' ' + string, string + ' '] # avoid trivial matches
112
- return [string]
113
-
114
-
115
- def extract_numbers(string):
116
- """
117
- Exact all forms of numbers from a string with regex.
118
- """
119
- # Pattern for numbers with commas
120
- pattern_commas = r'-?\b\d{1,3}(?:,\d{3})+\b'
121
- # Pattern for scientific notation
122
- pattern_scientific = r'-?\d+(?:\.\d+)?[eE][+-]?\d+'
123
- # Pattern for simple numbers without commas
124
- pattern_simple = r'-?(?:\d+\.\d+|\.\d+|\d+\b)(?![eE][+-]?\d+)(?![,\d])'
125
-
126
- # Extract numbers with commas
127
- numbers_with_commas = re.findall(pattern_commas, string)
128
- # Extract numbers in scientific notation
129
- numbers_scientific = re.findall(pattern_scientific, string)
130
- # Extract simple numbers without commas
131
- numbers_simple = re.findall(pattern_simple, string)
132
-
133
- # Combine all extracted numbers
134
- all_numbers = numbers_with_commas + numbers_scientific + numbers_simple
135
- return all_numbers
136
-
137
-
138
- def parse_open_response(response):
139
- """
140
- Parse the prediction from the generated response.
141
- Return a list of predicted strings or numbers.
142
- """
143
-
144
- # content = content.strip("\n").strip(".").strip(" ")
145
- def get_key_subresponses(response):
146
- key_responses = []
147
- response = response.strip().strip('.').lower()
148
- sub_responses = re.split(r'\.\s(?=[A-Z])|\n', response)
149
- indicators_of_keys = ['could be ', 'so ', 'is ',
150
- 'thus ', 'therefore ', 'final ', 'answer ', 'result ']
151
- key_responses = []
152
- for index, resp in enumerate(sub_responses):
153
- # if last one, accept it's an equation (the entire response can be just one sentence with equation)
154
- if index == len(sub_responses) - 1:
155
- indicators_of_keys.extend(['='])
156
- shortest_key_response = None # the shortest response that may contain the answer (tail part of the response)
157
- for indicator in indicators_of_keys:
158
- if indicator in resp:
159
- if not shortest_key_response:
160
- shortest_key_response = resp.split(indicator)[-1].strip()
161
- else:
162
- if len(resp.split(indicator)[-1].strip()) < len(shortest_key_response):
163
- shortest_key_response = resp.split(indicator)[-1].strip()
164
- # key_responses.append(resp.split(indicator)[1].strip())
165
-
166
- if shortest_key_response:
167
- # and it's not trivial
168
- if shortest_key_response.strip() not in [':', ',', '.', '!', '?', ';', ':', "'"]:
169
- key_responses.append(shortest_key_response)
170
- if len(key_responses) == 0: # did not found any
171
- return [response]
172
- return key_responses
173
-
174
- # pdb.set_trace()
175
- key_responses = get_key_subresponses(response)
176
-
177
- pred_list = key_responses.copy() # keep the original string response
178
- for resp in key_responses:
179
- pred_list.extend(extract_numbers(resp))
180
-
181
- tmp_pred_list = []
182
- for i in range(len(pred_list)):
183
- tmp_pred_list.extend(normalize_str(pred_list[i]))
184
- pred_list = tmp_pred_list
185
-
186
- # remove duplicates
187
- pred_list = list(set(pred_list))
188
-
189
- return pred_list
190
-
191
-
192
- # ----------- Evaluation -------------
193
-
194
- def eval_multi_choice(gold_i, pred_i):
195
- """
196
- Evaluate a multiple choice instance.
197
- """
198
- correct = False
199
- # only they are exactly the same, we consider it as correct
200
- if isinstance(gold_i, list):
201
- for answer in gold_i:
202
- if answer == pred_i:
203
- correct = True
204
- break
205
- else: # gold_i is a string
206
- if gold_i == pred_i:
207
- correct = True
208
- return correct
209
-
210
-
211
- def eval_open(gold_i, pred_i):
212
- """
213
- Evaluate an open question instance
214
- """
215
- correct = False
216
- if isinstance(gold_i, list):
217
- # use float to avoid trivial matches
218
- norm_answers = []
219
- for answer in gold_i:
220
- norm_answers.extend(normalize_str(answer))
221
- else:
222
- norm_answers = normalize_str(gold_i)
223
- for pred in pred_i: # pred is already normalized in parse response phase
224
- if isinstance(pred, str): # if it's a string, then find if ans in the pred_i
225
- for norm_ans in norm_answers:
226
- # only see if the string answer in the string pred
227
- if isinstance(norm_ans, str) and norm_ans in pred:
228
- if not correct:
229
- correct = True
230
- break
231
- else: # it's a float number
232
- if pred in norm_answers:
233
- if not correct:
234
- correct = True
235
- break
236
- return correct
237
-
238
-
239
- # ----------- Batch Evaluation -------------
240
- def evaluate(samples):
241
- """
242
- Batch evaluation for multiple choice and open questions.
243
- """
244
- pred_correct = 0
245
- judge_dict = dict()
246
- for sample in samples:
247
- gold_i = sample['answer']
248
- pred_i = sample['parsed_pred']
249
- if sample['question_type'] == 'multiple-choice':
250
- correct = eval_multi_choice(gold_i, pred_i)
251
- else: # open question
252
- correct = eval_open(gold_i, pred_i)
253
-
254
- if correct:
255
- judge_dict[sample['id']] = 'Correct'
256
- pred_correct += 1
257
- else:
258
- judge_dict[sample['id']] = 'Wrong'
259
-
260
- if len(samples) == 0:
261
- return {'acc': 0}
262
- return judge_dict, {'acc': pred_correct / len(samples)}
263
-
264
-
265
- # ----------- Calculate Accuracy -------------
266
- def calculate_ins_level_acc(results: Dict):
267
- """Calculate the instruction level accuracy for given Subject results"""
268
- acc = 0
269
- ins_num = 0
270
- for cat_results in results.values():
271
- acc += cat_results['acc'] * cat_results['num_example']
272
- ins_num += cat_results['num_example']
273
- if ins_num == 0:
274
- return 0
275
- return acc / ins_num
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
eval/vlm/eval/mmmu/evaluate_mmmu.py DELETED
@@ -1,272 +0,0 @@
1
- # Copyright (c) 2023 OpenGVLab
2
- # Copyright (c) 2025 Bytedance Ltd. and/or its affiliates.
3
- # SPDX-License-Identifier: MIT
4
- #
5
- # This file has been modified by ByteDance Ltd. and/or its affiliates. on 2025-05-20.
6
- #
7
- # Original file was released under MIT, with the full license text
8
- # available at https://github.com/OpenGVLab/InternVL/blob/main/LICENSE.
9
- #
10
- # This modified file is released under the same license.
11
-
12
- import argparse
13
- import itertools
14
- import json
15
- import os
16
- import random
17
-
18
- import torch
19
- from .data_utils import CAT_SHORT2LONG, process_single_sample
20
- from datasets import concatenate_datasets, load_dataset
21
- from eval.vlm.utils import load_model_and_tokenizer, build_transform, process_conversation
22
- from PIL import Image
23
- from tqdm import tqdm
24
-
25
- ds_collections = {
26
- 'MMMU_validation': {
27
- 'root': 'MMMU/MMMU',
28
- 'max_new_tokens': 10,
29
- 'min_new_tokens': 1,
30
- 'split': 'validation'
31
- },
32
- 'MMMU_test': {
33
- 'root': 'MMMU/MMMU',
34
- 'max_new_tokens': 10,
35
- 'min_new_tokens': 1,
36
- 'split': 'test'
37
- },
38
- 'MMMU_dev': {
39
- 'root': 'MMMU/MMMU',
40
- 'max_new_tokens': 10,
41
- 'min_new_tokens': 1,
42
- 'split': 'dev'
43
- },
44
- }
45
-
46
-
47
- def collate_fn(batches):
48
- questions = [_['question'] for _ in batches]
49
- images = [_['images'] for _ in batches]
50
- conversation = [_['conversation'] for _ in batches]
51
- answers = [_['answer'] for _ in batches]
52
- data_ids = [_['data_id'] for _ in batches]
53
- options = [_['option'] for _ in batches]
54
- return questions, images, conversation, answers, data_ids, options
55
-
56
-
57
- class MMMUDataset(torch.utils.data.Dataset):
58
-
59
- def __init__(self, root, split, prompt):
60
- # run for each subject
61
- sub_dataset_list = []
62
- for subject in tqdm(CAT_SHORT2LONG.values()):
63
- sub_dataset = load_dataset(root, subject, split=split, cache_dir=os.path.join(os.getcwd(), 'eval/vlm/data/MMMU/'))
64
- sub_dataset_list.append(sub_dataset)
65
-
66
- # merge all dataset
67
- self.data = concatenate_datasets(sub_dataset_list)
68
- self.prompt = prompt
69
-
70
- def __len__(self):
71
- return len(self.data)
72
-
73
- def __getitem__(self, idx):
74
-
75
- data = process_single_sample(self.data[idx])
76
- data_id = data['id']
77
- question = data['question'].strip()
78
- pil_images = data['image']
79
- question_type = data['question_type']
80
-
81
- choices = eval(data['options'])
82
- answer = data['answer'] if 'answer' in data else None
83
-
84
- choice_list = []
85
- options = {}
86
- multiple_choices = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M']
87
- for i, c in enumerate(choices):
88
- choice_list.append('{}. {}'.format(multiple_choices[i], c.strip()))
89
- options[multiple_choices[i]] = c.strip()
90
- choice_txt = '\n'.join(choice_list)
91
- images = []
92
- for idx, pil_image in enumerate(pil_images):
93
- if pil_image is not None:
94
- if idx == 0:
95
- pil_image = pil_image.resize((pil_image.width * 2, pil_image.height * 2), Image.BILINEAR)
96
- images.append(pil_image)
97
-
98
- if len(choice_txt) > 0:
99
- question += '\n' + choice_txt
100
- question += '\n' + self.prompt[question_type]
101
- question = question.strip()
102
-
103
- # NOTE: Do not add <image> since <image 1> has been added
104
- # question = "<image>" * len(images) + "\n" + question
105
-
106
- images, conversation = process_conversation(images, question)
107
-
108
- return {
109
- 'question': question,
110
- 'images': images,
111
- 'conversation': conversation,
112
- 'answer': answer,
113
- 'option': options,
114
- 'data_id': data_id
115
- }
116
-
117
-
118
- class InferenceSampler(torch.utils.data.sampler.Sampler):
119
-
120
- def __init__(self, size):
121
- self._size = int(size)
122
- assert size > 0
123
- self._rank = torch.distributed.get_rank()
124
- self._world_size = torch.distributed.get_world_size()
125
- self._local_indices = self._get_local_indices(size, self._world_size, self._rank)
126
-
127
- @staticmethod
128
- def _get_local_indices(total_size, world_size, rank):
129
- shard_size = total_size // world_size
130
- left = total_size % world_size
131
- shard_sizes = [shard_size + int(r < left) for r in range(world_size)]
132
-
133
- begin = sum(shard_sizes[:rank])
134
- end = min(sum(shard_sizes[:rank + 1]), total_size)
135
- return range(begin, end)
136
-
137
- def __iter__(self):
138
- yield from self._local_indices
139
-
140
- def __len__(self):
141
- return len(self._local_indices)
142
-
143
-
144
- def post_process(pred, option):
145
- pred = pred.strip()
146
- option_candidate = list(option.keys())
147
- if len(pred) == 1:
148
- return pred
149
- elif len(pred) == 0:
150
- pred = "C"
151
- elif len(pred) != 1 and pred[0] in option_candidate:
152
- return pred[0]
153
- elif len(pred) != 1 and pred[0] not in option_candidate:
154
- for k, v in option.items():
155
- if v in pred:
156
- return k
157
-
158
- return pred
159
-
160
-
161
- def evaluate_chat_model():
162
- prompt = {
163
- 'multiple-choice': "Answer with the option's letter from the given choices directly.",
164
- 'open': 'Answer the question using a single word or phrase.'
165
- }
166
- random.seed(args.seed)
167
-
168
- for ds_name in args.datasets:
169
- dataset = MMMUDataset(
170
- root=ds_collections[ds_name]['root'],
171
- split=ds_collections[ds_name]['split'],
172
- prompt=prompt,
173
- )
174
- dataloader = torch.utils.data.DataLoader(
175
- dataset=dataset,
176
- sampler=InferenceSampler(len(dataset)),
177
- batch_size=args.batch_size,
178
- num_workers=args.num_workers,
179
- pin_memory=True,
180
- drop_last=False,
181
- collate_fn=collate_fn,
182
- )
183
-
184
- outputs = []
185
- for _, (questions, images, conversation, answers, data_ids, options) in tqdm(enumerate(dataloader)):
186
- pred = model.chat(
187
- tokenizer,
188
- new_token_ids,
189
- image_transform,
190
- images=images[0], # batch=1
191
- prompt=conversation[0], # batch=1
192
- max_length=ds_collections[ds_name]['max_new_tokens'], # TODO: how to use ds_collections[ds_name]['min_new_tokens']
193
- )
194
- if len(options[0]) == 0:
195
- preds = [pred]
196
- else:
197
- preds = [post_process(pred, options[0])]
198
-
199
- for question, pred, answer, data_id in zip(questions, preds, answers, data_ids):
200
- outputs.append({
201
- 'question': question,
202
- 'answer': pred,
203
- 'gt_answers': answer,
204
- 'data_id': data_id
205
- })
206
-
207
- torch.distributed.barrier()
208
-
209
- world_size = torch.distributed.get_world_size()
210
- merged_outputs = [None for _ in range(world_size)]
211
- torch.distributed.all_gather_object(merged_outputs, json.dumps(outputs))
212
-
213
- merged_outputs = [json.loads(_) for _ in merged_outputs]
214
- merged_outputs = [_ for _ in itertools.chain.from_iterable(merged_outputs)]
215
-
216
- if torch.distributed.get_rank() == 0:
217
- print(f'Evaluating {ds_name} ...')
218
- output_path = os.path.join(args.out_dir, "prediction.json")
219
- outputs = {}
220
- for item in merged_outputs:
221
- outputs[item['data_id']] = item['answer']
222
- with open(output_path, 'w') as f:
223
- json.dump(outputs, f, indent=4)
224
- print('Results saved to {}'.format(output_path))
225
- if ds_collections[ds_name]['split'] == 'validation':
226
- print('Evaluating ...')
227
- cmd = f'python -m eval.vlm.eval.mmmu.main_eval_only ' \
228
- f'--output_path {output_path} ' \
229
- f'--answer_path eval/vlm/eval/mmmu/answer_dict_val.json ' \
230
- f'--out-dir {args.out_dir}'
231
- print(cmd)
232
- os.system(cmd)
233
- output_path = os.path.join(args.out_dir, "results.jsonl")
234
- writer = open(output_path, 'w')
235
- for item in merged_outputs:
236
- writer.write(json.dumps(item) + '\n')
237
- writer.close()
238
- print('Results saved to {}'.format(output_path))
239
-
240
-
241
- if __name__ == '__main__':
242
- parser = argparse.ArgumentParser()
243
- parser.add_argument('--datasets', type=str, default='MMMU_validation')
244
- parser.add_argument('--batch-size', type=int, default=1)
245
- parser.add_argument('--num-workers', type=int, default=1)
246
- parser.add_argument('--out-dir', type=str, default='results')
247
- parser.add_argument('--seed', type=int, default=0)
248
- parser.add_argument('--model-path', type=str, default='hf/BAGEL-7B-MoT/')
249
- args = parser.parse_args()
250
-
251
- if not os.path.exists(args.out_dir):
252
- os.makedirs(args.out_dir, exist_ok=True)
253
-
254
- args.datasets = args.datasets.split(',')
255
- print('datasets:', args.datasets)
256
- assert args.batch_size == 1, 'Only batch size 1 is supported'
257
-
258
- torch.distributed.init_process_group(
259
- backend='nccl',
260
- world_size=int(os.getenv('WORLD_SIZE', '1')),
261
- rank=int(os.getenv('RANK', '0')),
262
- )
263
-
264
- torch.cuda.set_device(int(os.getenv('LOCAL_RANK', 0)))
265
-
266
- model, tokenizer, new_token_ids = load_model_and_tokenizer(args)
267
- image_transform = build_transform()
268
-
269
- total_params = sum(p.numel() for p in model.parameters()) / 1e9
270
- print(f'[test] total_params: {total_params}B')
271
-
272
- evaluate_chat_model()
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
eval/vlm/eval/mmmu/evaluate_mmmu_cot.py DELETED
@@ -1,252 +0,0 @@
1
- # Copyright (c) 2023 OpenGVLab
2
- # Copyright (c) 2025 Bytedance Ltd. and/or its affiliates.
3
- # SPDX-License-Identifier: MIT
4
- #
5
- # This file has been modified by ByteDance Ltd. and/or its affiliates. on 2025-05-20.
6
- #
7
- # Original file was released under MIT, with the full license text
8
- # available at https://github.com/OpenGVLab/InternVL/blob/main/LICENSE.
9
- #
10
- # This modified file is released under the same license.
11
-
12
- import argparse
13
- import json
14
- import os
15
- import random
16
-
17
- import torch
18
- from .data_utils import CAT_SHORT2LONG, process_single_sample
19
- from datasets import concatenate_datasets, load_dataset
20
- from eval.vlm.utils import load_model_and_tokenizer, build_transform, process_conversation
21
- from PIL import Image
22
- from tqdm import tqdm
23
-
24
- ds_collections = {
25
- 'MMMU_validation_cot': {
26
- 'root': 'MMMU/MMMU',
27
- 'max_new_tokens': 16384,
28
- 'min_new_tokens': 1,
29
- 'split': 'validation'
30
- },
31
- }
32
-
33
- COT_INSTRUCTION = (
34
- 'Your task is to answer the question below. '
35
- "Give step by step reasoning before you answer, and when you're ready to answer, "
36
- "please use the format \"Final answer: ..\""
37
- '\n\n'
38
- 'Question:'
39
- '\n\n'
40
- '{question}'
41
- )
42
-
43
- COT_OPEN_INSTRUCTION = (
44
- 'Question: {question}'
45
- )
46
-
47
- COT_MC_INSTRUCTION = (
48
- 'Question: {question} Options: {options}\n'
49
- 'Try to reason about the question step by step to help you get the correct answer. '
50
- 'You might find that sometimes no reasoning is needed if the answer is straightforward. '
51
- 'Sometimes listing out a few reasoning steps will be helpful. '
52
- 'In any case, please keep the reasoning concise.\n\n'
53
-
54
- 'First, please describe what is included in the image. '
55
- 'Then, respond with your reason first and output the final answer in the format "Final Answer: <answer>" where <answer> is the single correct letter choice A, B, C, D, E, F, etc, when options are provided. '
56
- 'If you find that your reasoning lead to none of the choice, reject your reasoning and choose the most likely answer. '
57
- 'You have to answer with one of the choices. If no options are provided, <answer> is your answer. '
58
- 'If you would like to skip reasoning, just directly output the "Final Answer" part.'
59
- )
60
-
61
- COT_OPEN_INSTRUCTION_V2 = (
62
- "You should first think about the reasoning process in the mind and then provide the user with the answer. The reasoning process is enclosed within <think> </think> tags, i.e. <think> reasoning process here </think> answer here." +\
63
- "{question}" + "\nAnswer the question using a single word or phrase."
64
- )
65
-
66
- COT_MC_INSTRUCTION_V2 = (
67
- "You should first think about the reasoning process in the mind and then provide the user with the answer. The reasoning process is enclosed within <think> </think> tags, i.e. <think> reasoning process here </think> answer here." +\
68
- "Question: {question} Options: {options} " + "\nAnswer with the option's letter from the given choices directly."
69
- )
70
-
71
-
72
- def collate_fn(batches):
73
- questions = [_['question'] for _ in batches]
74
- images = [_['images'] for _ in batches]
75
- conversation = [_['conversation'] for _ in batches]
76
- answers = [_['answer'] for _ in batches]
77
- data_ids = [_['data_id'] for _ in batches]
78
- options = [_['option'] for _ in batches]
79
- return questions, images, conversation, answers, data_ids, options
80
-
81
-
82
- class MMMUDataset(torch.utils.data.Dataset):
83
-
84
- def __init__(self, root, split):
85
- # run for each subject
86
- sub_dataset_list = []
87
- for subject in tqdm(CAT_SHORT2LONG.values()):
88
- sub_dataset = load_dataset(root, subject, split=split, cache_dir=os.path.join(os.getcwd(), 'eval/vlm/data/MMMU/'))
89
- sub_dataset_list.append(sub_dataset)
90
-
91
- # merge all dataset
92
- self.data = concatenate_datasets(sub_dataset_list)
93
-
94
- def __len__(self):
95
- return len(self.data)
96
-
97
- def __getitem__(self, idx):
98
-
99
- data = process_single_sample(self.data[idx])
100
- data_id = data['id']
101
- question = data['question'].strip()
102
- pil_images = data['image']
103
- question_type = data['question_type'] # "open", "multiple-choice"
104
-
105
- choices = eval(data['options'])
106
- answer = data['answer'] if 'answer' in data else None
107
-
108
- choice_list = []
109
- options = {}
110
- multiple_choices = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M']
111
- for i, c in enumerate(choices):
112
- choice_list.append('{}. {}'.format(multiple_choices[i], c.strip()))
113
- options[multiple_choices[i]] = c.strip()
114
- choice_txt = '\n'.join(choice_list)
115
- images = []
116
- for idx, pil_image in enumerate(pil_images):
117
- if pil_image is not None:
118
- if idx == 0:
119
- pil_image = pil_image.resize((pil_image.width * 2, pil_image.height * 2), Image.BILINEAR)
120
- images.append(pil_image)
121
-
122
- if len(choice_txt) > 0:
123
- question = COT_MC_INSTRUCTION_V2.format(question=question.strip(), options=choice_txt.strip())
124
- else:
125
- question = COT_OPEN_INSTRUCTION_V2.format(question=question.strip())
126
-
127
- # NOTE: Do not add <image> since <image 1> has been added
128
- # question = "<image>" * len(images) + "\n" + question
129
-
130
- images, conversation = process_conversation(images, question)
131
-
132
- return {
133
- 'question': question,
134
- 'images': images,
135
- 'conversation': conversation,
136
- 'answer': answer,
137
- 'option': options,
138
- 'data_id': data_id
139
- }
140
-
141
-
142
- class InferenceSampler(torch.utils.data.sampler.Sampler):
143
-
144
- def __init__(self, size):
145
- self._size = int(size)
146
- assert size > 0
147
- self._rank = torch.distributed.get_rank()
148
- self._world_size = torch.distributed.get_world_size()
149
- self._local_indices = self._get_local_indices(size, self._world_size, self._rank)
150
-
151
- @staticmethod
152
- def _get_local_indices(total_size, world_size, rank):
153
- shard_size = total_size // world_size
154
- left = total_size % world_size
155
- shard_sizes = [shard_size + int(r < left) for r in range(world_size)]
156
-
157
- begin = sum(shard_sizes[:rank])
158
- end = min(sum(shard_sizes[:rank + 1]), total_size)
159
- return range(begin, end)
160
-
161
- def __iter__(self):
162
- yield from self._local_indices
163
-
164
- def __len__(self):
165
- return len(self._local_indices)
166
-
167
-
168
- def evaluate_chat_model():
169
- random.seed(args.seed)
170
- output_path = os.path.join(args.out_dir, "results.jsonl")
171
-
172
- processed_ids = set()
173
- if os.path.exists(output_path):
174
- with open(output_path) as f:
175
- lines = f.readlines()
176
- for line in lines:
177
- processed_ids.add(json.loads(line)["data_id"])
178
-
179
- writer = open(output_path, 'a')
180
-
181
- for ds_name in args.datasets:
182
- dataset = MMMUDataset(
183
- root=ds_collections[ds_name]['root'],
184
- split=ds_collections[ds_name]['split'],
185
- )
186
- dataloader = torch.utils.data.DataLoader(
187
- dataset=dataset,
188
- sampler=InferenceSampler(len(dataset)),
189
- batch_size=args.batch_size,
190
- num_workers=args.num_workers,
191
- pin_memory=True,
192
- drop_last=False,
193
- collate_fn=collate_fn,
194
- )
195
-
196
- for _, (questions, images, conversation, answers, data_ids, options) in tqdm(enumerate(dataloader)):
197
- if data_ids[0] in processed_ids:
198
- continue
199
-
200
- pred = model.chat(
201
- tokenizer,
202
- new_token_ids,
203
- image_transform,
204
- images=images[0], # batch=1
205
- prompt=conversation[0], # batch=1
206
- max_length=ds_collections[ds_name]['max_new_tokens'], # TODO: how to use ds_collections[ds_name]['min_new_tokens']
207
- )
208
- preds = [pred.strip()]
209
-
210
- for question, pred, answer, data_id in zip(questions, preds, answers, data_ids):
211
- cur_output = {
212
- 'question': question,
213
- 'answer': pred,
214
- 'gt_answers': answer,
215
- 'data_id': data_id
216
- }
217
- writer.write(json.dumps(cur_output) + '\n')
218
-
219
- writer.close()
220
-
221
- if __name__ == '__main__':
222
- parser = argparse.ArgumentParser()
223
- parser.add_argument('--datasets', type=str, default='MMMU_validation')
224
- parser.add_argument('--batch-size', type=int, default=1)
225
- parser.add_argument('--num-workers', type=int, default=1)
226
- parser.add_argument('--out-dir', type=str, default='results')
227
- parser.add_argument('--seed', type=int, default=0)
228
- parser.add_argument('--model-path', type=str, default='hf/BAGEL-7B-MoT/')
229
- args = parser.parse_args()
230
-
231
- if not os.path.exists(args.out_dir):
232
- os.makedirs(args.out_dir, exist_ok=True)
233
-
234
- args.datasets = args.datasets.split(',')
235
- print('datasets:', args.datasets)
236
- assert args.batch_size == 1, 'Only batch size 1 is supported'
237
-
238
- torch.distributed.init_process_group(
239
- backend='nccl',
240
- world_size=int(os.getenv('WORLD_SIZE', '1')),
241
- rank=int(os.getenv('RANK', '0')),
242
- )
243
-
244
- torch.cuda.set_device(int(os.getenv('LOCAL_RANK', 0)))
245
-
246
- model, tokenizer, new_token_ids = load_model_and_tokenizer(args)
247
- image_transform = build_transform()
248
-
249
- total_params = sum(p.numel() for p in model.parameters()) / 1e9
250
- print(f'[test] total_params: {total_params}B')
251
-
252
- evaluate_chat_model()
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
eval/vlm/eval/mmmu/main_eval_only.py DELETED
@@ -1,113 +0,0 @@
1
- # Copyright (c) 2023 OpenGVLab
2
- # Copyright (c) 2025 Bytedance Ltd. and/or its affiliates.
3
- # SPDX-License-Identifier: MIT
4
- #
5
- # This file has been modified by ByteDance Ltd. and/or its affiliates. on 2025-05-20.
6
- #
7
- # Original file was released under MIT, with the full license text
8
- # available at https://github.com/OpenGVLab/InternVL/blob/main/LICENSE.
9
- #
10
- # This modified file is released under the same license.
11
-
12
- """Parse and Evalate"""
13
- import os
14
- import json
15
- from argparse import ArgumentParser
16
-
17
- from .data_utils import CAT_SHORT2LONG, DOMAIN_CAT2SUB_CAT, save_json
18
- from .eval_utils import calculate_ins_level_acc, evaluate, parse_open_response
19
-
20
- if __name__ == '__main__':
21
-
22
- parser = ArgumentParser()
23
- parser.add_argument('--output_path', type=str, default='./example_outputs/qwen_vl/total_val_output.json',
24
- help='The path to model output file.')
25
- parser.add_argument('--answer_path', type=str, default='./answer_dict_val.json', help='Answer file path.')
26
- parser.add_argument('--out-dir', type=str, default='results')
27
- args = parser.parse_args()
28
-
29
- output_dict = json.load(open(args.output_path))
30
- answer_dict = json.load(open(args.answer_path))
31
-
32
- # group by category
33
- output_dict_w_cat = {}
34
- for data_id, parsed_pred in output_dict.items():
35
- category = '_'.join(data_id.split('_')[1:-1])
36
- if category not in output_dict_w_cat:
37
- output_dict_w_cat.update({category: {}})
38
- output_dict_w_cat[category].update({data_id: parsed_pred})
39
-
40
- # group by category
41
- answer_dict_w_cat = {}
42
- for data_id, parsed_pred in answer_dict.items():
43
- category = '_'.join(data_id.split('_')[1:-1])
44
- if category not in answer_dict_w_cat:
45
- answer_dict_w_cat.update({category: {}})
46
- answer_dict_w_cat[category].update({data_id: parsed_pred})
47
-
48
- evaluation_result = {}
49
-
50
- for category in CAT_SHORT2LONG.values():
51
- print('Evaluating: {}'.format(category))
52
- # get cat_outputs and cat_answers
53
- try:
54
- cat_outputs = output_dict_w_cat[category]
55
- cat_answers = answer_dict_w_cat[category]
56
- except KeyError:
57
- print('Skipping {} for not found'.format(category))
58
- continue
59
-
60
- exampels_to_eval = []
61
- for data_id, parsed_pred in cat_outputs.items():
62
- question_type = cat_answers[data_id]['question_type']
63
- if question_type != 'multiple-choice':
64
- parsed_pred = parse_open_response(parsed_pred) # mainly for type consistency (make it number, etc.)
65
- else:
66
- parsed_pred = parsed_pred
67
-
68
- exampels_to_eval.append({
69
- 'id': data_id,
70
- 'question_type': question_type,
71
- 'answer': cat_answers[data_id]['ground_truth'],
72
- 'parsed_pred': parsed_pred
73
- })
74
-
75
- judge_dict, metric_dict = evaluate(exampels_to_eval)
76
- metric_dict.update({'num_example': len(exampels_to_eval)})
77
-
78
- evaluation_result[category] = metric_dict
79
-
80
- printable_results = {}
81
- # pdb.set_trace()
82
- # add domain Subject
83
- for domain, in_domain_cats in DOMAIN_CAT2SUB_CAT.items():
84
- in_domain_cat_results = {}
85
- for cat_name in in_domain_cats: # use the order in DOMAIN_CAT2SUB_CAT
86
- if cat_name in evaluation_result.keys():
87
- in_domain_cat_results[cat_name] = evaluation_result[cat_name]
88
- else:
89
- pass
90
- in_domain_ins_acc = calculate_ins_level_acc(in_domain_cat_results)
91
- in_domain_data_num = sum([cat_results['num_example'] for cat_results in in_domain_cat_results.values()])
92
- printable_results['Overall-' + domain] = {'num': int(in_domain_data_num),
93
- 'acc': round(in_domain_ins_acc, 3)
94
- }
95
- # add sub category
96
- for cat_name, cat_results in in_domain_cat_results.items():
97
- printable_results[cat_name] = {'num': int(cat_results['num_example']),
98
- 'acc': round(cat_results['acc'], 3)
99
- }
100
-
101
- # table.append(["-----------------------------", "-----", "----"])
102
- all_ins_acc = calculate_ins_level_acc(evaluation_result)
103
- printable_results['Overall'] = {
104
- 'num': sum([cat_results['num_example'] for cat_results in evaluation_result.values()]),
105
- 'acc': round(all_ins_acc, 3)}
106
-
107
- print(printable_results)
108
- writer = open(os.path.join(args.out_dir, "results.txt"), 'w')
109
- print(f"write results to file {os.path.join(args.out_dir, 'results.txt')}")
110
- for key, value in printable_results.items():
111
- line = f'{key}: num={value["num"]}, acc={value["acc"]}\n'
112
- writer.write(line)
113
- writer.close()
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
eval/vlm/eval/mmvet/evaluate_mmvet.py DELETED
@@ -1,112 +0,0 @@
1
- # Copyright (c) 2023 OpenGVLab
2
- # Copyright (c) 2025 Bytedance Ltd. and/or its affiliates.
3
- # SPDX-License-Identifier: MIT
4
- #
5
- # This file has been modified by ByteDance Ltd. and/or its affiliates. on 2025-05-20.
6
- #
7
- # Original file was released under MIT, with the full license text
8
- # available at https://github.com/OpenGVLab/InternVL/blob/main/LICENSE.
9
- #
10
- # This modified file is released under the same license.
11
-
12
- import argparse
13
- import json
14
- import os
15
- import random
16
-
17
- import torch
18
- from eval.vlm.utils import load_model_and_tokenizer, build_transform, process_conversation
19
- from PIL import Image
20
- from tqdm import tqdm
21
-
22
- ds_collections = {
23
- 'mmvet': {
24
- 'root': 'eval/vlm/data/mm-vet/images',
25
- 'question': 'eval/vlm/data/mm-vet/llava-mm-vet.jsonl',
26
- 'metric': None,
27
- 'max_new_tokens': 1000,
28
- 'min_new_tokens': 1,
29
- }
30
- }
31
-
32
-
33
- class VQADataset(torch.utils.data.Dataset):
34
-
35
- def __init__(self, root, data, prompt):
36
- self.root = root
37
- self.data = open(data).readlines()
38
- self.prompt = prompt
39
-
40
- def __len__(self):
41
- return len(self.data)
42
-
43
- def __getitem__(self, idx):
44
- data = json.loads(self.data[idx].strip())
45
- image, question, question_id, annotation = data['image'], data[
46
- 'text'], data['question_id'], data.get('answer', None)
47
-
48
- image = os.path.join(self.root, image)
49
- image = Image.open(image).convert('RGB')
50
- images = [image]
51
-
52
- question = question + ' ' + self.prompt
53
-
54
- images, conversation = process_conversation(images, question)
55
-
56
- return question_id, question, images, conversation, annotation
57
-
58
-
59
- def evaluate_chat_model():
60
- random.seed(args.seed)
61
- prompt = ''
62
-
63
- for ds_name in args.datasets:
64
- dataset = VQADataset(
65
- root=ds_collections[ds_name]['root'],
66
- data=ds_collections[ds_name]['question'],
67
- prompt=prompt,
68
- )
69
-
70
- outputs = {}
71
- for _, (question_id, question, images, conversation, annotations) in tqdm(enumerate(dataset)):
72
- pred = model.chat(
73
- tokenizer,
74
- new_token_ids,
75
- image_transform,
76
- images=images,
77
- prompt=conversation,
78
- max_length=ds_collections[ds_name]['max_new_tokens'], # TODO: how to use ds_collections[ds_name]['min_new_tokens']
79
- )
80
-
81
- outputs[f'v1_{question_id}'] = pred
82
-
83
- print(f'Evaluating {ds_name} ...')
84
- results_file = os.path.join(args.out_dir, 'results.json')
85
- json.dump(outputs, open(results_file, 'w'))
86
- print('Results saved to {}'.format(results_file))
87
-
88
-
89
- if __name__ == '__main__':
90
- parser = argparse.ArgumentParser()
91
- parser.add_argument('--datasets', type=str, default='mmvet')
92
- parser.add_argument('--batch-size', type=int, default=1)
93
- parser.add_argument('--num-workers', type=int, default=1)
94
- parser.add_argument('--out-dir', type=str, default='results')
95
- parser.add_argument('--seed', type=int, default=0)
96
- parser.add_argument('--model-path', type=str, default='hf/BAGEL-7B-MoT/')
97
- args = parser.parse_args()
98
-
99
- if not os.path.exists(args.out_dir):
100
- os.makedirs(args.out_dir, exist_ok=True)
101
-
102
- args.datasets = args.datasets.split(',')
103
- print('datasets:', args.datasets)
104
- assert args.batch_size == 1, 'Only batch size 1 is supported'
105
-
106
- model, tokenizer, new_token_ids = load_model_and_tokenizer(args)
107
- image_transform = build_transform()
108
-
109
- total_params = sum(p.numel() for p in model.parameters()) / 1e9
110
- print(f'[test] total_params: {total_params}B')
111
-
112
- evaluate_chat_model()
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
eval/vlm/eval/mmvp/evaluate_mmvp.py DELETED
@@ -1,258 +0,0 @@
1
- # Copyright (c) 2023 OpenGVLab
2
- # Copyright (c) 2025 Bytedance Ltd. and/or its affiliates.
3
- # SPDX-License-Identifier: MIT
4
- #
5
- # This file has been modified by ByteDance Ltd. and/or its affiliates. on 2025-05-20.
6
- #
7
- # Original file was released under MIT, with the full license text
8
- # available at https://github.com/OpenGVLab/InternVL/blob/main/LICENSE.
9
- #
10
- # This modified file is released under the same license.
11
-
12
- import argparse
13
- import csv
14
- import itertools
15
- import json
16
- import os
17
- import random
18
-
19
- import torch
20
- from eval.vlm.utils import load_model_and_tokenizer, build_transform, process_conversation
21
- from PIL import Image
22
- from tqdm import tqdm
23
-
24
- ds_collections = {
25
- 'MMVP': {
26
- 'root': 'eval/vlm/data/MMVP',
27
- 'max_new_tokens': 100,
28
- 'min_new_tokens': 1,
29
- },
30
- }
31
-
32
-
33
- def collate_fn(batches):
34
- questions = [_['question'] for _ in batches]
35
- images = [_['images'] for _ in batches]
36
- conversations = [_['conversations'] for _ in batches]
37
- answers = [_['answer'] for _ in batches]
38
- data_ids = [_['data_id'] for _ in batches]
39
- options = [_['option'] for _ in batches]
40
- return questions, images, conversations, answers, data_ids, options
41
-
42
-
43
- class MMVPDataset(torch.utils.data.Dataset):
44
-
45
- def __init__(self, root, prompt):
46
- # run for each subject
47
- meta_path = os.path.join(root, 'Questions.csv')
48
- with open(meta_path, 'r') as file:
49
- csv_reader = csv.DictReader(file)
50
- data = [row for row in csv_reader]
51
-
52
- self.data = data
53
- self.root = root
54
- self.prompt = prompt
55
-
56
- def __len__(self):
57
- return len(self.data)
58
-
59
- def __getitem__(self, idx):
60
- data = self.data[idx]
61
- data_id = data['lndex'] if 'lndex' in data else data['Index']
62
- question = data['Question']
63
- image = os.path.join(self.root + '/MMVP Images', data_id + '.jpg')
64
- image = Image.open(image).convert('RGB')
65
-
66
- options = data['Options'].split('(b)')
67
- options[0] = options[0].replace('(a)', '').strip()
68
- options[1] = options[1].replace('(b)', '').strip()
69
-
70
- answer = data['Correct Answer'] if 'Correct Answer' in data else None
71
- answer = answer.replace('(a)', 'A').replace('(b)', 'B').replace('(c)', 'C').replace('(d)', 'D')
72
- choice_list = []
73
- new_options = {}
74
- multiple_choices = ['A', 'B', 'C', 'D']
75
- for i, c in enumerate(options):
76
- choice_list.append('{}. {}'.format(multiple_choices[i], c.strip()))
77
- new_options[multiple_choices[i]] = c.strip()
78
- choice_txt = '\n'.join(choice_list)
79
-
80
- images = [image]
81
-
82
- if len(choice_txt) > 0:
83
- question += '\n' + choice_txt
84
- question += '\n' + self.prompt
85
-
86
- images, conversation = process_conversation(images, question)
87
-
88
- return {
89
- 'question': question,
90
- 'images': images,
91
- 'conversations': conversation,
92
- 'answer': answer,
93
- 'option': new_options,
94
- 'data_id': data_id
95
- }
96
-
97
-
98
- class InferenceSampler(torch.utils.data.sampler.Sampler):
99
-
100
- def __init__(self, size):
101
- self._size = int(size)
102
- assert size > 0
103
- self._rank = torch.distributed.get_rank()
104
- self._world_size = torch.distributed.get_world_size()
105
- self._local_indices = self._get_local_indices(size, self._world_size, self._rank)
106
-
107
- @staticmethod
108
- def _get_local_indices(total_size, world_size, rank):
109
- shard_size = total_size // world_size
110
- left = total_size % world_size
111
- shard_sizes = [shard_size + int(r < left) for r in range(world_size)]
112
-
113
- begin = sum(shard_sizes[:rank])
114
- end = min(sum(shard_sizes[:rank + 1]), total_size)
115
- return range(begin, end)
116
-
117
- def __iter__(self):
118
- yield from self._local_indices
119
-
120
- def __len__(self):
121
- return len(self._local_indices)
122
-
123
-
124
- def post_process(pred, option):
125
- pred = pred.strip()
126
- option_candidate = list(option.keys())
127
- if len(pred) == 1:
128
- return pred
129
- elif len(pred) != 1 and pred[0] in option_candidate:
130
- return pred[0]
131
- elif len(pred) != 1 and pred[0] not in option_candidate:
132
- for k, v in option.items():
133
- if v in pred:
134
- return k
135
-
136
- return pred
137
-
138
-
139
- def evaluate_chat_model():
140
- prompt = "Answer with the option's letter from the given choices directly."
141
- random.seed(args.seed)
142
-
143
- for ds_name in args.datasets:
144
- dataset = MMVPDataset(
145
- root=ds_collections[ds_name]['root'], # hf dataset path.
146
- prompt=prompt,
147
- )
148
- dataloader = torch.utils.data.DataLoader(
149
- dataset=dataset,
150
- sampler=InferenceSampler(len(dataset)),
151
- batch_size=args.batch_size,
152
- num_workers=args.num_workers,
153
- pin_memory=True,
154
- drop_last=False,
155
- collate_fn=collate_fn,
156
- )
157
-
158
- outputs = []
159
- for _, (questions, images, conversations, answers, data_ids, options) in tqdm(enumerate(dataloader)):
160
- pred = model.chat(
161
- tokenizer,
162
- new_token_ids,
163
- image_transform,
164
- images=images[0], # batch=1
165
- prompt=conversations[0], # batch=1
166
- max_length=ds_collections[ds_name]['max_new_tokens'], # TODO: how to use ds_collections[ds_name]['min_new_tokens']
167
- )
168
-
169
- if len(options[0]) == 0:
170
- preds = [pred]
171
- else:
172
- preds = [post_process(pred, options[0])]
173
-
174
- for question, pred, answer, data_id in zip(questions, preds, answers, data_ids):
175
- outputs.append({
176
- 'question': question,
177
- 'answer': pred,
178
- 'gt_answers': answer,
179
- 'data_id': data_id
180
- })
181
-
182
- torch.distributed.barrier()
183
-
184
- world_size = torch.distributed.get_world_size()
185
- merged_outputs = [None for _ in range(world_size)]
186
- torch.distributed.all_gather_object(merged_outputs, json.dumps(outputs))
187
-
188
- merged_outputs = [json.loads(_) for _ in merged_outputs]
189
- merged_outputs = [_ for _ in itertools.chain.from_iterable(merged_outputs)]
190
-
191
- if torch.distributed.get_rank() == 0:
192
- print(f'Evaluating {ds_name} ...')
193
- results_file = 'results.jsonl'
194
- output_path = os.path.join(args.out_dir, results_file)
195
- writer = open(output_path, 'w')
196
-
197
- num_correct, num_total = 0, 0
198
- index, round_correct = 0, 0
199
- for item in merged_outputs:
200
- writer.write(json.dumps(item) + '\n')
201
- answer = item['answer']
202
- gt_answer = item['gt_answers']
203
-
204
- index += 1
205
-
206
- if answer == gt_answer:
207
- round_correct += 1
208
- if index == 2:
209
- index = 0
210
- if round_correct == 2:
211
- num_correct += 1
212
- round_correct = 0
213
-
214
- num_total += 1
215
-
216
- writer.close()
217
- print('Results saved to {}'.format(output_path))
218
- print(f'The accuracy is {num_correct/num_total}')
219
-
220
- results_file = 'results.txt'
221
- output_path = os.path.join(args.out_dir, results_file)
222
- writer = open(output_path, 'w')
223
- writer.write(f'The accuracy is {num_correct/num_total}')
224
- writer.close()
225
-
226
-
227
- if __name__ == '__main__':
228
- parser = argparse.ArgumentParser()
229
- parser.add_argument('--datasets', type=str, default='MMVP')
230
- parser.add_argument('--batch-size', type=int, default=1)
231
- parser.add_argument('--num-workers', type=int, default=1)
232
- parser.add_argument('--out-dir', type=str, default='results')
233
- parser.add_argument('--seed', type=int, default=0)
234
- parser.add_argument('--model-path', type=str, default='hf/BAGEL-7B-MoT/')
235
- args = parser.parse_args()
236
-
237
- if not os.path.exists(args.out_dir):
238
- os.makedirs(args.out_dir, exist_ok=True)
239
-
240
- args.datasets = args.datasets.split(',')
241
- print('datasets:', args.datasets)
242
- assert args.batch_size == 1, 'Only batch size 1 is supported'
243
-
244
- torch.distributed.init_process_group(
245
- backend='nccl',
246
- world_size=int(os.getenv('WORLD_SIZE', '1')),
247
- rank=int(os.getenv('RANK', '0')),
248
- )
249
-
250
- torch.cuda.set_device(int(os.getenv('LOCAL_RANK', 0)))
251
-
252
- model, tokenizer, new_token_ids = load_model_and_tokenizer(args)
253
- image_transform = build_transform()
254
-
255
- total_params = sum(p.numel() for p in model.parameters()) / 1e9
256
- print(f'[test] total_params: {total_params}B')
257
-
258
- evaluate_chat_model()
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
eval/vlm/eval/pope/eval_pope.py DELETED
@@ -1,120 +0,0 @@
1
- # Copyright (c) 2023 OpenGVLab
2
- # Copyright (c) 2025 Bytedance Ltd. and/or its affiliates.
3
- # SPDX-License-Identifier: MIT
4
- #
5
- # This file has been modified by ByteDance Ltd. and/or its affiliates. on 2025-05-20.
6
- #
7
- # Original file was released under MIT, with the full license text
8
- # available at https://github.com/OpenGVLab/InternVL/blob/main/LICENSE.
9
- #
10
- # This modified file is released under the same license.
11
-
12
- import argparse
13
- import json
14
- import os
15
- import numpy as np
16
-
17
-
18
- def eval_pope(answers, label_file):
19
- label_list = [json.loads(q)['label'] for q in open(label_file, 'r')]
20
-
21
- for answer in answers:
22
- text = answer['text']
23
-
24
- # Only keep the first sentence
25
- if text.find('.') != -1:
26
- text = text.split('.')[0]
27
-
28
- text = text.replace(',', '')
29
- words = text.split(' ')
30
- if 'No' in words or 'not' in words or 'no' in words:
31
- answer['text'] = 'no'
32
- else:
33
- answer['text'] = 'yes'
34
-
35
- for i in range(len(label_list)):
36
- if label_list[i] == 'no':
37
- label_list[i] = 0
38
- else:
39
- label_list[i] = 1
40
-
41
- pred_list = []
42
- for answer in answers:
43
- if answer['text'] == 'no':
44
- pred_list.append(0)
45
- else:
46
- pred_list.append(1)
47
-
48
- pos = 1
49
- neg = 0
50
- yes_ratio = pred_list.count(1) / len(pred_list)
51
-
52
- TP, TN, FP, FN = 0, 0, 0, 0
53
- for pred, label in zip(pred_list, label_list):
54
- if pred == pos and label == pos:
55
- TP += 1
56
- elif pred == pos and label == neg:
57
- FP += 1
58
- elif pred == neg and label == neg:
59
- TN += 1
60
- elif pred == neg and label == pos:
61
- FN += 1
62
-
63
- ret_message = ""
64
- print('TP\tFP\tTN\tFN\t')
65
- print('{}\t{}\t{}\t{}'.format(TP, FP, TN, FN))
66
- ret_message += 'TP\tFP\tTN\tFN\t\n'
67
- ret_message += '{}\t{}\t{}\t{}\n'.format(TP, FP, TN, FN)
68
-
69
- precision = float(TP) / float(TP + FP)
70
- recall = float(TP) / float(TP + FN)
71
- f1 = 2 * precision * recall / (precision + recall)
72
- acc = (TP + TN) / (TP + TN + FP + FN)
73
- print('Accuracy: {}'.format(acc))
74
- print('Precision: {}'.format(precision))
75
- print('Recall: {}'.format(recall))
76
- print('F1 score: {}'.format(f1))
77
- print('Yes ratio: {}'.format(yes_ratio))
78
- print('%.3f, %.3f, %.3f, %.3f, %.3f' % (f1, acc, precision, recall, yes_ratio))
79
-
80
- ret_message += 'Accuracy: {}\n'.format(acc)
81
- ret_message += 'Precision: {}\n'.format(precision)
82
- ret_message += 'Recall: {}\n'.format(recall)
83
- ret_message += 'F1 score: {}\n'.format(f1)
84
- ret_message += 'Yes ratio: {}\n'.format(yes_ratio)
85
- ret_message += '%.3f, %.3f, %.3f, %.3f, %.3f\n' % (f1, acc, precision, recall, yes_ratio)
86
- return f1, ret_message
87
-
88
-
89
- if __name__ == '__main__':
90
- parser = argparse.ArgumentParser()
91
- parser.add_argument('--annotation-dir', type=str)
92
- parser.add_argument('--question-file', type=str)
93
- parser.add_argument('--result-file', type=str)
94
- parser.add_argument('--out-dir', type=str)
95
- args = parser.parse_args()
96
-
97
- questions = [json.loads(line) for line in open(args.question_file)]
98
- questions = {question['question_id']: question for question in questions}
99
- answers = json.loads(open(args.result_file).read())
100
- avg_f1 = []
101
- ret_message = ""
102
- for file in os.listdir(args.annotation_dir):
103
- assert file.startswith('coco_pope_')
104
- assert file.endswith('.json')
105
- category = file[10:-5]
106
- cur_answers = [x for x in answers if questions[x['question_id']]['category'] == category]
107
- print('Category: {}, # samples: {}'.format(category, len(cur_answers)))
108
- ret_message += 'Category: {}, # samples: {}\n'.format(category, len(cur_answers))
109
- f1, ret = eval_pope(cur_answers, os.path.join(args.annotation_dir, file))
110
- ret_message += ret
111
- print('====================================')
112
- ret_message += '====================================\n'
113
- avg_f1.append(f1)
114
- print(f"Avg F1 score: {np.array(avg_f1).mean()}")
115
- ret_message += f"Avg F1 score: {np.array(avg_f1).mean()}\n"
116
-
117
- writer = open(os.path.join(args.out_dir, "results.txt"), 'w')
118
- print(f"write results to file {os.path.join(args.out_dir, 'results.txt')}")
119
- writer.write(ret_message)
120
- writer.close()
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
eval/vlm/eval/pope/evaluate_pope.py DELETED
@@ -1,231 +0,0 @@
1
- # Copyright (c) 2023 OpenGVLab
2
- # Copyright (c) 2025 Bytedance Ltd. and/or its affiliates.
3
- # SPDX-License-Identifier: MIT
4
- #
5
- # This file has been modified by ByteDance Ltd. and/or its affiliates. on 2025-05-20.
6
- #
7
- # Original file was released under MIT, with the full license text
8
- # available at https://github.com/OpenGVLab/InternVL/blob/main/LICENSE.
9
- #
10
- # This modified file is released under the same license.
11
-
12
- import argparse
13
- import itertools
14
- import json
15
- import os
16
- import random
17
- import re
18
-
19
- import torch
20
- from eval.vlm.utils import load_model_and_tokenizer, build_transform, process_conversation
21
- from PIL import Image
22
- from tqdm import tqdm
23
-
24
- ds_collections = {
25
- 'pope': {
26
- 'root': 'eval/vlm/data/pope/val2014',
27
- 'question': 'eval/vlm/data/pope/llava_pope_test.jsonl',
28
- 'metric': None,
29
- 'max_new_tokens': 100,
30
- 'min_new_tokens': 1,
31
- },
32
- 'pope_cot': {
33
- 'root': 'eval/vlm/data/pope/val2014',
34
- 'question': 'eval/vlm/data/pope/llava_pope_test.jsonl',
35
- 'metric': None,
36
- 'max_new_tokens': 1000,
37
- 'min_new_tokens': 1,
38
- }
39
- }
40
-
41
-
42
- COT_INSTRUCTION = (
43
- 'Your task is to answer the question below. '
44
- "Give step by step reasoning before you answer, and when you're ready to answer, "
45
- "please use the format \"Final answer: ..\""
46
- '\n\n'
47
- 'Question:'
48
- '\n\n'
49
- '{question}'
50
- )
51
-
52
-
53
- def extract_answer(text):
54
- match = re.search(r'(Final answer:|Answer:)\s*(.*)', text, re.IGNORECASE)
55
- if match:
56
- return match.group(2).strip()
57
- return text
58
-
59
-
60
- def collate_fn(batches):
61
- questions = [_['question'] for _ in batches]
62
- images = [_['images'] for _ in batches]
63
- conversations = [_['conversations'] for _ in batches]
64
- question_ids = [_['question_id'] for _ in batches]
65
- annotations = [_['annotation'] for _ in batches]
66
-
67
- return questions, images, conversations, question_ids, annotations
68
-
69
-
70
- class VQADataset(torch.utils.data.Dataset):
71
-
72
- def __init__(self, root, data, prompt):
73
- self.root = root
74
- self.data = open(data).readlines()
75
- self.prompt = prompt
76
-
77
- def __len__(self):
78
- return len(self.data)
79
-
80
- def __getitem__(self, idx):
81
- data = json.loads(self.data[idx].strip())
82
- image, question, question_id, annotation = data['image'], data[
83
- 'text'], data['question_id'], data.get('answer', None)
84
-
85
- image = os.path.join(self.root, image)
86
- image = Image.open(image).convert('RGB')
87
- images = [image]
88
-
89
- llava_prompt = 'Answer the question using a single word or phrase.'
90
- assert llava_prompt in question
91
- question = question.replace(llava_prompt, self.prompt).strip()
92
-
93
- if args.cot:
94
- question = COT_INSTRUCTION.format(question=question)
95
-
96
- images, conversation = process_conversation(images, question)
97
-
98
- return {
99
- 'question_id': question_id,
100
- 'question': question,
101
- 'images': images,
102
- 'conversations': conversation,
103
- 'annotation': annotation
104
- }
105
-
106
-
107
- class InferenceSampler(torch.utils.data.sampler.Sampler):
108
-
109
- def __init__(self, size):
110
- self._size = int(size)
111
- assert size > 0
112
- self._rank = torch.distributed.get_rank()
113
- self._world_size = torch.distributed.get_world_size()
114
- self._local_indices = self._get_local_indices(size, self._world_size, self._rank)
115
-
116
- @staticmethod
117
- def _get_local_indices(total_size, world_size, rank):
118
- shard_size = total_size // world_size
119
- left = total_size % world_size
120
- shard_sizes = [shard_size + int(r < left) for r in range(world_size)]
121
-
122
- begin = sum(shard_sizes[:rank])
123
- end = min(sum(shard_sizes[:rank + 1]), total_size)
124
- return range(begin, end)
125
-
126
- def __iter__(self):
127
- yield from self._local_indices
128
-
129
- def __len__(self):
130
- return len(self._local_indices)
131
-
132
-
133
- def evaluate_chat_model():
134
- prompt = '' if args.cot else 'Answer the question using a single word or phrase.'
135
- random.seed(args.seed)
136
-
137
- for ds_name in args.datasets:
138
- dataset = VQADataset(
139
- root=ds_collections[ds_name]['root'],
140
- data=ds_collections[ds_name]['question'],
141
- prompt=prompt,
142
- )
143
- dataloader = torch.utils.data.DataLoader(
144
- dataset=dataset,
145
- sampler=InferenceSampler(len(dataset)),
146
- batch_size=args.batch_size,
147
- num_workers=args.num_workers,
148
- pin_memory=True,
149
- drop_last=False,
150
- collate_fn=collate_fn,
151
- )
152
-
153
- outputs = []
154
- for _, (questions, images, conversations, question_ids, annotations) in tqdm(enumerate(dataloader)):
155
- pred = model.chat(
156
- tokenizer,
157
- new_token_ids,
158
- image_transform,
159
- images=images[0], # batch=1
160
- prompt=conversations[0], # batch=1
161
- max_length=ds_collections[ds_name]['max_new_tokens'], # TODO: how to use ds_collections[ds_name]['min_new_tokens']
162
- )
163
- pred_orig = pred
164
- if args.cot:
165
- pred = extract_answer(pred).strip()
166
- answers = [pred]
167
-
168
- for question_id, answer, annotation in zip(question_ids, answers, annotations):
169
- outputs.append({
170
- 'question_id': question_id,
171
- 'text': pred,
172
- 'text_orig': pred_orig,
173
- 'metadata': {},
174
- })
175
-
176
- torch.distributed.barrier()
177
-
178
- world_size = torch.distributed.get_world_size()
179
- merged_outputs = [None for _ in range(world_size)]
180
- torch.distributed.all_gather_object(merged_outputs, json.dumps(outputs))
181
-
182
- merged_outputs = [json.loads(_) for _ in merged_outputs]
183
- merged_outputs = [_ for _ in itertools.chain.from_iterable(merged_outputs)]
184
-
185
- if torch.distributed.get_rank() == 0:
186
- print(f'Evaluating {ds_name} ...')
187
- results_file = os.path.join(args.out_dir, 'results.json')
188
- json.dump(merged_outputs, open(results_file, 'w'))
189
- print('Results saved to {}'.format(results_file))
190
- cmd = 'python eval/vlm/eval/pope/eval_pope.py ' \
191
- '--annotation-dir eval/vlm/data/pope/coco ' \
192
- '--question-file eval/vlm/data/pope/llava_pope_test.jsonl ' \
193
- f'--result-file {results_file} ' \
194
- f'--out-dir {args.out_dir}'
195
- print(cmd)
196
- os.system(cmd)
197
-
198
-
199
- if __name__ == '__main__':
200
- parser = argparse.ArgumentParser()
201
- parser.add_argument('--datasets', type=str, default='pope')
202
- parser.add_argument('--batch-size', type=int, default=1)
203
- parser.add_argument('--num-workers', type=int, default=1)
204
- parser.add_argument('--out-dir', type=str, default='results')
205
- parser.add_argument('--seed', type=int, default=0)
206
- parser.add_argument('--model-path', type=str, default='hf/BAGEL-7B-MoT/')
207
- parser.add_argument('--cot', action='store_true')
208
- args = parser.parse_args()
209
-
210
- if not os.path.exists(args.out_dir):
211
- os.makedirs(args.out_dir, exist_ok=True)
212
-
213
- args.datasets = args.datasets.split(',')
214
- print('datasets:', args.datasets)
215
- assert args.batch_size == 1, 'Only batch size 1 is supported'
216
-
217
- torch.distributed.init_process_group(
218
- backend='nccl',
219
- world_size=int(os.getenv('WORLD_SIZE', '1')),
220
- rank=int(os.getenv('RANK', '0')),
221
- )
222
-
223
- torch.cuda.set_device(int(os.getenv('LOCAL_RANK', 0)))
224
-
225
- model, tokenizer, new_token_ids = load_model_and_tokenizer(args)
226
- image_transform = build_transform()
227
-
228
- total_params = sum(p.numel() for p in model.parameters()) / 1e9
229
- print(f'[test] total_params: {total_params}B')
230
-
231
- evaluate_chat_model()