test_models.py 1.07 KB
Newer Older
1
import pytest
2
from lazy_init_utils import SUPPORT_LAZY, check_lazy_init
3

Frank Lee's avatar
Frank Lee committed
4
from tests.kit.model_zoo import COMMON_MODELS, IS_FAST_TEST, model_zoo
5
6


7
@pytest.mark.skipif(not SUPPORT_LAZY, reason="requires torch >= 1.12.0")
Frank Lee's avatar
Frank Lee committed
8
9
@pytest.mark.parametrize(
    "subset",
10
11
12
13
14
    (
        [COMMON_MODELS]
        if IS_FAST_TEST
        else ["torchvision", "diffusers", "timm", "transformers", "torchaudio", "deepfm", "dlrm"]
    ),
Frank Lee's avatar
Frank Lee committed
15
)
16
@pytest.mark.parametrize("default_device", ["cpu", "cuda"])
17
def test_models_lazy_init(subset, default_device):
Frank Lee's avatar
Frank Lee committed
18
    sub_model_zoo = model_zoo.get_sub_registry(subset, allow_empty=True)
19
20
    for name, entry in sub_model_zoo.items():
        # TODO(ver217): lazy init does not support weight norm, skip these models
Hongxin Liu's avatar
Hongxin Liu committed
21
        if name in ("torchaudio_wav2vec2_base", "torchaudio_hubert_base") or name.startswith(
22
            ("transformers_vit", "transformers_blip2", "transformers_whisper")
23
        ):
24
            continue
25
        check_lazy_init(entry, verbose=True, default_device=default_device)
26
27


28
if __name__ == "__main__":
29
    test_models_lazy_init("transformers", "cpu")