diff --git a/setup.py b/setup.py index a8a522314..f4625c288 100644 --- a/setup.py +++ b/setup.py @@ -43,6 +43,7 @@ def get_optional_dependencies(): "seaborn", "mkdocs", "mkdocs-material", + "torchvision>=0.20", ] } diff --git a/test/convergence/bf16/test_mini_models_multimodal.py b/test/convergence/bf16/test_mini_models_multimodal.py index 1cf4d4db5..04ffedcc8 100644 --- a/test/convergence/bf16/test_mini_models_multimodal.py +++ b/test/convergence/bf16/test_mini_models_multimodal.py @@ -20,6 +20,7 @@ from test.utils import UNTOKENIZED_DATASET_PATH from test.utils import MiniModelConfig from test.utils import assert_verbose_allclose +from test.utils import is_torchvision_available from test.utils import load_image_processing_config from test.utils import load_processor_config from test.utils import load_tokenizer_config @@ -788,6 +789,7 @@ def run_mini_model_multimodal( not QWEN2_VL_AVAILABLE, reason="Qwen2-VL not available in this version of transformers", ), + pytest.mark.skipif(not is_torchvision_available(), reason="Qwen2VLVideoProcessor requires torchvision"), ], ), pytest.param( @@ -826,6 +828,7 @@ def run_mini_model_multimodal( not QWEN2_5_VL_AVAILABLE, reason="Qwen2.5-VL not available in this version of transformers", ), + pytest.mark.skipif(not is_torchvision_available(), reason="Qwen2VLVideoProcessor requires torchvision"), ], ), pytest.param( diff --git a/test/convergence/fp32/test_mini_models_multimodal.py b/test/convergence/fp32/test_mini_models_multimodal.py index fe5431366..52aaa967c 100644 --- a/test/convergence/fp32/test_mini_models_multimodal.py +++ b/test/convergence/fp32/test_mini_models_multimodal.py @@ -20,6 +20,7 @@ from test.utils import UNTOKENIZED_DATASET_PATH from test.utils import MiniModelConfig from test.utils import assert_verbose_allclose +from test.utils import is_torchvision_available from test.utils import load_image_processing_config from test.utils import load_processor_config from test.utils import load_tokenizer_config @@ -783,6 +784,7 @@ def run_mini_model_multimodal( not QWEN2_VL_AVAILABLE, reason="Qwen2-VL not available in this version of transformers", ), + pytest.mark.skipif(not is_torchvision_available(), reason="Qwen2VLVideoProcessor requires torchvision"), ], ), pytest.param( @@ -817,6 +819,7 @@ def run_mini_model_multimodal( not QWEN2_5_VL_AVAILABLE, reason="Qwen2.5-VL not available in this version of transformers", ), + pytest.mark.skipif(not is_torchvision_available(), reason="Qwen2VLVideoProcessor requires torchvision"), ], ), pytest.param( diff --git a/test/utils.py b/test/utils.py index ec2f256b2..ab993ca95 100644 --- a/test/utils.py +++ b/test/utils.py @@ -228,6 +228,13 @@ def supports_bfloat16(): return False +def is_torchvision_available(): + if importlib.util.find_spec("torchvision") is not None: + return True + else: + return False + + def revert_liger_kernel_to_granite(model_config: MiniModelConfig): """ Revert all Liger kernel patches applied to Granite.