├── .gitignore ├── DATA.md ├── LICENSE ├── README.md ├── inference.py ├── inference.sh ├── inference_34b.sh ├── inference_image.py ├── lmms-eval ├── lmms_eval │ ├── __init__.py │ ├── __main__.py │ ├── api │ │ ├── __init__.py │ │ ├── __pycache__ │ │ │ ├── __init__.cpython-310.pyc │ │ │ ├── filter.cpython-310.pyc │ │ │ ├── instance.cpython-310.pyc │ │ │ ├── metrics.cpython-310.pyc │ │ │ ├── model.cpython-310.pyc │ │ │ ├── registry.cpython-310.pyc │ │ │ ├── samplers.cpython-310.pyc │ │ │ └── task.cpython-310.pyc │ │ ├── filter.py │ │ ├── instance.py │ │ ├── metrics.py │ │ ├── model.py │ │ ├── registry.py │ │ ├── samplers.py │ │ └── task.py │ ├── evaluator.py │ ├── filters │ │ ├── __init__.py │ │ ├── __pycache__ │ │ │ ├── __init__.cpython-310.pyc │ │ │ ├── extraction.cpython-310.pyc │ │ │ ├── selection.cpython-310.pyc │ │ │ └── transformation.cpython-310.pyc │ │ ├── decontamination.py │ │ ├── extraction.py │ │ ├── selection.py │ │ └── transformation.py │ ├── logging_utils.py │ ├── models │ │ ├── __init__.py │ │ ├── __pycache__ │ │ │ ├── __init__.cpython-310.pyc │ │ │ ├── from_log.cpython-310.pyc │ │ │ ├── oryx.cpython-310.pyc │ │ │ └── oryx_image.cpython-310.pyc │ │ ├── from_log.py │ │ ├── model_utils │ │ │ ├── __init__.py │ │ │ ├── __pycache__ │ │ │ │ ├── __init__.cpython-310.pyc │ │ │ │ └── load_video.cpython-310.pyc │ │ │ ├── load_video.py │ │ │ └── qwen │ │ │ │ └── qwen_generate_utils.py │ │ ├── mplug_owl_video │ │ │ ├── __init__.py │ │ │ ├── configuration_mplug_owl.py │ │ │ ├── modeling_mplug_owl.py │ │ │ ├── processing_mplug_owl.py │ │ │ └── tokenization_mplug_owl.py │ │ ├── oryx.py │ │ ├── oryx_image.py │ │ └── video_chatgpt │ │ │ ├── __init__.py │ │ │ ├── constants.py │ │ │ ├── eval │ │ │ ├── __init__.py │ │ │ └── model_utils.py │ │ │ ├── inference.py │ │ │ ├── model │ │ │ ├── __init__.py │ │ │ ├── consolidate.py │ │ │ ├── make_delta.py │ │ │ ├── utils.py │ │ │ └── video_chatgpt.py │ │ │ ├── single_video_inference.py │ │ │ ├── utils.py │ │ │ └── video_conversation.py │ ├── tasks │ │ ├── __init__.py │ │ ├── __pycache__ │ │ │ └── __init__.cpython-310.pyc │ │ ├── _task_utils │ │ │ ├── __pycache__ │ │ │ │ ├── file_utils.cpython-310.pyc │ │ │ │ ├── video_loader.cpython-310.pyc │ │ │ │ └── vqa_eval_metric.cpython-310.pyc │ │ │ ├── file_utils.py │ │ │ ├── gpt_eval_utils.py │ │ │ ├── video_loader.py │ │ │ └── vqa_eval_metric.py │ │ ├── activitynetqa │ │ │ ├── __pycache__ │ │ │ │ └── utils.cpython-310.pyc │ │ │ ├── _default_template_yaml │ │ │ ├── activitynetqa_generation.yaml │ │ │ └── utils.py │ │ ├── ai2d │ │ │ ├── __pycache__ │ │ │ │ └── utils.cpython-310.pyc │ │ │ ├── ai2d.yaml │ │ │ ├── upload_ai2d.py │ │ │ └── utils.py │ │ ├── chartqa │ │ │ ├── __pycache__ │ │ │ │ └── utils.cpython-310.pyc │ │ │ ├── chartqa.yaml │ │ │ ├── upload_chartqa.py │ │ │ └── utils.py │ │ ├── cmmmu │ │ │ ├── __pycache__ │ │ │ │ └── utils.cpython-310.pyc │ │ │ ├── _cmmmu.yaml │ │ │ ├── _default_template_cmmmu_yaml │ │ │ ├── cmmmu_test.yaml │ │ │ ├── cmmmu_val.yaml │ │ │ └── utils.py │ │ ├── coco_cap │ │ │ ├── __pycache__ │ │ │ │ └── utils.cpython-310.pyc │ │ │ ├── coco2014_cap.yaml │ │ │ ├── coco2014_cap_test.yaml │ │ │ ├── coco2014_cap_val.yaml │ │ │ ├── coco2017_cap.yaml │ │ │ ├── coco2017_cap_test.yaml │ │ │ ├── coco2017_cap_val.yaml │ │ │ ├── coco_cap.yaml │ │ │ └── utils.py │ │ ├── conbench │ │ │ ├── __pycache__ │ │ │ │ └── utils.cpython-310.pyc │ │ │ ├── conbench.yaml │ │ │ └── utils.py │ │ ├── cvrr │ │ │ ├── __pycache__ │ │ │ │ └── utils.cpython-310.pyc │ │ │ ├── _cvrr.yaml │ │ │ ├── _default_template_yaml │ │ │ ├── cvrr_fine_grained_action_understanding.yaml │ │ │ ├── cvrr_interpretation_of_social_context.yaml │ │ │ ├── cvrr_interpretation_of_visual_context.yaml │ │ │ ├── cvrr_multiple_actions_in_a_single_video.yaml │ │ │ ├── cvrr_non_existent_actions_with_existent_scene_depictions.yaml │ │ │ ├── cvrr_non_existent_actions_with_non_existent_scene_depictions.yaml │ │ │ ├── cvrr_object_instance_count.yaml │ │ │ ├── cvrr_partial_actions.yaml │ │ │ ├── cvrr_time_order_understanding.yaml │ │ │ ├── cvrr_understanding_emotional_context.yaml │ │ │ ├── cvrr_unusual_and_physically_anomalous_activities.yaml │ │ │ └── utils.py │ │ ├── docvqa │ │ │ ├── __pycache__ │ │ │ │ └── utils.cpython-310.pyc │ │ │ ├── _default_template_docvqa_yaml │ │ │ ├── docvqa.yaml │ │ │ ├── docvqa_test.yaml │ │ │ ├── docvqa_val.yaml │ │ │ └── utils.py │ │ ├── egoschema │ │ │ ├── README.md │ │ │ ├── __pycache__ │ │ │ │ └── utils.cpython-310.pyc │ │ │ ├── _default_template_yaml │ │ │ ├── egoschema.yaml │ │ │ ├── egoschema_mcppl.yaml │ │ │ ├── egoschema_subset.yaml │ │ │ ├── egoschema_subset_mcppl.yaml │ │ │ └── utils.py │ │ ├── ferret │ │ │ ├── __pycache__ │ │ │ │ └── utils.cpython-310.pyc │ │ │ ├── ferret.yaml │ │ │ ├── rule.json │ │ │ └── utils.py │ │ ├── flickr30k │ │ │ ├── __pycache__ │ │ │ │ └── utils.cpython-310.pyc │ │ │ ├── flickr30k.yaml │ │ │ ├── flickr30k_test.yaml │ │ │ └── utils.py │ │ ├── gqa │ │ │ ├── __pycache__ │ │ │ │ └── utils.cpython-310.pyc │ │ │ ├── gqa.yaml │ │ │ └── utils.py │ │ ├── hallusion_bench │ │ │ ├── __pycache__ │ │ │ │ ├── evaluate_hb.cpython-310.pyc │ │ │ │ └── utils.cpython-310.pyc │ │ │ ├── evaluate_hb.py │ │ │ ├── hallusion_bench_image.yaml │ │ │ └── utils.py │ │ ├── iconqa │ │ │ ├── __pycache__ │ │ │ │ └── utils.cpython-310.pyc │ │ │ ├── _default_template_docvqa_yaml │ │ │ ├── iconqa.yaml │ │ │ ├── iconqa_test.yaml │ │ │ ├── iconqa_val.yaml │ │ │ └── utils.py │ │ ├── infovqa │ │ │ ├── __pycache__ │ │ │ │ └── utils.cpython-310.pyc │ │ │ ├── _default_template_infovqa_yaml │ │ │ ├── infovqa.yaml │ │ │ ├── infovqa_test.yaml │ │ │ ├── infovqa_val.yaml │ │ │ └── utils.py │ │ ├── internal_eval │ │ │ ├── __pycache__ │ │ │ │ ├── d170_cn_utils.cpython-310.pyc │ │ │ │ ├── d170_en_utils.cpython-310.pyc │ │ │ │ ├── dc100_en_utils.cpython-310.pyc │ │ │ │ ├── dc200_cn_utils.cpython-310.pyc │ │ │ │ └── utils.cpython-310.pyc │ │ │ ├── _default_template_internal_eval_yaml │ │ │ ├── d170_cn.yaml │ │ │ ├── d170_cn_utils.py │ │ │ ├── d170_en.yaml │ │ │ ├── d170_en_utils.py │ │ │ ├── dc100_en.yaml │ │ │ ├── dc100_en_utils.py │ │ │ ├── dc200_cn.yaml │ │ │ ├── dc200_cn_utils.py │ │ │ ├── internal_eval.yaml │ │ │ └── utils.py │ │ ├── llava-bench-coco │ │ │ ├── __pycache__ │ │ │ │ └── utils.cpython-310.pyc │ │ │ ├── llava-bench-coco.yaml │ │ │ ├── rule.json │ │ │ └── utils.py │ │ ├── llava-in-the-wild │ │ │ ├── __pycache__ │ │ │ │ └── utils.cpython-310.pyc │ │ │ ├── llava-in-the-wild.yaml │ │ │ ├── rule.json │ │ │ └── utils.py │ │ ├── llava_wilder │ │ │ ├── __pycache__ │ │ │ │ └── utils.cpython-310.pyc │ │ │ ├── _default_template_wilder_yaml │ │ │ ├── llava_wilder_full.yaml │ │ │ ├── llava_wilder_medium.yaml │ │ │ ├── llava_wilder_small.yaml │ │ │ └── utils.py │ │ ├── longvideobench │ │ │ ├── __pycache__ │ │ │ │ └── utils.cpython-310.pyc │ │ │ ├── longvideobench_test_v.yaml │ │ │ ├── longvideobench_val_v.yaml │ │ │ └── utils.py │ │ ├── mathverse │ │ │ ├── __pycache__ │ │ │ │ ├── mathverse_evals.cpython-310.pyc │ │ │ │ └── utils.cpython-310.pyc │ │ │ ├── mathverse.yaml │ │ │ ├── mathverse_evals.py │ │ │ ├── mathverse_testmini.yaml │ │ │ ├── mathverse_testmini_text_dominant.yaml │ │ │ ├── mathverse_testmini_text_lite.yaml │ │ │ ├── mathverse_testmini_text_only.yaml │ │ │ ├── mathverse_testmini_vision_dominant.yaml │ │ │ ├── mathverse_testmini_vision_intensive.yaml │ │ │ ├── mathverse_testmini_vision_only.yaml │ │ │ └── utils.py │ │ ├── mathvista │ │ │ ├── __pycache__ │ │ │ │ ├── mathvista_evals.cpython-310.pyc │ │ │ │ └── utils.cpython-310.pyc │ │ │ ├── mathvista.yaml │ │ │ ├── mathvista_evals.py │ │ │ ├── mathvista_test.yaml │ │ │ ├── mathvista_testmini.yaml │ │ │ └── utils.py │ │ ├── mlvu │ │ │ ├── __pycache__ │ │ │ │ └── utils.cpython-310.pyc │ │ │ ├── mlvu.yaml │ │ │ └── utils.py │ │ ├── mmbench │ │ │ ├── __pycache__ │ │ │ │ ├── cc_utils.cpython-310.pyc │ │ │ │ ├── cn_utils.cpython-310.pyc │ │ │ │ ├── en_utils.cpython-310.pyc │ │ │ │ └── mmbench_evals.cpython-310.pyc │ │ │ ├── _default_template_mmbench_cn_yaml │ │ │ ├── _default_template_mmbench_en_yaml │ │ │ ├── cc_utils.py │ │ │ ├── cn_utils.py │ │ │ ├── en_utils.py │ │ │ ├── mmbench.yaml │ │ │ ├── mmbench_cc.yaml │ │ │ ├── mmbench_cn.yaml │ │ │ ├── mmbench_cn_dev.yaml │ │ │ ├── mmbench_cn_test.yaml │ │ │ ├── mmbench_en.yaml │ │ │ ├── mmbench_en_dev.yaml │ │ │ ├── mmbench_en_test.yaml │ │ │ └── mmbench_evals.py │ │ ├── mme │ │ │ ├── __pycache__ │ │ │ │ └── utils.cpython-310.pyc │ │ │ ├── mme.yaml │ │ │ └── utils.py │ │ ├── mmmu │ │ │ ├── __pycache__ │ │ │ │ ├── utils.cpython-310.pyc │ │ │ │ └── utils_group_img.cpython-310.pyc │ │ │ ├── arial.ttf │ │ │ ├── mmmu.yaml │ │ │ ├── mmmu_group_img.yaml │ │ │ ├── mmmu_group_img_test.yaml │ │ │ ├── mmmu_group_img_val.yaml │ │ │ ├── mmmu_test.yaml │ │ │ ├── mmmu_val.yaml │ │ │ ├── utils.py │ │ │ └── utils_group_img.py │ │ ├── mmupd │ │ │ ├── __pycache__ │ │ │ │ ├── mmupd_evals.cpython-310.pyc │ │ │ │ └── utils.cpython-310.pyc │ │ │ ├── _default_template_mmupd_yaml │ │ │ ├── mmaad_base.yaml │ │ │ ├── mmaad_instruction.yaml │ │ │ ├── mmaad_option.yaml │ │ │ ├── mmiasd_base.yaml │ │ │ ├── mmiasd_instruction.yaml │ │ │ ├── mmiasd_option.yaml │ │ │ ├── mmivqd_base.yaml │ │ │ ├── mmivqd_instruction.yaml │ │ │ ├── mmivqd_option.yaml │ │ │ ├── mmupd.yaml │ │ │ ├── mmupd_base.yaml │ │ │ ├── mmupd_evals.py │ │ │ ├── mmupd_instruction.yaml │ │ │ ├── mmupd_option.yaml │ │ │ └── utils.py │ │ ├── mmvet │ │ │ ├── __pycache__ │ │ │ │ └── utils.cpython-310.pyc │ │ │ ├── mmvet.yaml │ │ │ └── utils.py │ │ ├── multidocvqa │ │ │ ├── __pycache__ │ │ │ │ └── utils.cpython-310.pyc │ │ │ ├── multidocvqa.yaml │ │ │ ├── multidocvqa_test.yaml │ │ │ ├── multidocvqa_val.yaml │ │ │ └── utils.py │ │ ├── multilingual-llava-bench-in-the-wild │ │ │ ├── README.md │ │ │ ├── __pycache__ │ │ │ │ └── utils.cpython-310.pyc │ │ │ ├── _default_template.yaml │ │ │ ├── arabic_llava_in_the_wild.yaml │ │ │ ├── bengali_llava_in_the_wild.yaml │ │ │ ├── chinese_llava_in_the_wild.yaml │ │ │ ├── french_llava_in_the_wild.yaml │ │ │ ├── hindi_llava_in_the_wild.yaml │ │ │ ├── japanese_llava_in_the_wild.yaml │ │ │ ├── rule.json │ │ │ ├── russian_llava_in_the_wild.yaml │ │ │ ├── spanish_llava_in_the_wild.yaml │ │ │ ├── urdu_llava_in_the_wild.yaml │ │ │ └── utils.py │ │ ├── mvbench │ │ │ ├── __pycache__ │ │ │ │ └── utils.cpython-310.pyc │ │ │ ├── _default_template.yaml │ │ │ ├── mvbench.yaml │ │ │ ├── mvbench_action_antonym.yaml │ │ │ ├── mvbench_action_count.yaml │ │ │ ├── mvbench_action_localization.yaml │ │ │ ├── mvbench_action_prediction.yaml │ │ │ ├── mvbench_action_sequence.yaml │ │ │ ├── mvbench_character_order.yaml │ │ │ ├── mvbench_counterfactual_inference.yaml │ │ │ ├── mvbench_egocentric_navigation.yaml │ │ │ ├── mvbench_episodic_reasoning.yaml │ │ │ ├── mvbench_fine_grained_action.yaml │ │ │ ├── mvbench_fine_grained_pose.yaml │ │ │ ├── mvbench_moving_attribute.yaml │ │ │ ├── mvbench_moving_count.yaml │ │ │ ├── mvbench_moving_direction.yaml │ │ │ ├── mvbench_object_existence.yaml │ │ │ ├── mvbench_object_interaction.yaml │ │ │ ├── mvbench_object_shuffle.yaml │ │ │ ├── mvbench_scene_transition.yaml │ │ │ ├── mvbench_state_change.yaml │ │ │ ├── mvbench_unexpected_action.yaml │ │ │ └── utils.py │ │ ├── nextqa │ │ │ ├── __pycache__ │ │ │ │ └── utils.cpython-310.pyc │ │ │ ├── _default_template_yaml │ │ │ ├── nextqa.yaml │ │ │ ├── nextqa_mc_test.yaml │ │ │ ├── nextqa_oe_test.yaml │ │ │ ├── nextqa_oe_val.yaml │ │ │ ├── stopwords.csv │ │ │ └── utils.py │ │ ├── nocaps │ │ │ ├── __pycache__ │ │ │ │ └── utils.cpython-310.pyc │ │ │ ├── _default_template_nocaps_yaml │ │ │ ├── nocaps.yaml │ │ │ ├── nocaps_test.yaml │ │ │ ├── nocaps_val.yaml │ │ │ └── utils.py │ │ ├── ocrbench │ │ │ ├── __pycache__ │ │ │ │ └── utils.cpython-310.pyc │ │ │ ├── ocrbench.yaml │ │ │ ├── upload_ocrbench.py │ │ │ └── utils.py │ │ ├── ok_vqa │ │ │ ├── __pycache__ │ │ │ │ └── utils.cpython-310.pyc │ │ │ ├── _default_template_vqa_yaml │ │ │ ├── _generate_config.py │ │ │ ├── _ok_vqa.yaml │ │ │ ├── ok_vqa_val2014.yaml │ │ │ └── utils.py │ │ ├── olympiadbench │ │ │ ├── __pycache__ │ │ │ │ ├── cn_utils.cpython-310.pyc │ │ │ │ ├── en_utils.cpython-310.pyc │ │ │ │ └── olympiadbench_evals.cpython-310.pyc │ │ │ ├── cn_utils.py │ │ │ ├── en_utils.py │ │ │ ├── olympiadbench.yaml │ │ │ ├── olympiadbench_evals.py │ │ │ ├── olympiadbench_test_cn.yaml │ │ │ └── olympiadbench_test_en.yaml │ │ ├── perceptiontest │ │ │ ├── test │ │ │ │ ├── __pycache__ │ │ │ │ │ └── utils.cpython-310.pyc │ │ │ │ ├── _default_template_yaml │ │ │ │ ├── perceptiontest_mc.yaml │ │ │ │ ├── perceptiontest_mcppl.yaml │ │ │ │ └── utils.py │ │ │ └── val │ │ │ │ ├── __pycache__ │ │ │ │ └── utils.cpython-310.pyc │ │ │ │ ├── _default_template_yaml │ │ │ │ ├── perceptiontest_mc.yaml │ │ │ │ ├── perceptiontest_mcppl.yaml │ │ │ │ └── utils.py │ │ ├── pope │ │ │ ├── __pycache__ │ │ │ │ └── utils.cpython-310.pyc │ │ │ ├── pope.yaml │ │ │ ├── pope_adv.yaml │ │ │ ├── pope_full.yaml │ │ │ ├── pope_pop.yaml │ │ │ ├── pope_random.yaml │ │ │ └── utils.py │ │ ├── realworldqa │ │ │ ├── __pycache__ │ │ │ │ └── utils.cpython-310.pyc │ │ │ ├── realworldqa.yaml │ │ │ └── utils.py │ │ ├── refcoco+ │ │ │ ├── __pycache__ │ │ │ │ └── utils.cpython-310.pyc │ │ │ ├── _default_template_bbox_yaml │ │ │ ├── _default_template_seg_yaml │ │ │ ├── _generate_config.py │ │ │ ├── _refcoco.yaml │ │ │ ├── refcoco+_bbox_testA.yaml │ │ │ ├── refcoco+_bbox_testB.yaml │ │ │ ├── refcoco+_bbox_val.yaml │ │ │ ├── refcoco+_seg_testA.yaml │ │ │ ├── refcoco+_seg_testB.yaml │ │ │ ├── refcoco+_seg_val.yaml │ │ │ └── utils.py │ │ ├── refcoco │ │ │ ├── __pycache__ │ │ │ │ └── utils.cpython-310.pyc │ │ │ ├── _default_template_bbox_yaml │ │ │ ├── _default_template_seg_yaml │ │ │ ├── _generate_config.py │ │ │ ├── _refcoco.yaml │ │ │ ├── refcoco_bbox_test.yaml │ │ │ ├── refcoco_bbox_testA.yaml │ │ │ ├── refcoco_bbox_testB.yaml │ │ │ ├── refcoco_bbox_val.yaml │ │ │ ├── refcoco_seg_test.yaml │ │ │ ├── refcoco_seg_testA.yaml │ │ │ ├── refcoco_seg_testB.yaml │ │ │ ├── refcoco_seg_val.yaml │ │ │ └── utils.py │ │ ├── refcocog │ │ │ ├── __pycache__ │ │ │ │ └── utils.cpython-310.pyc │ │ │ ├── _default_template_bbox_yaml │ │ │ ├── _default_template_seg_yaml │ │ │ ├── _generate_config.py │ │ │ ├── _refcoco.yaml │ │ │ ├── refcocog_bbox_test.yaml │ │ │ ├── refcocog_bbox_val.yaml │ │ │ ├── refcocog_seg_test.yaml │ │ │ ├── refcocog_seg_val.yaml │ │ │ └── utils.py │ │ ├── scienceqa │ │ │ ├── __pycache__ │ │ │ │ └── utils.cpython-310.pyc │ │ │ ├── scienceqa.yaml │ │ │ ├── scienceqa_full.yaml │ │ │ ├── scienceqa_img.yaml │ │ │ └── utils.py │ │ ├── screenspot │ │ │ ├── README.md │ │ │ ├── __pycache__ │ │ │ │ ├── utils.cpython-310.pyc │ │ │ │ └── utils_rec.cpython-310.pyc │ │ │ ├── _default_template_rec_yaml │ │ │ ├── _default_template_reg_yaml │ │ │ ├── _screenspot.yaml │ │ │ ├── screenspot_rec_test.yaml │ │ │ ├── screenspot_reg_test.yaml │ │ │ ├── utils.py │ │ │ └── utils_rec.py │ │ ├── seedbench │ │ │ ├── __pycache__ │ │ │ │ └── utils.cpython-310.pyc │ │ │ ├── seedbench.yaml │ │ │ ├── seedbench_ppl.yaml │ │ │ └── utils.py │ │ ├── seedbench_2 │ │ │ ├── __pycache__ │ │ │ │ └── utils.cpython-310.pyc │ │ │ ├── seedbench_2.yaml │ │ │ └── utils.py │ │ ├── stvqa │ │ │ ├── __pycache__ │ │ │ │ └── utils.cpython-310.pyc │ │ │ ├── stvqa.yaml │ │ │ └── utils.py │ │ ├── synthdog │ │ │ ├── __pycache__ │ │ │ │ ├── donut_evaluator.cpython-310.pyc │ │ │ │ └── utils.cpython-310.pyc │ │ │ ├── donut_evaluator.py │ │ │ ├── synthdog.yaml │ │ │ ├── synthdog_en.yaml │ │ │ ├── synthdog_zh.yaml │ │ │ └── utils.py │ │ ├── textcaps │ │ │ ├── __pycache__ │ │ │ │ └── utils.cpython-310.pyc │ │ │ ├── _default_template_textcaps_yaml │ │ │ ├── textcaps.yaml │ │ │ ├── textcaps_test.yaml │ │ │ ├── textcaps_train.yaml │ │ │ ├── textcaps_val.yaml │ │ │ └── utils.py │ │ ├── textvqa │ │ │ ├── __pycache__ │ │ │ │ └── utils.cpython-310.pyc │ │ │ ├── _default_template_textvqa_yaml │ │ │ ├── _textvqa.yaml │ │ │ ├── textvqa_test.yaml │ │ │ ├── textvqa_val.yaml │ │ │ └── utils.py │ │ ├── vatex │ │ │ ├── __pycache__ │ │ │ │ └── utils.cpython-310.pyc │ │ │ ├── _vatex.yaml │ │ │ ├── utils.py │ │ │ ├── vatex_test.yaml │ │ │ └── vatex_val_zh.yaml │ │ ├── vcr_wiki │ │ │ ├── __pycache__ │ │ │ │ └── utils.cpython-310.pyc │ │ │ ├── _default_template_vcr_yaml │ │ │ ├── utils.py │ │ │ ├── vcr_wiki_en_easy.yaml │ │ │ ├── vcr_wiki_en_easy_100.yaml │ │ │ ├── vcr_wiki_en_easy_500.yaml │ │ │ ├── vcr_wiki_en_hard.yaml │ │ │ ├── vcr_wiki_en_hard_100.yaml │ │ │ ├── vcr_wiki_en_hard_500.yaml │ │ │ ├── vcr_wiki_zh_easy.yaml │ │ │ ├── vcr_wiki_zh_easy_100.yaml │ │ │ ├── vcr_wiki_zh_easy_500.yaml │ │ │ ├── vcr_wiki_zh_hard.yaml │ │ │ ├── vcr_wiki_zh_hard_100.yaml │ │ │ └── vcr_wiki_zh_hard_500.yaml │ │ ├── video_detail_description │ │ │ ├── README.md │ │ │ ├── __pycache__ │ │ │ │ └── utils.cpython-310.pyc │ │ │ ├── _default_template_yaml │ │ │ ├── utils.py │ │ │ └── video_detail_description.yaml │ │ ├── videochatgpt │ │ │ ├── __pycache__ │ │ │ │ └── utils.cpython-310.pyc │ │ │ ├── _default_template_yaml │ │ │ ├── _videochatgpt.yaml │ │ │ ├── utils.py │ │ │ ├── videochatgpt_consistency.yaml │ │ │ ├── videochatgpt_generic.yaml │ │ │ └── videochatgpt_temporal.yaml │ │ ├── videomme │ │ │ ├── __pycache__ │ │ │ │ └── utils.cpython-310.pyc │ │ │ ├── utils.py │ │ │ ├── videomme.yaml │ │ │ └── videomme_w_subtitle.yaml │ │ ├── videomme_fix │ │ │ ├── __pycache__ │ │ │ │ └── utils.cpython-310.pyc │ │ │ ├── utils.py │ │ │ ├── videomme.yaml │ │ │ └── videomme_w_subtitle.yaml │ │ ├── vizwiz_vqa │ │ │ ├── __pycache__ │ │ │ │ └── utils.cpython-310.pyc │ │ │ ├── _default_template_vqa_yaml │ │ │ ├── _generate_config.py │ │ │ ├── _vizwiz_vqa.yaml │ │ │ ├── utils.py │ │ │ ├── vizwiz_vqa_test.yaml │ │ │ └── vizwiz_vqa_val.yaml │ │ ├── vqav2 │ │ │ ├── __pycache__ │ │ │ │ └── utils.cpython-310.pyc │ │ │ ├── _default_template_vqav2_yaml │ │ │ ├── _vqav2.yaml │ │ │ ├── utils.py │ │ │ ├── vqav2_test.yaml │ │ │ └── vqav2_val.yaml │ │ ├── websrc │ │ │ ├── README.md │ │ │ ├── __pycache__ │ │ │ │ └── utils.cpython-310.pyc │ │ │ ├── utils.py │ │ │ ├── websrc.yaml │ │ │ ├── websrc_test.yaml │ │ │ └── websrc_val.yaml │ │ ├── worldqa │ │ │ ├── __pycache__ │ │ │ │ ├── utils.cpython-310.pyc │ │ │ │ └── worldqa_mc_evaluator.cpython-310.pyc │ │ │ ├── _default_template_yaml │ │ │ ├── utils.py │ │ │ ├── worldqa.yaml │ │ │ ├── worldqa_generation.yaml │ │ │ ├── worldqa_mc.yaml │ │ │ ├── worldqa_mc_evaluator.py │ │ │ └── worldqa_mcppl.yaml │ │ └── youcook2 │ │ │ ├── __pycache__ │ │ │ └── utils.cpython-310.pyc │ │ │ ├── _default_template_yaml │ │ │ ├── utils.py │ │ │ └── youcook2_val.yaml │ └── utils.py ├── pyproject.toml └── setup.py ├── oryx ├── __init__.py ├── constants.py ├── conversation.py ├── mm_utils.py ├── model │ ├── __init__.py │ ├── __pycache__ │ │ ├── __init__.cpython-310.pyc │ │ ├── builder.cpython-310.pyc │ │ └── oryx_arch.cpython-310.pyc │ ├── builder.py │ ├── language_model │ │ ├── __pycache__ │ │ │ ├── oryx_llama.cpython-310.pyc │ │ │ └── oryx_qwen.cpython-310.pyc │ │ ├── oryx_llama.py │ │ └── oryx_qwen.py │ ├── multimodal_encoder │ │ ├── __pycache__ │ │ │ ├── builder.cpython-310.pyc │ │ │ └── oryx_vit.cpython-310.pyc │ │ ├── builder.py │ │ └── oryx_vit.py │ ├── multimodal_projector │ │ ├── __pycache__ │ │ │ └── builder.cpython-310.pyc │ │ └── builder.py │ ├── multimodal_resampler │ │ ├── __pycache__ │ │ │ ├── builder.cpython-310.pyc │ │ │ ├── masked_drop.cpython-310.pyc │ │ │ ├── perceiver.cpython-310.pyc │ │ │ ├── qformer.cpython-310.pyc │ │ │ ├── spatial_pool.cpython-310.pyc │ │ │ └── vlm_attention.cpython-310.pyc │ │ ├── builder.py │ │ ├── masked_drop.py │ │ ├── perceiver.py │ │ ├── qformer.py │ │ ├── spatial_pool.py │ │ └── vlm_attention.py │ └── oryx_arch.py ├── train │ ├── llama_flash_attn_monkey_patch.py │ ├── oryx_trainer.py │ ├── train.py │ └── train_mem.py └── utils.py ├── pyproject.toml └── scripts ├── eval_image.sh ├── eval_video.sh ├── train_oryx_34b.sh ├── train_oryx_7b.sh ├── zero2.json ├── zero3.json └── zero3_offload.json /.gitignore: -------------------------------------------------------------------------------- 1 | *.egg-info/ 2 | __pycache__/ 3 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2024 Zuyan Liu 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /inference.sh: -------------------------------------------------------------------------------- 1 | export LOWRES_RESIZE=384x32 2 | export VIDEO_RESIZE="0x64" 3 | export HIGHRES_BASE="0x32" 4 | export MAXRES=1536 5 | export MINRES=0 6 | export VIDEO_MAXRES=480 7 | export VIDEO_MINRES=288 8 | 9 | python inference.py -------------------------------------------------------------------------------- /inference_34b.sh: -------------------------------------------------------------------------------- 1 | export LOWRES_RESIZE=384x32 2 | export VIDEO_RESIZE="0x64" 3 | export HIGHRES_BASE="0x32" 4 | export MAXRES=1536 5 | export MINRES=0 6 | export VIDEO_MAXRES=480 7 | export VIDEO_MINRES=288 8 | 9 | export EVAL_LARGE=1 10 | 11 | python inference.py -------------------------------------------------------------------------------- /lmms-eval/lmms_eval/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oryx-mllm/Oryx/8228719263cf99edcbc342caa99b1165be6e2f26/lmms-eval/lmms_eval/__init__.py -------------------------------------------------------------------------------- /lmms-eval/lmms_eval/api/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oryx-mllm/Oryx/8228719263cf99edcbc342caa99b1165be6e2f26/lmms-eval/lmms_eval/api/__init__.py -------------------------------------------------------------------------------- /lmms-eval/lmms_eval/api/__pycache__/__init__.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oryx-mllm/Oryx/8228719263cf99edcbc342caa99b1165be6e2f26/lmms-eval/lmms_eval/api/__pycache__/__init__.cpython-310.pyc -------------------------------------------------------------------------------- /lmms-eval/lmms_eval/api/__pycache__/filter.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oryx-mllm/Oryx/8228719263cf99edcbc342caa99b1165be6e2f26/lmms-eval/lmms_eval/api/__pycache__/filter.cpython-310.pyc -------------------------------------------------------------------------------- /lmms-eval/lmms_eval/api/__pycache__/instance.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oryx-mllm/Oryx/8228719263cf99edcbc342caa99b1165be6e2f26/lmms-eval/lmms_eval/api/__pycache__/instance.cpython-310.pyc -------------------------------------------------------------------------------- /lmms-eval/lmms_eval/api/__pycache__/metrics.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oryx-mllm/Oryx/8228719263cf99edcbc342caa99b1165be6e2f26/lmms-eval/lmms_eval/api/__pycache__/metrics.cpython-310.pyc -------------------------------------------------------------------------------- /lmms-eval/lmms_eval/api/__pycache__/model.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oryx-mllm/Oryx/8228719263cf99edcbc342caa99b1165be6e2f26/lmms-eval/lmms_eval/api/__pycache__/model.cpython-310.pyc -------------------------------------------------------------------------------- /lmms-eval/lmms_eval/api/__pycache__/registry.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oryx-mllm/Oryx/8228719263cf99edcbc342caa99b1165be6e2f26/lmms-eval/lmms_eval/api/__pycache__/registry.cpython-310.pyc -------------------------------------------------------------------------------- /lmms-eval/lmms_eval/api/__pycache__/samplers.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oryx-mllm/Oryx/8228719263cf99edcbc342caa99b1165be6e2f26/lmms-eval/lmms_eval/api/__pycache__/samplers.cpython-310.pyc -------------------------------------------------------------------------------- /lmms-eval/lmms_eval/api/__pycache__/task.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oryx-mllm/Oryx/8228719263cf99edcbc342caa99b1165be6e2f26/lmms-eval/lmms_eval/api/__pycache__/task.cpython-310.pyc -------------------------------------------------------------------------------- /lmms-eval/lmms_eval/api/instance.py: -------------------------------------------------------------------------------- 1 | from dataclasses import dataclass, field 2 | from typing import Literal, Tuple 3 | 4 | 5 | @dataclass 6 | class Instance: 7 | request_type: Literal["loglikelihood", "generate_until"] 8 | arguments: tuple 9 | idx: int 10 | metadata: Tuple[str, int, int] = field(default_factory=lambda: (None, None, None)) # TODO: better typehints here 11 | resps: list = field(default_factory=list) 12 | filtered_resps: dict = field(default_factory=dict) 13 | 14 | # initialized after init 15 | task_name: str = None 16 | doc_id: str = None 17 | repeats: str = None 18 | doc: dict = None 19 | 20 | def __post_init__(self) -> None: 21 | # unpack metadata field 22 | self.task_name, self.doc_id, self.repeats = self.metadata 23 | 24 | @property 25 | def args(self): 26 | """ 27 | Returns (string,) where `string` is the string to calculate loglikelihood over 28 | """ 29 | return self.arguments if isinstance(self.arguments, tuple) else (self.arguments,) 30 | -------------------------------------------------------------------------------- /lmms-eval/lmms_eval/filters/__pycache__/__init__.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oryx-mllm/Oryx/8228719263cf99edcbc342caa99b1165be6e2f26/lmms-eval/lmms_eval/filters/__pycache__/__init__.cpython-310.pyc -------------------------------------------------------------------------------- /lmms-eval/lmms_eval/filters/__pycache__/extraction.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oryx-mllm/Oryx/8228719263cf99edcbc342caa99b1165be6e2f26/lmms-eval/lmms_eval/filters/__pycache__/extraction.cpython-310.pyc -------------------------------------------------------------------------------- /lmms-eval/lmms_eval/filters/__pycache__/selection.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oryx-mllm/Oryx/8228719263cf99edcbc342caa99b1165be6e2f26/lmms-eval/lmms_eval/filters/__pycache__/selection.cpython-310.pyc -------------------------------------------------------------------------------- /lmms-eval/lmms_eval/filters/__pycache__/transformation.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oryx-mllm/Oryx/8228719263cf99edcbc342caa99b1165be6e2f26/lmms-eval/lmms_eval/filters/__pycache__/transformation.cpython-310.pyc -------------------------------------------------------------------------------- /lmms-eval/lmms_eval/filters/decontamination.py: -------------------------------------------------------------------------------- 1 | from lmms_eval.api.filter import Filter 2 | 3 | 4 | class DecontaminationFilter(Filter): 5 | """ 6 | A filter which evaluates 7 | """ 8 | 9 | name = "track_decontamination" 10 | 11 | def __init__(self, path) -> None: 12 | """ 13 | 14 | TODO: make sure only ever run one time on the train set (should this be cached as a class var? keyed by value for "path"). 15 | should further cache result on a given (task_name, doc_id) 16 | """ 17 | self._decontam_results = None 18 | 19 | def apply(self, resps, docs) -> None: 20 | """ 21 | Return {"no_contamination", "only_contamination"} keys for the 2 different subsets 22 | """ 23 | pass 24 | -------------------------------------------------------------------------------- /lmms-eval/lmms_eval/models/__init__.py: -------------------------------------------------------------------------------- 1 | import os 2 | import hf_transfer 3 | 4 | os.environ["HF_HUB_ENABLE_HF_TRANSFER"] = "1" 5 | 6 | AVAILABLE_MODELS = { 7 | "oryx": "Oryx", 8 | "oryx_image": "OryxImage", 9 | "from_log": "FromLog", 10 | } 11 | 12 | for model_name, model_class in AVAILABLE_MODELS.items(): 13 | try: 14 | exec(f"from .{model_name} import {model_class}") 15 | except ImportError as e: 16 | print(model_name, e) 17 | -------------------------------------------------------------------------------- /lmms-eval/lmms_eval/models/__pycache__/__init__.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oryx-mllm/Oryx/8228719263cf99edcbc342caa99b1165be6e2f26/lmms-eval/lmms_eval/models/__pycache__/__init__.cpython-310.pyc -------------------------------------------------------------------------------- /lmms-eval/lmms_eval/models/__pycache__/from_log.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oryx-mllm/Oryx/8228719263cf99edcbc342caa99b1165be6e2f26/lmms-eval/lmms_eval/models/__pycache__/from_log.cpython-310.pyc -------------------------------------------------------------------------------- /lmms-eval/lmms_eval/models/__pycache__/oryx.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oryx-mllm/Oryx/8228719263cf99edcbc342caa99b1165be6e2f26/lmms-eval/lmms_eval/models/__pycache__/oryx.cpython-310.pyc -------------------------------------------------------------------------------- /lmms-eval/lmms_eval/models/__pycache__/oryx_image.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oryx-mllm/Oryx/8228719263cf99edcbc342caa99b1165be6e2f26/lmms-eval/lmms_eval/models/__pycache__/oryx_image.cpython-310.pyc -------------------------------------------------------------------------------- /lmms-eval/lmms_eval/models/model_utils/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oryx-mllm/Oryx/8228719263cf99edcbc342caa99b1165be6e2f26/lmms-eval/lmms_eval/models/model_utils/__init__.py -------------------------------------------------------------------------------- /lmms-eval/lmms_eval/models/model_utils/__pycache__/__init__.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oryx-mllm/Oryx/8228719263cf99edcbc342caa99b1165be6e2f26/lmms-eval/lmms_eval/models/model_utils/__pycache__/__init__.cpython-310.pyc -------------------------------------------------------------------------------- /lmms-eval/lmms_eval/models/model_utils/__pycache__/load_video.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oryx-mllm/Oryx/8228719263cf99edcbc342caa99b1165be6e2f26/lmms-eval/lmms_eval/models/model_utils/__pycache__/load_video.cpython-310.pyc -------------------------------------------------------------------------------- /lmms-eval/lmms_eval/models/video_chatgpt/__init__.py: -------------------------------------------------------------------------------- 1 | from .model import VideoChatGPTLlamaForCausalLM 2 | -------------------------------------------------------------------------------- /lmms-eval/lmms_eval/models/video_chatgpt/constants.py: -------------------------------------------------------------------------------- 1 | CONTROLLER_HEART_BEAT_EXPIRATION = 30 2 | WORKER_HEART_BEAT_INTERVAL = 15 3 | 4 | LOGDIR = "." 5 | 6 | 7 | # Defining model 8 | DEFAULT_VIDEO_TOKEN = "