diff --git a/tests/torch/models_hub_test/test_timm.py b/tests/torch/models_hub_test/test_timm.py index b4146418f3e..be17f954af5 100644 --- a/tests/torch/models_hub_test/test_timm.py +++ b/tests/torch/models_hub_test/test_timm.py @@ -9,6 +9,7 @@ # See the License for the specific language governing permissions and # limitations under the License. +from pathlib import Path from typing import Tuple import pytest @@ -18,32 +19,11 @@ from tests.torch.models_hub_test.common import BaseTestModel from tests.torch.models_hub_test.common import ExampleType +from tests.torch.models_hub_test.common import ModelInfo +from tests.torch.models_hub_test.common import get_model_params +from tests.torch.models_hub_test.common import idfn - -def filter_timm(timm_list: list) -> list: - unique_models = set() - filtered_list = [] - ignore_set = { - "base", "mini", "small", "xxtiny", "xtiny", "tiny", "lite", "nano", "pico", "medium", "big", - "large", "xlarge", "xxlarge", "huge", "gigantic", "giant", "enormous", "xs", "xxs", "s", "m", "l", "xl" - } # fmt: skip - for name in timm_list: - # first: remove datasets - name_parts = name.split(".") - _name = "_".join(name.split(".")[:-1]) if len(name_parts) > 1 else name - # second: remove sizes - name_set = set([n for n in _name.split("_") if not n.isnumeric()]) - name_set = name_set.difference(ignore_set) - name_join = "_".join(name_set) - if name_join not in unique_models: - unique_models.add(name_join) - filtered_list.append(name) - return filtered_list - - -def get_all_models() -> list: - m_list = timm.list_pretrained() - return filter_timm(m_list) +MODEL_LIST_FILE = Path(__file__).parent / "timm_models.txt" class TestTimmModel(BaseTestModel): @@ -54,6 +34,6 @@ def load_model(self, model_name: str) -> Tuple[nn.Module, ExampleType]: example = (torch.randn(shape),) return m, example - @pytest.mark.parametrize("name", get_all_models()) - def test_nncf_wrap(self, name): - self.nncf_wrap(name) + @pytest.mark.parametrize("model_info", get_model_params(MODEL_LIST_FILE), ids=idfn) + def test_nncf_wrap(self, model_info: ModelInfo): + self.nncf_wrap(model_info.model_name) diff --git a/tests/torch/models_hub_test/timm_models.txt b/tests/torch/models_hub_test/timm_models.txt new file mode 100644 index 00000000000..073bd61a361 --- /dev/null +++ b/tests/torch/models_hub_test/timm_models.txt @@ -0,0 +1,464 @@ +bat_resnext26ts.ch_in1k +beit_base_patch16_224.in22k_ft_in22k +beitv2_base_patch16_224.in1k_ft_in1k +botnet26t_256.c1_in1k +caformer_b36.sail_in1k +caformer_m36.sail_in1k +caformer_s18.sail_in1k +caformer_s36.sail_in1k +cait_m36_384.fb_dist_in1k +cait_m48_448.fb_dist_in1k +cait_s24_224.fb_dist_in1k +cait_s36_384.fb_dist_in1k +cait_xs24_384.fb_dist_in1k +cait_xxs24_224.fb_dist_in1k +cait_xxs36_224.fb_dist_in1k +coat_lite_medium.in1k +coatnet_0_rw_224.sw_in1k +coatnet_bn_0_rw_224.sw_in1k +coatnet_rmlp_1_rw2_224.sw_in12k +coatnet_rmlp_1_rw_224.sw_in1k +coatnext_nano_rw_224.sw_in1k +convformer_b36.sail_in1k +convformer_m36.sail_in1k +convformer_s18.sail_in1k +convformer_s36.sail_in1k +convit_base.fb_in1k +convmixer_768_32.in1k +convmixer_1024_20_ks9_p14.in1k +convnext_atto.d2_in1k +convnext_atto_ols.a2_in1k +convnext_base.clip_laion2b +convnext_femto.d1_in1k +convnext_femto_ols.d1_in1k +convnext_large_mlp.clip_laion2b_augreg +convnext_nano_ols.d1h_in1k +convnext_tiny_hnf.a2h_in1k +convnextv2_atto.fcmae +convnextv2_base.fcmae +convnextv2_femto.fcmae +crossvit_9_240.in1k +crossvit_9_dagger_240.in1k +cs3darknet_focus_l.c2ns_in1k +cs3darknet_l.c2ns_in1k +cs3darknet_x.c2ns_in1k +cs3edgenet_x.c2_in1k +cs3se_edgenet_x.c2ns_in1k +cs3sedarknet_l.c2ns_in1k +cs3sedarknet_x.c2ns_in1k +cspdarknet53.ra_in1k +cspresnet50.ra_in1k +cspresnext50.ra_in1k +darknet53.c2ns_in1k +darknetaa53.c2ns_in1k +davit_base.msft_in1k +deit3_base_patch16_224.fb_in1k +deit3_huge_patch14_224.fb_in1k +deit_base_distilled_patch16_224.fb_in1k +deit_base_patch16_224.fb_in1k +densenet121.ra_in1k +densenet161.tv_in1k +densenet169.tv_in1k +densenet201.tv_in1k +densenetblur121d.ra_in1k +dla34.in1k +dla46_c.in1k +dla46x_c.in1k +dla60.in1k +dla60_res2net.in1k +dla60_res2next.in1k +dla60x.in1k +dla60x_c.in1k +dla102.in1k +dla102x2.in1k +dla102x.in1k +dla169.in1k +dm_nfnet_f0.dm_in1k +dm_nfnet_f1.dm_in1k +dm_nfnet_f2.dm_in1k +dm_nfnet_f3.dm_in1k +dm_nfnet_f4.dm_in1k +dm_nfnet_f5.dm_in1k +dm_nfnet_f6.dm_in1k +dpn68.mx_in1k +dpn68b.mx_in1k +dpn92.mx_in1k +dpn98.mx_in1k +dpn107.mx_in1k +dpn131.mx_in1k +eca_botnext26ts_256.c1_in1k +eca_halonext26ts.c1_in1k +eca_nfnet_l0.ra2_in1k +eca_nfnet_l1.ra2_in1k +eca_nfnet_l2.ra3_in1k +eca_resnet33ts.ra2_in1k +eca_resnext26ts.ch_in1k +ecaresnet26t.ra2_in1k +ecaresnet50d.miil_in1k +ecaresnet50d_pruned.miil_in1k +ecaresnet50t.a1_in1k +ecaresnet101d.miil_in1k +ecaresnet101d_pruned.miil_in1k +ecaresnet269d.ra2_in1k +ecaresnetlight.miil_in1k +edgenext_base.in21k_ft_in1k +edgenext_small_rw.sw_in1k +edgenext_x_small.in1k +edgenext_xx_small.in1k +efficientformer_l1.snap_dist_in1k +efficientformer_l3.snap_dist_in1k +efficientformer_l7.snap_dist_in1k +efficientformerv2_l.snap_dist_in1k +efficientformerv2_s0.snap_dist_in1k +efficientformerv2_s1.snap_dist_in1k +efficientformerv2_s2.snap_dist_in1k +efficientnet_b0.ra_in1k +efficientnet_b1.ft_in1k +efficientnet_b1_pruned.in1k +efficientnet_b2.ra_in1k +efficientnet_b2_pruned.in1k +efficientnet_b3.ra2_in1k +efficientnet_b3_pruned.in1k +efficientnet_b4.ra2_in1k +efficientnet_b5.sw_in12k +efficientnet_el.ra_in1k +efficientnet_el_pruned.in1k +efficientnet_em.ra2_in1k +efficientnet_es.ra_in1k +efficientnet_es_pruned.in1k +efficientnet_lite0.ra_in1k +efficientnetv2_rw_m.agc_in1k +efficientnetv2_rw_t.ra2_in1k +ese_vovnet19b_dw.ra_in1k +ese_vovnet39b.ra_in1k +eva02_base_patch14_224.mim_in22k +eva02_base_patch16_clip_224.merged2b +eva02_enormous_patch14_clip_224.laion2b +eva_giant_patch14_224.clip_ft_in1k +eva_giant_patch14_clip_224.laion400m +fbnetc_100.rmsp_in1k +fbnetv3_b.ra2_in1k +fbnetv3_d.ra2_in1k +fbnetv3_g.ra2_in1k +flexivit_base.300ep_in1k +focalnet_base_lrf.ms_in1k +focalnet_base_srf.ms_in1k +focalnet_huge_fl3.ms_in22k +focalnet_huge_fl4.ms_in22k +gc_efficientnetv2_rw_t.agc_in1k +gcresnet33ts.ra2_in1k +gcresnet50t.ra2_in1k +gcresnext26ts.ch_in1k +gcresnext50ts.ch_in1k +gcvit_base.in1k +gernet_l.idstcv_in1k +ghostnet_100.in1k +gmixer_24_224.ra3_in1k +gmlp_s16_224.ra3_in1k +halo2botnet50ts_256.a1h_in1k +halonet26t.a1h_in1k +halonet50ts.a1h_in1k +haloregnetz_b.ra3_in1k +hardcorenas_a.miil_green_in1k +hardcorenas_b.miil_green_in1k +hardcorenas_c.miil_green_in1k +hardcorenas_d.miil_green_in1k +hardcorenas_e.miil_green_in1k +hardcorenas_f.miil_green_in1k +hrnet_w18.ms_aug_in1k +hrnet_w18_small_v2.ms_in1k +hrnet_w18_ssld.paddle_in1k +hrnet_w30.ms_in1k +hrnet_w32.ms_in1k +hrnet_w40.ms_in1k +hrnet_w44.ms_in1k +hrnet_w48.ms_in1k +hrnet_w48_ssld.paddle_in1k +hrnet_w64.ms_in1k +inception_resnet_v2.tf_ens_adv_in1k +inception_v3.gluon_in1k +inception_v4.tf_in1k +lambda_resnet26rpt_256.c1_in1k +lambda_resnet26t.c1_in1k +lambda_resnet50ts.a1h_in1k +lamhalobotnet50ts_256.a1h_in1k +lcnet_050.ra2_in1k +legacy_senet154.in1k +legacy_seresnet18.in1k +legacy_seresnet34.in1k +legacy_seresnet50.in1k +legacy_seresnet101.in1k +legacy_seresnet152.in1k +legacy_seresnext26_32x4d.in1k +legacy_seresnext50_32x4d.in1k +legacy_seresnext101_32x4d.in1k +legacy_xception.tf_in1k +levit_128.fb_dist_in1k +levit_128s.fb_dist_in1k +levit_conv_128.fb_dist_in1k +levit_conv_128s.fb_dist_in1k +maxvit_base_tf_224.in1k +maxvit_nano_rw_256.sw_in1k +maxvit_rmlp_base_rw_224.sw_in12k +maxvit_rmlp_tiny_rw_256.sw_in1k +maxxvit_rmlp_nano_rw_256.sw_in1k +maxxvit_rmlp_small_rw_256.sw_in1k +maxxvitv2_nano_rw_256.sw_in1k +maxxvitv2_rmlp_base_rw_224.sw_in12k +mixer_b16_224.goog_in21k +mixer_l16_224.goog_in21k +mixnet_l.ft_in1k +mnasnet_100.rmsp_in1k +mobilenetv2_050.lamb_in1k +mobilenetv2_110d.ra_in1k +mobilenetv2_120d.ra_in1k +mobilenetv3_large_100.miil_in21k +mobilenetv3_rw.rmsp_in1k +mobilevit_s.cvnets_in1k +mobilevitv2_050.cvnets_in1k +mvitv2_base.fb_in1k +mvitv2_base_cls.fb_inw21k +nasnetalarge.tf_in1k +nest_base_jx.goog_in1k +nf_regnet_b1.ra2_in1k +nf_resnet50.ra2_in1k +nfnet_l0.ra2_in1k +pit_b_224.in1k +pit_b_distilled_224.in1k +pit_s_224.in1k +pit_s_distilled_224.in1k +pit_ti_224.in1k +pit_ti_distilled_224.in1k +pnasnet5large.tf_in1k +poolformer_m36.sail_in1k +poolformer_m48.sail_in1k +poolformer_s12.sail_in1k +poolformer_s24.sail_in1k +poolformer_s36.sail_in1k +poolformerv2_m36.sail_in1k +poolformerv2_m48.sail_in1k +poolformerv2_s12.sail_in1k +poolformerv2_s24.sail_in1k +poolformerv2_s36.sail_in1k +pvt_v2_b0.in1k +pvt_v2_b1.in1k +pvt_v2_b2.in1k +pvt_v2_b2_li.in1k +pvt_v2_b3.in1k +pvt_v2_b4.in1k +pvt_v2_b5.in1k +regnetv_040.ra3_in1k +regnetx_002.pycls_in1k +regnetx_004_tv.tv2_in1k +regnety_002.pycls_in1k +regnety_008_tv.tv2_in1k +regnetz_040.ra3_in1k +regnetz_040_h.ra3_in1k +regnetz_b16.ra3_in1k +regnetz_c16.ra3_in1k +regnetz_c16_evos.ch_in1k +regnetz_d8.ra3_in1k +regnetz_d8_evos.ch_in1k +regnetz_d32.ra3_in1k +regnetz_e8.ra3_in1k +repvgg_a2.rvgg_in1k +repvgg_b0.rvgg_in1k +repvgg_b1.rvgg_in1k +repvgg_b1g4.rvgg_in1k +repvgg_b2.rvgg_in1k +repvgg_b2g4.rvgg_in1k +repvgg_b3.rvgg_in1k +repvgg_b3g4.rvgg_in1k +res2net50_14w_8s.in1k +res2net50_26w_4s.in1k +res2net50_26w_6s.in1k +res2net50_26w_8s.in1k +res2net50_48w_2s.in1k +res2net50d.in1k +res2net101_26w_4s.in1k +res2net101d.in1k +res2next50.in1k +resmlp_12_224.fb_dino +resnest14d.gluon_in1k +resnest26d.gluon_in1k +resnest50d.in1k +resnest50d_1s4x24d.in1k +resnest50d_4s2x40d.in1k +resnest101e.in1k +resnest200e.in1k +resnest269e.in1k +resnet10t.c3_in1k +resnet14t.c3_in1k +resnet18.a1_in1k +resnet18d.ra2_in1k +resnet26.bt_in1k +resnet26d.bt_in1k +resnet26t.ra2_in1k +resnet32ts.ra2_in1k +resnet33ts.ra2_in1k +resnet34.a1_in1k +resnet34d.ra2_in1k +resnet50.a1_in1k +resnet50_gn.a1h_in1k +resnet50c.gluon_in1k +resnet50d.a1_in1k +resnet50s.gluon_in1k +resnet51q.ra2_in1k +resnet61q.ra2_in1k +resnet101.a1_in1k +resnet101c.gluon_in1k +resnet101d.gluon_in1k +resnet101s.gluon_in1k +resnet152.a1_in1k +resnet152c.gluon_in1k +resnet152d.gluon_in1k +resnet152s.gluon_in1k +resnet200d.ra2_in1k +resnetaa50.a1h_in1k +resnetaa50d.d_in12k +resnetaa101d.sw_in12k +resnetblur50.bt_in1k +resnetrs50.tf_in1k +resnetrs101.tf_in1k +resnetrs152.tf_in1k +resnetrs200.tf_in1k +resnetrs270.tf_in1k +resnetrs350.tf_in1k +resnetrs420.tf_in1k +resnetv2_50.a1h_in1k +resnetv2_50d_evos.ah_in1k +resnetv2_50d_gn.ah_in1k +resnetv2_50x1_bit.goog_distilled_in1k +resnetv2_50x3_bit.goog_in21k +resnetv2_101x1_bit.goog_in21k +resnetv2_101x3_bit.goog_in21k +resnetv2_152x2_bit.goog_in21k +resnetv2_152x4_bit.goog_in21k +resnext26ts.ra2_in1k +resnext50_32x4d.a1_in1k +resnext50d_32x4d.bt_in1k +resnext101_32x4d.fb_ssl_yfcc100m_ft_in1k +resnext101_32x8d.fb_ssl_yfcc100m_ft_in1k +resnext101_32x16d.fb_ssl_yfcc100m_ft_in1k +resnext101_32x32d.fb_wsl_ig1b_ft_in1k +resnext101_64x4d.c1_in1k +rexnet_100.nav_in1k +rexnetr_200.sw_in12k +sebotnet33ts_256.a1h_in1k +sehalonet33ts.ra2_in1k +SelecSls42b.in1k +SelecSls60.in1k +SelecSls60b.in1k +semnasnet_075.rmsp_in1k +senet154.gluon_in1k +sequencer2d_l.in1k +seresnet33ts.ra2_in1k +seresnet50.a1_in1k +seresnet152d.ra2_in1k +seresnext26d_32x4d.bt_in1k +seresnext26t_32x4d.bt_in1k +seresnext26ts.ch_in1k +seresnext50_32x4d.gluon_in1k +seresnext101_32x4d.gluon_in1k +seresnext101_32x8d.ah_in1k +seresnext101_64x4d.gluon_in1k +seresnext101d_32x8d.ah_in1k +seresnextaa101d_32x8d.ah_in1k +skresnet18.ra_in1k +skresnet34.ra_in1k +skresnext50_32x4d.ra_in1k +spnasnet_100.rmsp_in1k +swin_base_patch4_window7_224.ms_in1k +swin_base_patch4_window12_384.ms_in1k +swin_s3_base_224.ms_in1k +swinv2_base_window8_256.ms_in1k +swinv2_base_window12_192.ms_in22k +swinv2_base_window12to16_192to256.ms_in22k_ft_in1k +swinv2_base_window12to24_192to384.ms_in22k_ft_in1k +swinv2_base_window16_256.ms_in1k +swinv2_cr_small_224.sw_in1k +swinv2_cr_small_ns_224.sw_in1k +tf_efficientnet_b0.aa_in1k +tf_efficientnet_b1.aa_in1k +tf_efficientnet_b2.aa_in1k +tf_efficientnet_b3.aa_in1k +tf_efficientnet_b4.aa_in1k +tf_efficientnet_b5.aa_in1k +tf_efficientnet_b6.aa_in1k +tf_efficientnet_b7.aa_in1k +tf_efficientnet_b8.ap_in1k +tf_efficientnet_cc_b0_4e.in1k +tf_efficientnet_cc_b0_8e.in1k +tf_efficientnet_cc_b1_8e.in1k +tf_efficientnet_el.in1k +tf_efficientnet_em.in1k +tf_efficientnet_es.in1k +tf_efficientnet_l2.ns_jft_in1k +tf_efficientnet_lite0.in1k +tf_efficientnet_lite1.in1k +tf_efficientnet_lite2.in1k +tf_efficientnet_lite3.in1k +tf_efficientnet_lite4.in1k +tf_efficientnetv2_b0.in1k +tf_efficientnetv2_b1.in1k +tf_efficientnetv2_b2.in1k +tf_efficientnetv2_b3.in1k +tf_efficientnetv2_l.in1k +tf_mixnet_l.in1k +tf_mobilenetv3_large_075.in1k +tf_mobilenetv3_large_minimal_100.in1k +tf_mobilenetv3_small_minimal_100.in1k +tinynet_a.in1k +tinynet_b.in1k +tinynet_c.in1k +tinynet_d.in1k +tinynet_e.in1k +tnt_s_patch16_224 +tresnet_l.miil_in1k +tresnet_v2_l.miil_in21k +twins_pcpvt_base.in1k +twins_svt_base.in1k +vgg11.tv_in1k +vgg11_bn.tv_in1k +vgg13.tv_in1k +vgg13_bn.tv_in1k +vgg16.tv_in1k +vgg16_bn.tv_in1k +vgg19.tv_in1k +vgg19_bn.tv_in1k +visformer_small.in1k +vit_base_patch8_224.augreg2_in21k_ft_in1k +vit_base_patch14_dinov2.lvd142m +vit_base_patch16_224.augreg2_in21k_ft_in1k +vit_base_patch16_224_miil.in21k +vit_base_patch16_clip_224.laion2b +vit_base_patch16_rpn_224.sw_in1k +vit_base_patch32_224.augreg_in1k +vit_base_patch32_clip_224.laion2b +vit_base_r50_s16_224.orig_in21k +vit_giant_patch14_clip_224.laion2b +vit_huge_patch14_224.mae +vit_large_r50_s32_224.augreg_in21k +vit_medium_patch16_gap_240.sw_in12k +vit_relpos_base_patch16_224.sw_in1k +vit_relpos_base_patch16_clsgap_224.sw_in1k +vit_relpos_base_patch32_plus_rpn_256.sw_in1k +vit_relpos_medium_patch16_cls_224.sw_in1k +vit_relpos_medium_patch16_rpn_224.sw_in1k +vit_small_r26_s32_224.augreg_in21k +vit_srelpos_medium_patch16_224.sw_in1k +vit_tiny_r_s16_p8_224.augreg_in21k +volo_d1_224.sail_in1k +volo_d2_224.sail_in1k +volo_d3_224.sail_in1k +volo_d4_224.sail_in1k +volo_d5_224.sail_in1k +wide_resnet50_2.racm_in1k +wide_resnet101_2.tv2_in1k +xception41.tf_in1k +xception41p.ra3_in1k +xception65.ra3_in1k +xception65p.ra3_in1k +xception71.tf_in1k +xcit_large_24_p8_224.fb_dist_in1k +xcit_large_24_p16_224.fb_dist_in1k diff --git a/tests/torch/test_algo_common.py b/tests/torch/test_algo_common.py index 8b7be3fc382..4b3172b8ea2 100644 --- a/tests/torch/test_algo_common.py +++ b/tests/torch/test_algo_common.py @@ -399,7 +399,7 @@ def test_compression_loss_gpu_device_compatibility(config): NOT_SUPPORT_SCOPES_ALGO = ["knowledge_distillation", "NoCompressionAlgorithm", "elasticity", "progressive_shrinking"] -@pytest.mark.parametrize("algo_name", PT_COMPRESSION_ALGORITHMS.registry_dict.keys() - NOT_SUPPORT_SCOPES_ALGO) +@pytest.mark.parametrize("algo_name", sorted(PT_COMPRESSION_ALGORITHMS.registry_dict.keys() - NOT_SUPPORT_SCOPES_ALGO)) @pytest.mark.parametrize("validate_scopes", (True, False, None)) def test_raise_validationerror_for_not_matched_scope_names(algo_name, validate_scopes): model = BasicLinearTestModel() @@ -450,7 +450,7 @@ def test_compressed_model_has_controller_references(algos: List[str]): ALGOS_SUPPORTING_SINGLE_LINE_CONFIGS = [ x - for x in PT_COMPRESSION_ALGORITHMS.registry_dict + for x in sorted(PT_COMPRESSION_ALGORITHMS.registry_dict.keys()) if x not in ["knowledge_distillation", "movement_sparsity", "elasticity", "progressive_shrinking"] ] diff --git a/tests/torch/test_resume_from_checkpoint.py b/tests/torch/test_resume_from_checkpoint.py index 82e4627c3bb..f35e199b076 100644 --- a/tests/torch/test_resume_from_checkpoint.py +++ b/tests/torch/test_resume_from_checkpoint.py @@ -117,7 +117,7 @@ def test_can_resume_with_algo_mixing(mocker, is_strict): SAVE_ALGOS += [[QUANTIZATION]] # Q SAVE_ALGOS += LOAD_ALGOS # Q , 3S, 3S + Q, Q+3S -ALGOS = list(itertools.product(SAVE_ALGOS, LOAD_ALGOS)) +ALGOS = list(sorted(itertools.product(SAVE_ALGOS, LOAD_ALGOS), key=lambda x: "_".join(x[0]) + "_".join(x[1]))) @pytest.fixture( @@ -153,7 +153,7 @@ def _algos(request): MODEL_WRAPPER = ["CPU", "GPU"] -WRAPPERS = list(itertools.product(MODEL_WRAPPER, MODEL_WRAPPER)) +WRAPPERS = list(sorted(itertools.product(MODEL_WRAPPER, MODEL_WRAPPER), key=lambda x: "_".join(x))) @pytest.fixture(scope="function", params=WRAPPERS, ids=["_".join(["from:" + w[0], "to:" + w[1]]) for w in WRAPPERS]) @@ -205,7 +205,9 @@ def test_load_state_interoperability(_algos, _model_wrapper, is_resume): RESUME_ALGOS += [[algo] for algo in SPARSITY_ALGOS] # 3S RESUME_ALGOS += [[QUANTIZATION]] # Q RESUME_ALGOS += [["EMPTY"]] # No Compression -RESUME_ALGOS = list(itertools.product(RESUME_ALGOS, RESUME_ALGOS)) +RESUME_ALGOS = list( + sorted(itertools.product(RESUME_ALGOS, RESUME_ALGOS), key=lambda x: "_".join(x[0]) + "_".join(x[1])) +) NUM_PARAMS_PER_ALGO = {QUANTIZATION: 8, "magnitude_sparsity": 1, "const_sparsity": 1, "rb_sparsity": 3, "EMPTY": 0} @@ -265,8 +267,7 @@ def test_load_state__with_resume_checkpoint(_resume_algos, _model_wrapper, mocke assert act_num_loaded == ref_num_loaded -LIST_ALGOS = [None, QUANTIZATION] -LIST_ALGOS += SPARSITY_ALGOS # 3S +LIST_ALGOS = sorted(["", QUANTIZATION] + list(SPARSITY_ALGOS)) @pytest.mark.parametrize("is_resume", (True, False), ids=["resume", "load_weights"])