diff --git a/tests/configs/aot_test.py b/tests/configs/aot_test.py index a4613c146c..d06e71a4da 100644 --- a/tests/configs/aot_test.py +++ b/tests/configs/aot_test.py @@ -53,3 +53,10 @@ ), loss_disc_shift=dict(type='DiscShiftLoss', loss_weight=0.001), ) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/configs/deepfillv1_test.py b/tests/configs/deepfillv1_test.py index d3e7f10a73..5854f3da32 100644 --- a/tests/configs/deepfillv1_test.py +++ b/tests/configs/deepfillv1_test.py @@ -65,3 +65,10 @@ loss_disc_shift=dict(type='DiscShiftLoss', loss_weight=0.001), train_cfg=dict(disc_step=2, start_iter=0, local_size=(128, 128)), ) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/configs/gl_test.py b/tests/configs/gl_test.py index 3cdc97a7e8..28accb3ac1 100644 --- a/tests/configs/gl_test.py +++ b/tests/configs/gl_test.py @@ -130,3 +130,10 @@ dict(type='GetMaskedImage'), dict(type='PackInputs'), ] + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/configs/one_stage_gl.py b/tests/configs/one_stage_gl.py index b9455f398f..b71978801c 100644 --- a/tests/configs/one_stage_gl.py +++ b/tests/configs/one_stage_gl.py @@ -41,3 +41,10 @@ loss_l1_valid=dict(type='L1Loss', loss_weight=1.0), loss_tv=dict(type='MaskedTVLoss', loss_weight=0.01), train_cfg=dict(disc_step=1)) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/configs/pconv_test.py b/tests/configs/pconv_test.py index 2a94616e87..1bbda67f46 100644 --- a/tests/configs/pconv_test.py +++ b/tests/configs/pconv_test.py @@ -43,3 +43,10 @@ type='MaskedTVLoss', loss_weight=0.1, )) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/configs/two_stage_test.py b/tests/configs/two_stage_test.py index fe49633d19..33cd8b49cc 100644 --- a/tests/configs/two_stage_test.py +++ b/tests/configs/two_stage_test.py @@ -106,3 +106,10 @@ ), loss_disc_shift=dict(type='DiscShiftLoss', loss_weight=0.001), ) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_apis/test_inferencers/test_base_mmedit_inferencer.py b/tests/test_apis/test_inferencers/test_base_mmagic_inferencer.py similarity index 88% rename from tests/test_apis/test_inferencers/test_base_mmedit_inferencer.py rename to tests/test_apis/test_inferencers/test_base_mmagic_inferencer.py index cd2b525605..7e61bccb1f 100644 --- a/tests/test_apis/test_inferencers/test_base_mmedit_inferencer.py +++ b/tests/test_apis/test_inferencers/test_base_mmagic_inferencer.py @@ -23,3 +23,10 @@ def test_base_mmagic_inferencer(): inferencer_instance = BaseMMagicInferencer(cfg, None) extra_parameters = inferencer_instance.get_extra_parameters() assert len(extra_parameters) == 0 + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_apis/test_inferencers/test_colorization_inferencer.py b/tests/test_apis/test_inferencers/test_colorization_inferencer.py index d42c260e35..6ba11327bc 100644 --- a/tests/test_apis/test_inferencers/test_colorization_inferencer.py +++ b/tests/test_apis/test_inferencers/test_colorization_inferencer.py @@ -44,3 +44,10 @@ def test_colorization_inferencer(): img=data_path, result_out_dir=result_out_dir) result_img = inference_result[1] assert result_img.shape == (256, 256, 3) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_apis/test_inferencers/test_conditional_inferencer.py b/tests/test_apis/test_inferencers/test_conditional_inferencer.py index 1764aaa00d..f177c914ae 100644 --- a/tests/test_apis/test_inferencers/test_conditional_inferencer.py +++ b/tests/test_apis/test_inferencers/test_conditional_inferencer.py @@ -24,3 +24,10 @@ def test_conditional_inferencer(): label=1, result_out_dir=result_out_dir) result_img = inference_result[1] assert result_img.shape == (4, 3, 32, 32) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_apis/test_inferencers/test_eg3d_inferencer.py b/tests/test_apis/test_inferencers/test_eg3d_inferencer.py index 3c43df363a..08255d3d42 100644 --- a/tests/test_apis/test_inferencers/test_eg3d_inferencer.py +++ b/tests/test_apis/test_inferencers/test_eg3d_inferencer.py @@ -157,3 +157,10 @@ def test_eg3d_inferencer(): interpolation='camera', num_images=2, result_out_dir=result_out_dir) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_apis/test_inferencers/test_image_super_resolution_inferencer.py b/tests/test_apis/test_inferencers/test_image_super_resolution_inferencer.py index 6a18ec8444..99d82c3cf1 100644 --- a/tests/test_apis/test_inferencers/test_image_super_resolution_inferencer.py +++ b/tests/test_apis/test_inferencers/test_image_super_resolution_inferencer.py @@ -30,3 +30,10 @@ def test_image_super_resolution_inferencer(): img=img_path, result_out_dir=result_out_dir) result_img = inference_result[1] assert result_img.shape == (480, 500, 3) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_apis/test_inferencers/test_inference_functions.py b/tests/test_apis/test_inferencers/test_inference_functions.py index a8a493b57e..75e98d1a9f 100644 --- a/tests/test_apis/test_inferencers/test_inference_functions.py +++ b/tests/test_apis/test_inferencers/test_inference_functions.py @@ -25,3 +25,10 @@ def test_calculate_grid_size(): target_nrow = (3, 3, 3, 1, 2) for bz, ratio, tar in zip(inp_batch_size, aspect_ratio, target_nrow): assert calculate_grid_size(bz, ratio) == tar + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_apis/test_inferencers/test_inpainting_inferencer.py b/tests/test_apis/test_inferencers/test_inpainting_inferencer.py index a1714a0488..c9e44058a0 100644 --- a/tests/test_apis/test_inferencers/test_inpainting_inferencer.py +++ b/tests/test_apis/test_inferencers/test_inpainting_inferencer.py @@ -30,3 +30,10 @@ def test_inpainting_inferencer(): img=masked_img_path, mask=mask_path, result_out_dir=result_out_dir) result_img = inference_result[1] assert result_img.shape == (256, 256, 3) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_apis/test_inferencers/test_matting_inferencer.py b/tests/test_apis/test_inferencers/test_matting_inferencer.py index 12ecfbe549..f7ff1d3dfa 100644 --- a/tests/test_apis/test_inferencers/test_matting_inferencer.py +++ b/tests/test_apis/test_inferencers/test_matting_inferencer.py @@ -22,3 +22,10 @@ def test_matting_inferencer(): img=img_path, trimap=trimap_path, result_out_dir=result_out_dir) result_img = inference_result[1] assert result_img.numpy().shape == (552, 800) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_apis/test_inferencers/test_mmedit_inferencer.py b/tests/test_apis/test_inferencers/test_mmedit_inferencer.py index 3020d41630..fa8685014a 100644 --- a/tests/test_apis/test_inferencers/test_mmedit_inferencer.py +++ b/tests/test_apis/test_inferencers/test_mmedit_inferencer.py @@ -56,3 +56,10 @@ def test_mmagic_inferencer(): extra_parameters = inferencer_instance.get_extra_parameters() assert len(extra_parameters) == 2 + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_apis/test_inferencers/test_text2image_inferencers.py b/tests/test_apis/test_inferencers/test_text2image_inferencers.py index 0699a1e5d8..0aba69eb4a 100644 --- a/tests/test_apis/test_inferencers/test_text2image_inferencers.py +++ b/tests/test_apis/test_inferencers/test_text2image_inferencers.py @@ -106,3 +106,10 @@ def test_translation(self): text=text, result_out_dir=result_out_dir) result_img = inference_result[1] assert result_img[0].cpu().numpy().shape == (3, 32, 32) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_apis/test_inferencers/test_translation_inferencer.py b/tests/test_apis/test_inferencers/test_translation_inferencer.py index e11cccb897..ebc003bd63 100644 --- a/tests/test_apis/test_inferencers/test_translation_inferencer.py +++ b/tests/test_apis/test_inferencers/test_translation_inferencer.py @@ -26,3 +26,10 @@ def test_translation_inferencer(): img=data_path, result_out_dir=result_out_dir) result_img = inference_result[1] assert result_img[0].cpu().numpy().shape == (3, 256, 256) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_apis/test_inferencers/test_unconditional_inferencer.py b/tests/test_apis/test_inferencers/test_unconditional_inferencer.py index 5eb7d5f27d..9618e1806a 100644 --- a/tests/test_apis/test_inferencers/test_unconditional_inferencer.py +++ b/tests/test_apis/test_inferencers/test_unconditional_inferencer.py @@ -50,3 +50,10 @@ def test_unconditional_inferencer(): inference_result = inferencer_instance(result_out_dir=result_out_dir) result_img = inference_result[1] assert result_img.detach().numpy().shape == (1, 3, 256, 256) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_apis/test_inferencers/test_video_interpolation_inferencer.py b/tests/test_apis/test_inferencers/test_video_interpolation_inferencer.py index 3a421c23df..c40019bec2 100644 --- a/tests/test_apis/test_inferencers/test_video_interpolation_inferencer.py +++ b/tests/test_apis/test_inferencers/test_video_interpolation_inferencer.py @@ -56,3 +56,10 @@ def test_video_interpolation_inferencer_fps_multiplier(): inference_result = inferencer_instance( video=video_path, result_out_dir=result_out_dir) assert inference_result is None + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_apis/test_inferencers/test_video_restoration_inferencer.py b/tests/test_apis/test_inferencers/test_video_restoration_inferencer.py index 9afff1f1e0..cdb389aa3d 100644 --- a/tests/test_apis/test_inferencers/test_video_restoration_inferencer.py +++ b/tests/test_apis/test_inferencers/test_video_restoration_inferencer.py @@ -89,3 +89,10 @@ def test_video_restoration_inferencer_max_seq_len(): inference_result = inferencer_instance( video=video_path, result_out_dir=result_out_dir) assert inference_result is None + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_apis/test_mmagic_inferencer.py b/tests/test_apis/test_mmagic_inferencer.py index 4c2b4d4f3f..e4c7a08523 100644 --- a/tests/test_apis/test_mmagic_inferencer.py +++ b/tests/test_apis/test_mmagic_inferencer.py @@ -54,3 +54,10 @@ def test_edit(): if __name__ == '__main__': test_edit() + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_datasets/test_basic_conditional_dataset.py b/tests/test_datasets/test_basic_conditional_dataset.py index 680c9416f8..c4630a3e46 100644 --- a/tests/test_datasets/test_basic_conditional_dataset.py +++ b/tests/test_datasets/test_basic_conditional_dataset.py @@ -95,3 +95,10 @@ def test_init(self): [1, 2, 3, 4]) self.assertEqual(dataset[1]['data_samples'].gt_label.label.tolist(), [1, 4, 5, 3]) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_datasets/test_basic_frames_dataset.py b/tests/test_datasets/test_basic_frames_dataset.py index d4ecfe0f00..3336d7cff3 100644 --- a/tests/test_datasets/test_basic_frames_dataset.py +++ b/tests/test_datasets/test_basic_frames_dataset.py @@ -698,3 +698,10 @@ def test_vfi_ann_dataset(self): '00000000.png') ], sample_idx=1) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_datasets/test_basic_image_dataset.py b/tests/test_datasets/test_basic_image_dataset.py index db4724acd1..4871cb6e30 100644 --- a/tests/test_datasets/test_basic_image_dataset.py +++ b/tests/test_datasets/test_basic_image_dataset.py @@ -170,3 +170,10 @@ def test_refsr_folder_dataset(self): gt_path=str(self.data_root / 'gt' / 'baboon.png'), ref_path=str(self.data_root / 'gt' / 'baboon.png'), sample_idx=0) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_datasets/test_categories.py b/tests/test_datasets/test_categories.py index 3c65d409b8..0d5f288450 100644 --- a/tests/test_datasets/test_categories.py +++ b/tests/test_datasets/test_categories.py @@ -8,3 +8,10 @@ def test_cifar10_categories(): def test_imagenet_categories(): assert len(IMAGENET_CATEGORIES) == 1000 + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_datasets/test_cifar10_dataset.py b/tests/test_datasets/test_cifar10_dataset.py index d0e7793bd7..9ce8df738c 100644 --- a/tests/test_datasets/test_cifar10_dataset.py +++ b/tests/test_datasets/test_cifar10_dataset.py @@ -172,3 +172,10 @@ def test_extra_repr(self): @classmethod def tearDownClass(cls): cls.tmpdir.cleanup() + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_datasets/test_comp1k_dataset.py b/tests/test_datasets/test_comp1k_dataset.py index 5f3c925b28..0aa0fd0ac4 100644 --- a/tests/test_datasets/test_comp1k_dataset.py +++ b/tests/test_datasets/test_comp1k_dataset.py @@ -73,3 +73,10 @@ def test_comp1k_dataset(self): # assert 'alpha' in first_data # assert isinstance(first_data['alpha'], np.ndarray) # assert first_data['alpha'].shape == (552, 800) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_datasets/test_controlnet_dataset.py b/tests/test_datasets/test_controlnet_dataset.py index 2319c1134c..ec97047922 100644 --- a/tests/test_datasets/test_controlnet_dataset.py +++ b/tests/test_datasets/test_controlnet_dataset.py @@ -22,3 +22,10 @@ def test_controlnet_dataset(): assert 'source_path' in data assert 'target_path' in data assert data['prompt'] == prompts[idx] + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_datasets/test_data_utils.py b/tests/test_datasets/test_data_utils.py index e6a25c34a8..a18678134e 100644 --- a/tests/test_datasets/test_data_utils.py +++ b/tests/test_datasets/test_data_utils.py @@ -20,3 +20,10 @@ def test_infer_io_backend(): # TODO: add more uts + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_datasets/test_dreambooth_dataset.py b/tests/test_datasets/test_dreambooth_dataset.py index 781f744800..24776bd63f 100644 --- a/tests/test_datasets/test_dreambooth_dataset.py +++ b/tests/test_datasets/test_dreambooth_dataset.py @@ -18,3 +18,10 @@ def test_dreambooth_dataset(): assert len(dataset) == 2 for data in dataset: assert data['prompt'] == 'a sks ball' + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_datasets/test_grow_scale_image_dataset.py b/tests/test_datasets/test_grow_scale_image_dataset.py index 28636f8df2..c0b1249d6e 100644 --- a/tests/test_datasets/test_grow_scale_image_dataset.py +++ b/tests/test_datasets/test_grow_scale_image_dataset.py @@ -99,3 +99,10 @@ def test_dynamic_unconditional_img_dataset(self): with pytest.raises(AssertionError): _ = GrowScaleImgDataset(10, self.default_pipeline, 10.) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_datasets/test_imagenet_dataset.py b/tests/test_datasets/test_imagenet_dataset.py index a9f0b28820..1e46fdf9e9 100644 --- a/tests/test_datasets/test_imagenet_dataset.py +++ b/tests/test_datasets/test_imagenet_dataset.py @@ -14,3 +14,10 @@ def test_load_data_list(self): with self.assertRaisesRegex( AssertionError, r"\(3\) doesn't match .* classes \(1000\)"): ImageNet(data_root=DATA_DIR, data_prefix=DATA_DIR) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_datasets/test_mscoco_dataset.py b/tests/test_datasets/test_mscoco_dataset.py index 35bc44d857..bcc6d390ad 100644 --- a/tests/test_datasets/test_mscoco_dataset.py +++ b/tests/test_datasets/test_mscoco_dataset.py @@ -29,3 +29,10 @@ def test_mscoco(self): img_path=os.path.join(self.data_root, 'val2014', 'COCO_val2014_000000000042.jpg'), sample_idx=0) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_datasets/test_paired_image_dataset.py b/tests/test_datasets/test_paired_image_dataset.py index 82f09baaee..837c063cc0 100644 --- a/tests/test_datasets/test_paired_image_dataset.py +++ b/tests/test_datasets/test_paired_image_dataset.py @@ -51,3 +51,10 @@ def test_paired_image_dataset(self): assert img.ndim == 3 img = dataset[0]['inputs']['img_b'] assert img.ndim == 3 + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_datasets/test_singan_dataset.py b/tests/test_datasets/test_singan_dataset.py index 4b3636a848..24bfb8f744 100644 --- a/tests/test_datasets/test_singan_dataset.py +++ b/tests/test_datasets/test_singan_dataset.py @@ -40,3 +40,10 @@ def test_singan_dataset(self): a = TestSinGANDataset() a.setup_class() a.test_singan_dataset() + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_datasets/test_transforms/test_albumentations.py b/tests/test_datasets/test_transforms/test_albumentations.py index 052dc9c3df..32971ed151 100644 --- a/tests/test_datasets/test_transforms/test_albumentations.py +++ b/tests/test_datasets/test_transforms/test_albumentations.py @@ -13,3 +13,10 @@ def test_albumentations(): ]) results = model(results) assert results['img'].shape == (4, 4, 3) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_datasets/test_transforms/test_alpha.py b/tests/test_datasets/test_transforms/test_alpha.py index e1bfdcf46d..b1cfecba27 100644 --- a/tests/test_datasets/test_transforms/test_alpha.py +++ b/tests/test_datasets/test_transforms/test_alpha.py @@ -84,3 +84,10 @@ def test_generate_soft_seg(): 'erode_iter_range=(1, 2), dilate_iter_range=(1, 2), ' 'blur_ksizes=[(11, 11)])') assert repr(generate_soft_seg) == repr_str + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_datasets/test_transforms/test_aug_frames.py b/tests/test_datasets/test_transforms/test_aug_frames.py index 652bdd2c65..4163d58d56 100644 --- a/tests/test_datasets/test_transforms/test_aug_frames.py +++ b/tests/test_datasets/test_transforms/test_aug_frames.py @@ -94,3 +94,10 @@ def test_temporal_reverse(self): np.testing.assert_almost_equal(results['lq'][0], img_lq1) np.testing.assert_almost_equal(results['lq'][1], img_lq2) np.testing.assert_almost_equal(results['gt'][0], img_gt) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_datasets/test_transforms/test_aug_pixel.py b/tests/test_datasets/test_transforms/test_aug_pixel.py index a621d14dc7..14d4ed4c9e 100644 --- a/tests/test_datasets/test_transforms/test_aug_pixel.py +++ b/tests/test_datasets/test_transforms/test_aug_pixel.py @@ -264,3 +264,10 @@ def test_unsharp_masking(self): with pytest.raises(ValueError): unsharp_masking = UnsharpMasking( kernel_size=10, sigma=0, weight=0.5, threshold=10, keys=['gt']) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_datasets/test_transforms/test_aug_shape.py b/tests/test_datasets/test_transforms/test_aug_shape.py index 9b8cbf395f..e162a3cd77 100644 --- a/tests/test_datasets/test_transforms/test_aug_shape.py +++ b/tests/test_datasets/test_transforms/test_aug_shape.py @@ -369,3 +369,10 @@ def test_numpy_pad(): f'(keys={pad.keys}, padding={pad.padding}, kwargs={pad.kwargs})') assert str(pad) == repr_str + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_datasets/test_transforms/test_blur_kernels.py b/tests/test_datasets/test_transforms/test_blur_kernels.py index d9851d79ea..07a437aece 100644 --- a/tests/test_datasets/test_transforms/test_blur_kernels.py +++ b/tests/test_datasets/test_transforms/test_blur_kernels.py @@ -10,3 +10,10 @@ def test_blur_kernels(): for kernel_type in kernels: kernel = blur_kernels.random_mixed_kernels([kernel_type], [1], 5) assert kernel.shape == (5, 5) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_datasets/test_transforms/test_crop.py b/tests/test_datasets/test_transforms/test_crop.py index 2f4b456c33..772739a5cd 100644 --- a/tests/test_datasets/test_transforms/test_crop.py +++ b/tests/test_datasets/test_transforms/test_crop.py @@ -383,3 +383,10 @@ def test_instance_crop(): cropped_img = results['cropped_img'] assert len(cropped_img) == 0 assert len(cropped_img) <= 2 + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_datasets/test_transforms/test_fgbg.py b/tests/test_datasets/test_transforms/test_fgbg.py index fc0107530d..b53abef8a8 100644 --- a/tests/test_datasets/test_transforms/test_fgbg.py +++ b/tests/test_datasets/test_transforms/test_fgbg.py @@ -165,3 +165,10 @@ def test_random_load_resize_bg(): assert repr( random_load_bg) == f"RandomLoadResizeBg(bg_dir='{str(bg_dir)}')" + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_datasets/test_transforms/test_formatting.py b/tests/test_datasets/test_transforms/test_formatting.py index b1e146c204..93e7853202 100644 --- a/tests/test_datasets/test_transforms/test_formatting.py +++ b/tests/test_datasets/test_transforms/test_formatting.py @@ -105,3 +105,10 @@ def test_pack_inputs(): gt_bg_tensor = to_tensor(ori_results['bg']) gt_bg_tensor = gt_bg_tensor.permute(2, 0, 1) assert_tensor_equal(data_sample.gt_bg, gt_bg_tensor) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_datasets/test_transforms/test_generate_assistant.py b/tests/test_datasets/test_transforms/test_generate_assistant.py index c1f063ff16..f4392c1990 100644 --- a/tests/test_datasets/test_transforms/test_generate_assistant.py +++ b/tests/test_datasets/test_transforms/test_generate_assistant.py @@ -74,3 +74,10 @@ def test_generate_facial_heatmap(): f'target_size={generate_heatmap.target_size}, ' + f'sigma={generate_heatmap.sigma}, ' f'use_cache={generate_heatmap.use_cache})') + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_datasets/test_transforms/test_generate_frame_indices.py b/tests/test_datasets/test_transforms/test_generate_frame_indices.py index 7c84b09b10..d032b35609 100644 --- a/tests/test_datasets/test_transforms/test_generate_frame_indices.py +++ b/tests/test_datasets/test_transforms/test_generate_frame_indices.py @@ -233,3 +233,10 @@ def test_frame_index_generation_for_recurrent(self): frame_index_generator = GenerateSegmentIndices(interval_list=[1]) rlt = frame_index_generator(copy.deepcopy(results)) assert len(rlt['img_path']) == 100 + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_datasets/test_transforms/test_get_masked_image.py b/tests/test_datasets/test_transforms/test_get_masked_image.py index bcb0e87e53..cd566e99fe 100644 --- a/tests/test_datasets/test_transforms/test_get_masked_image.py +++ b/tests/test_datasets/test_transforms/test_get_masked_image.py @@ -32,3 +32,10 @@ def test_masked_img(): assert results['ori_img_shape'] == img.shape assert results['img_channel_order'] == 'rgb' assert results['img_color_type'] == 'color' + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_datasets/test_transforms/test_loading.py b/tests/test_datasets/test_transforms/test_loading.py index 68ea8f6290..6597a3f299 100644 --- a/tests/test_datasets/test_transforms/test_loading.py +++ b/tests/test_datasets/test_transforms/test_loading.py @@ -296,3 +296,10 @@ def test_load_mask(self): with pytest.raises(NotImplementedError): loader = LoadMask('xxxx', mask_config) results = loader(results) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_datasets/test_transforms/test_matlab_like_resize.py b/tests/test_datasets/test_transforms/test_matlab_like_resize.py index 162ff2a1b3..48c011cb84 100644 --- a/tests/test_datasets/test_transforms/test_matlab_like_resize.py +++ b/tests/test_datasets/test_transforms/test_matlab_like_resize.py @@ -35,3 +35,10 @@ def test_matlab_like_resize(): assert repr(imresize) == imresize.__class__.__name__ \ + "(keys=['lq'], scale=None, output_shape=(6, 6), " \ + 'kernel=bicubic, kernel_width=4.0)' + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_datasets/test_transforms/test_normalization.py b/tests/test_datasets/test_transforms/test_normalization.py index 7e0420c78e..5d850d89cb 100644 --- a/tests/test_datasets/test_transforms/test_normalization.py +++ b/tests/test_datasets/test_transforms/test_normalization.py @@ -133,3 +133,10 @@ def test_rescale_to_zero_one(self): alpha / 255.) np.testing.assert_almost_equal(rescale_to_zero_one_results['alpha'][1], alpha_2 / 255.) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_datasets/test_transforms/test_random_degradations.py b/tests/test_datasets/test_transforms/test_random_degradations.py index ee45bdf9aa..5625b799e6 100644 --- a/tests/test_datasets/test_transforms/test_random_degradations.py +++ b/tests/test_datasets/test_transforms/test_random_degradations.py @@ -451,3 +451,10 @@ def test_degradations_with_shuffle(): ] * 10 model = DegradationsWithShuffle(degradations=degradations, keys=['lq']) model(results) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_datasets/test_transforms/test_random_down_sampling.py b/tests/test_datasets/test_transforms/test_random_down_sampling.py index efc6f5b5fe..7aba5e47a7 100644 --- a/tests/test_datasets/test_transforms/test_random_down_sampling.py +++ b/tests/test_datasets/test_transforms/test_random_down_sampling.py @@ -41,3 +41,10 @@ def test_random_down_sampling(): results3 = down_sampling3(inputs3) assert results3['img_channel_order'] == 'rgb' assert results3['img_color_type'] == 'color' + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_datasets/test_transforms/test_trimap.py b/tests/test_datasets/test_transforms/test_trimap.py index a4848e24d3..40df99e61e 100644 --- a/tests/test_datasets/test_transforms/test_trimap.py +++ b/tests/test_datasets/test_transforms/test_trimap.py @@ -229,3 +229,10 @@ def test_transform_trimap(): 'transformed_trimap'].shape[:2] == dummy_trimap.shape repr_str = transform.__class__.__name__ assert repr(transform) == repr_str + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_datasets/test_transforms/test_values.py b/tests/test_datasets/test_transforms/test_values.py index cb350d4fb4..911a04646e 100644 --- a/tests/test_datasets/test_transforms/test_values.py +++ b/tests/test_datasets/test_transforms/test_values.py @@ -61,3 +61,10 @@ def test_set_value(self): assert new_results[key] == dictionary[key] assert repr(set_values) == ( set_values.__class__.__name__ + f'(dictionary={dictionary})') + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_datasets/test_unpaired_image_dataset.py b/tests/test_datasets/test_unpaired_image_dataset.py index 3ec4a85689..4b7ff1bf82 100644 --- a/tests/test_datasets/test_unpaired_image_dataset.py +++ b/tests/test_datasets/test_unpaired_image_dataset.py @@ -59,3 +59,10 @@ def test_unpaired_image_dataset(self): assert img.ndim == 3 img = dataset[0]['inputs']['img_b'] assert img.ndim == 3 + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_engine/test_hooks/test_ema.py b/tests/test_engine/test_hooks/test_ema.py index 443f9b997e..c6cac31e8e 100644 --- a/tests/test_engine/test_hooks/test_ema.py +++ b/tests/test_engine/test_hooks/test_ema.py @@ -252,3 +252,10 @@ def test_ema_hook_cuda(self): assert torch.equal(runner.model.module_a.a, torch.tensor([0.25, 0.5]).cuda()) assert torch.equal(ema_states['a'], torch.tensor([0.375, 0.75]).cuda()) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_engine/test_hooks/test_iter_time_hook.py b/tests/test_engine/test_hooks/test_iter_time_hook.py index cdc7cf9d35..45e84ff9c7 100644 --- a/tests/test_engine/test_hooks/test_iter_time_hook.py +++ b/tests/test_engine/test_hooks/test_iter_time_hook.py @@ -69,3 +69,10 @@ def test_after_iter(self): assert runner.message_hub.get_info('eta') == 10 self.hook._after_iter(runner, batch_idx=19, mode='test') assert runner.message_hub.get_info('eta') == 0 + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_engine/test_hooks/test_pggan_fetch_data_hook.py b/tests/test_engine/test_hooks/test_pggan_fetch_data_hook.py index 953cb1402d..3b83b9a420 100644 --- a/tests/test_engine/test_hooks/test_pggan_fetch_data_hook.py +++ b/tests/test_engine/test_hooks/test_pggan_fetch_data_hook.py @@ -131,3 +131,10 @@ def test_before_train_iter(self): runner.train_loop.dataloader = dataloader model._next_scale_int = 4 self.assertRaises(ValueError, hooks.before_train_iter, runner, 0, None) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_engine/test_hooks/test_pickle_data_hook.py b/tests/test_engine/test_hooks/test_pickle_data_hook.py index 0ae46a0dc1..2d6651400c 100644 --- a/tests/test_engine/test_hooks/test_pickle_data_hook.py +++ b/tests/test_engine/test_hooks/test_pickle_data_hook.py @@ -41,3 +41,10 @@ def test_PickleDataHook(): # test before run hook.before_run(runner) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_engine/test_hooks/test_reduce_lr_scheduler_hook.py b/tests/test_engine/test_hooks/test_reduce_lr_scheduler_hook.py index 84d1eba2e2..eaae78c583 100644 --- a/tests/test_engine/test_hooks/test_reduce_lr_scheduler_hook.py +++ b/tests/test_engine/test_hooks/test_reduce_lr_scheduler_hook.py @@ -113,3 +113,10 @@ def test_reduce_lr_scheduler_hook(): with pytest.raises(TypeError): runner.param_schedulers = '' hook.after_val_epoch(runner, metrics=dict(PSNR=50)) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_engine/test_hooks/test_visualization_hook.py b/tests/test_engine/test_hooks/test_visualization_hook.py index c55e6b5155..267af16bef 100644 --- a/tests/test_engine/test_hooks/test_visualization_hook.py +++ b/tests/test_engine/test_hooks/test_visualization_hook.py @@ -616,3 +616,10 @@ def test_after_test_iter(self): hook.after_test_iter(runner, 0, [], outputs) assert mock_visualuzer.add_datasample.call_count == 3 + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_engine/test_optimizers/test_multi_optimizer_constructor.py b/tests/test_engine/test_optimizers/test_multi_optimizer_constructor.py index 38cac0ab72..ef4fb7eca6 100644 --- a/tests/test_engine/test_optimizers/test_multi_optimizer_constructor.py +++ b/tests/test_engine/test_optimizers/test_multi_optimizer_constructor.py @@ -137,3 +137,10 @@ def test_optimizer_constructor(): model = ToyModel2() optim_wrapper = optim_wrapper_constructor(model) assert isinstance(optim_wrapper, OptimWrapper) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_engine/test_optimizers/test_pggan_optimizer_constructor.py b/tests/test_engine/test_optimizers/test_pggan_optimizer_constructor.py index d0f7ecff0b..e064502577 100644 --- a/tests/test_engine/test_optimizers/test_pggan_optimizer_constructor.py +++ b/tests/test_engine/test_optimizers/test_pggan_optimizer_constructor.py @@ -90,3 +90,10 @@ def test(self): self.assertTrue(all([id(gen_optims[0]) == id(o) for o in gen_optims])) self.assertTrue( all([id(disc_optims[0]) == id(o) for o in disc_optims])) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_engine/test_optimizers/test_singan_optimizer_constructor.py b/tests/test_engine/test_optimizers/test_singan_optimizer_constructor.py index fc38719ea0..3fb138dcb2 100644 --- a/tests/test_engine/test_optimizers/test_singan_optimizer_constructor.py +++ b/tests/test_engine/test_optimizers/test_singan_optimizer_constructor.py @@ -60,3 +60,10 @@ def test(self): with self.assertRaises(AssertionError): optim_wrapper_dict_builder = SinGANOptimWrapperConstructor( self.optim_wrapper_cfg, 'test') + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_engine/test_runner/test_log_processor.py b/tests/test_engine/test_runner/test_log_processor.py index 90db3b494a..e6389e1d47 100644 --- a/tests/test_engine/test_runner/test_log_processor.py +++ b/tests/test_engine/test_runner/test_log_processor.py @@ -26,3 +26,10 @@ def test_get_dataloader_size(self): assert log_processor._get_dataloader_size(self.runner, 'train') == 20 assert log_processor._get_dataloader_size(self.runner, 'val') == 10 assert log_processor._get_dataloader_size(self.runner, 'test') == 5 + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_engine/test_runner/test_loop_utils.py b/tests/test_engine/test_runner/test_loop_utils.py index 4a11cccb96..d873ee43eb 100644 --- a/tests/test_engine/test_runner/test_loop_utils.py +++ b/tests/test_engine/test_runner/test_loop_utils.py @@ -62,3 +62,10 @@ def test_update_and_check_evaluator(): evaluator = dict(type='Evaluator') evaluator = update_and_check_evaluator(evaluator) assert evaluator['metrics'] is None + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_engine/test_runner/test_multi_loops.py b/tests/test_engine/test_runner/test_multi_loops.py index 6c3e42d9d3..a25e6be94f 100644 --- a/tests/test_engine/test_runner/test_multi_loops.py +++ b/tests/test_engine/test_runner/test_multi_loops.py @@ -205,3 +205,10 @@ def _test_run(self, is_val): def test_run(self): self._test_run(True) # val self._test_run(False) # test + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_engine/test_schedulers/test_linear_lr_scheduler_with_interval.py b/tests/test_engine/test_schedulers/test_linear_lr_scheduler_with_interval.py index a65489ebe4..d273d59e21 100644 --- a/tests/test_engine/test_schedulers/test_linear_lr_scheduler_with_interval.py +++ b/tests/test_engine/test_schedulers/test_linear_lr_scheduler_with_interval.py @@ -54,3 +54,10 @@ def test_step(self): param_scheduler.step() np.testing.assert_almost_equal(param_scheduler._get_value(), targets[step].item()) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_engine/test_schedulers/test_reduce_lr_scheduler.py b/tests/test_engine/test_schedulers/test_reduce_lr_scheduler.py index 33c969b2b8..834873977d 100644 --- a/tests/test_engine/test_schedulers/test_reduce_lr_scheduler.py +++ b/tests/test_engine/test_schedulers/test_reduce_lr_scheduler.py @@ -105,3 +105,10 @@ def test_reduce_lr_scheduler(self): ReduceLR(self.optimizer, threshold_mode='ysli') with pytest.raises(ValueError): ReduceLR(self.optimizer, factor=1.5) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_evaluation/test_evaluator.py b/tests/test_evaluation/test_evaluator.py index da8960d9df..866594edc6 100644 --- a/tests/test_evaluation/test_evaluator.py +++ b/tests/test_evaluation/test_evaluator.py @@ -208,3 +208,10 @@ def test_evalute(self): evaluator = Evaluator(None) output = evaluator.evaluate() self.assertEqual(output, {'No Metric': 'Nan'}) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_evaluation/test_functional/test_fid_inception.py b/tests/test_evaluation/test_functional/test_fid_inception.py index ef55d96f59..1aca623705 100644 --- a/tests/test_evaluation/test_functional/test_fid_inception.py +++ b/tests/test_evaluation/test_functional/test_fid_inception.py @@ -41,3 +41,10 @@ def test_load_fid_inception(): inputs = torch.randn(1, 3, 299, 299) outputs = fid_net(inputs) assert outputs.shape == (1, 1008) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_evaluation/test_functional/test_gaussian_funcs.py b/tests/test_evaluation/test_functional/test_gaussian_funcs.py index fa3d6e7654..45f8ad470a 100644 --- a/tests/test_evaluation/test_functional/test_gaussian_funcs.py +++ b/tests/test_evaluation/test_functional/test_gaussian_funcs.py @@ -8,3 +8,10 @@ def test_gauss_gradient(): img = np.random.randint(0, 255, size=(8, 8, 3)) grad = gauss_gradient(img, 1.4) assert grad.shape == (8, 8, 3) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_evaluation/test_functional/test_inception_utils.py b/tests/test_evaluation/test_functional/test_inception_utils.py index 2eeb26103b..daa0887f9a 100644 --- a/tests/test_evaluation/test_functional/test_inception_utils.py +++ b/tests/test_evaluation/test_functional/test_inception_utils.py @@ -64,3 +64,10 @@ def test_vgg_feat_cache_name_args(): # check whether cache name are same with the same inputs assert cache_tag_1 == cache_tag_2 assert args_1 == args_2 + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_evaluation/test_metrics/test_base_gen_metric.py b/tests/test_evaluation/test_metrics/test_base_gen_metric.py index 6937fec3b0..9159003242 100644 --- a/tests/test_evaluation/test_metrics/test_base_gen_metric.py +++ b/tests/test_evaluation/test_metrics/test_base_gen_metric.py @@ -117,3 +117,10 @@ def side_effect(index): output = next(iterator) assert output['inputs'] == dict( sample_model='ema', num_batches=10, sample_kwargs=sample_kwargs) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_evaluation/test_metrics/test_base_sample_wise_metric.py b/tests/test_evaluation/test_metrics/test_base_sample_wise_metric.py index 41c4e8a9c1..617a54d7bc 100644 --- a/tests/test_evaluation/test_metrics/test_base_sample_wise_metric.py +++ b/tests/test_evaluation/test_metrics/test_base_sample_wise_metric.py @@ -88,3 +88,10 @@ def test_prepare(): metric.get_metric_sampler(None, dataloader, []) assert dataloader == dataloader + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_evaluation/test_metrics/test_connectivity_error.py b/tests/test_evaluation/test_metrics/test_connectivity_error.py index 573a32977c..4da359ef3a 100644 --- a/tests/test_evaluation/test_metrics/test_connectivity_error.py +++ b/tests/test_evaluation/test_metrics/test_connectivity_error.py @@ -104,3 +104,10 @@ def test_connectivity_error(self): assert list(res.keys()) == ['ConnectivityError'] assert np.allclose(res['ConnectivityError'], 0.256) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_evaluation/test_metrics/test_equivariance.py b/tests/test_evaluation/test_metrics/test_equivariance.py index d6268d8996..d31e92f44a 100644 --- a/tests/test_evaluation/test_metrics/test_equivariance.py +++ b/tests/test_evaluation/test_metrics/test_equivariance.py @@ -67,3 +67,10 @@ def test_eq_cuda(self): eq_res = eq.compute_metrics(eq.fake_results) isinstance(eq_res['eqt_int'], float) and isinstance( eq_res['eqt_frac'], float) and isinstance(eq_res['eqr'], float) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_evaluation/test_metrics/test_fid.py b/tests/test_evaluation/test_metrics/test_fid.py index 26572a2825..78f98bd0fe 100644 --- a/tests/test_evaluation/test_metrics/test_fid.py +++ b/tests/test_evaluation/test_metrics/test_fid.py @@ -277,3 +277,10 @@ def test_trans_fid_cpu(self): fid_res = fid.compute_metrics(fid.fake_results) assert fid_res['fid'] >= 0 and fid_res['mean'] >= 0 and fid_res[ 'cov'] >= 0 + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_evaluation/test_metrics/test_gradient_error.py b/tests/test_evaluation/test_metrics/test_gradient_error.py index bcd75df578..b9826e28f0 100644 --- a/tests/test_evaluation/test_metrics/test_gradient_error.py +++ b/tests/test_evaluation/test_metrics/test_gradient_error.py @@ -101,3 +101,10 @@ def test_gradient_error(self): assert list(res.keys()) == ['GradientError'] np.testing.assert_almost_equal(el['grad_err'], 0.0028887) # assert np.allclose(res['GradientError'], 0.0028887) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_evaluation/test_metrics/test_inception_score.py b/tests/test_evaluation/test_metrics/test_inception_score.py index 67c433c915..5c4119d15d 100644 --- a/tests/test_evaluation/test_metrics/test_inception_score.py +++ b/tests/test_evaluation/test_metrics/test_inception_score.py @@ -230,3 +230,10 @@ def test_trans_is_cpu(self): IS.process(_data_batch, _predictions) IS_res = IS.compute_metrics(IS.fake_results) assert 'is' in IS_res and 'is_std' in IS_res + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_evaluation/test_metrics/test_mae.py b/tests/test_evaluation/test_metrics/test_mae.py index 9bbe0816a4..30ba2e5889 100644 --- a/tests/test_evaluation/test_metrics/test_mae.py +++ b/tests/test_evaluation/test_metrics/test_mae.py @@ -49,3 +49,10 @@ def test_mae(self): result = mae.compute_metrics(mae.results) assert 'MAE' in result np.testing.assert_almost_equal(result['MAE'], 0.003921568627) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_evaluation/test_metrics/test_matting_mse.py b/tests/test_evaluation/test_metrics/test_matting_mse.py index c17ec511db..5946943d22 100644 --- a/tests/test_evaluation/test_metrics/test_matting_mse.py +++ b/tests/test_evaluation/test_metrics/test_matting_mse.py @@ -104,3 +104,10 @@ def test_mse(self): assert list(res.keys()) == ['MattingMSE'] np.testing.assert_almost_equal(res['MattingMSE'], 3.0) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_evaluation/test_metrics/test_metrics_utils.py b/tests/test_evaluation/test_metrics/test_metrics_utils.py index 3bd3adf5c3..f116bbc82f 100644 --- a/tests/test_evaluation/test_metrics/test_metrics_utils.py +++ b/tests/test_evaluation/test_metrics/test_metrics_utils.py @@ -49,3 +49,10 @@ def test_reorder_image(): output = reorder_image(img_chw, input_order='CHW') assert output.shape == (32, 32, 3) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_evaluation/test_metrics/test_ms_ssim.py b/tests/test_evaluation/test_metrics/test_ms_ssim.py index c3278a5028..6907649ba4 100644 --- a/tests/test_evaluation/test_metrics/test_ms_ssim.py +++ b/tests/test_evaluation/test_metrics/test_ms_ssim.py @@ -62,3 +62,10 @@ def test_process_and_evaluate(self): # test prefix MS_SSIM = MultiScaleStructureSimilarity( fake_nums=4, fake_key='fake', sample_model='ema', prefix='ms-ssim') + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_evaluation/test_metrics/test_mse.py b/tests/test_evaluation/test_metrics/test_mse.py index c0aabb8f78..176b7ef741 100644 --- a/tests/test_evaluation/test_metrics/test_mse.py +++ b/tests/test_evaluation/test_metrics/test_mse.py @@ -49,3 +49,10 @@ def test_mse(self): result = mae.compute_metrics(mae.results) assert 'MSE' in result np.testing.assert_almost_equal(result['MSE'], 0.000015378700496) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_evaluation/test_metrics/test_niqe.py b/tests/test_evaluation/test_metrics/test_niqe.py index ac757172f2..2384093eb7 100644 --- a/tests/test_evaluation/test_metrics/test_niqe.py +++ b/tests/test_evaluation/test_metrics/test_niqe.py @@ -80,3 +80,10 @@ def test_calculate_niqe(): input_order='CHW', convert_to='y') np.testing.assert_almost_equal(result, 6.10074, decimal=5) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_evaluation/test_metrics/test_ppl.py b/tests/test_evaluation/test_metrics/test_ppl.py index 9d0c3d1ade..65a2739e53 100644 --- a/tests/test_evaluation/test_metrics/test_ppl.py +++ b/tests/test_evaluation/test_metrics/test_ppl.py @@ -125,3 +125,10 @@ def test_ppl_cpu(self): ppl.process(_data_batch, _predictions) ppl_res = ppl.compute_metrics(ppl.fake_results) assert ppl_res['ppl_score'] >= 0 + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_evaluation/test_metrics/test_precision_and_recall.py b/tests/test_evaluation/test_metrics/test_precision_and_recall.py index c533a895d1..2b56ceedb0 100644 --- a/tests/test_evaluation/test_metrics/test_precision_and_recall.py +++ b/tests/test_evaluation/test_metrics/test_precision_and_recall.py @@ -97,3 +97,10 @@ def test_pr_cpu(self): pr_score = pr.evaluate() print(pr_score) assert pr_score['precision'] >= 0 and pr_score['recall'] >= 0 + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_evaluation/test_metrics/test_psnr.py b/tests/test_evaluation/test_metrics/test_psnr.py index 069a6b870e..50b76be0ad 100644 --- a/tests/test_evaluation/test_metrics/test_psnr.py +++ b/tests/test_evaluation/test_metrics/test_psnr.py @@ -86,3 +86,10 @@ def test_psnr(): img_hw_2 = np.ones((32, 32), dtype=np.uint8) * 255 psnr_result = psnr(img_hw_1, img_hw_2, crop_border=0) assert psnr_result == 0 + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_evaluation/test_metrics/test_sad.py b/tests/test_evaluation/test_metrics/test_sad.py index cf61ba166a..f6cd5d46cf 100644 --- a/tests/test_evaluation/test_metrics/test_sad.py +++ b/tests/test_evaluation/test_metrics/test_sad.py @@ -104,3 +104,10 @@ def test_sad(self): assert list(res.keys()) == ['SAD'] np.testing.assert_almost_equal(res['SAD'], 0.768) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_evaluation/test_metrics/test_snr.py b/tests/test_evaluation/test_metrics/test_snr.py index e1016869f1..9c07f1e088 100644 --- a/tests/test_evaluation/test_metrics/test_snr.py +++ b/tests/test_evaluation/test_metrics/test_snr.py @@ -88,3 +88,10 @@ def test_snr(): img_hw_2 = np.zeros((32, 32), dtype=np.uint8) snr_result = snr(img_hw_1, img_hw_2, crop_border=0) assert snr_result == 0 + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_evaluation/test_metrics/test_ssim.py b/tests/test_evaluation/test_metrics/test_ssim.py index faaf0f4bae..b45fa4ccda 100644 --- a/tests/test_evaluation/test_metrics/test_ssim.py +++ b/tests/test_evaluation/test_metrics/test_ssim.py @@ -74,3 +74,10 @@ def test_calculate_ssim(): np.testing.assert_almost_equal(ssim_result, 0.9130623) ssim_result = ssim(img_hwc_1, img_hwc_2, crop_border=0, convert_to='Y') np.testing.assert_almost_equal(ssim_result, 0.9987801) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_evaluation/test_metrics/test_swd.py b/tests/test_evaluation/test_metrics/test_swd.py index b953385bdb..469c3056a4 100644 --- a/tests/test_evaluation/test_metrics/test_swd.py +++ b/tests/test_evaluation/test_metrics/test_swd.py @@ -85,3 +85,10 @@ def test_prosess(self): swd.process(None, fake_samples) # fake_nums is -1, all samples (10 * 3 = 30) is processed self.assertEqual(swd._num_processed, 30) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_archs/test_aspp.py b/tests/test_models/test_archs/test_aspp.py index 578327dec4..ed9a6839bc 100644 --- a/tests/test_models/test_archs/test_aspp.py +++ b/tests/test_models/test_archs/test_aspp.py @@ -31,3 +31,10 @@ def test_aspp(): x = torch.rand(2, 128, 8, 8) output = aspp(x) assert output.shape == (2, 256, 8, 8) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_archs/test_conv.py b/tests/test_models/test_archs/test_conv.py index 691d1e489a..c8f2e45dc9 100644 --- a/tests/test_models/test_archs/test_conv.py +++ b/tests/test_models/test_archs/test_conv.py @@ -4,3 +4,10 @@ def test_conv(): assert 'Deconv' in conv.MODELS.module_dict + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_archs/test_downsample.py b/tests/test_models/test_archs/test_downsample.py index 5929ae9d61..97b7c91ea6 100644 --- a/tests/test_models/test_archs/test_downsample.py +++ b/tests/test_models/test_archs/test_downsample.py @@ -21,3 +21,10 @@ def test_pixel_unshuffle(): with pytest.raises(AssertionError): y = pixel_unshuffle(x, scale=3) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_archs/test_ensemble.py b/tests/test_models/test_archs/test_ensemble.py index 717667a716..0575f285f5 100644 --- a/tests/test_models/test_archs/test_ensemble.py +++ b/tests/test_models/test_archs/test_ensemble.py @@ -65,3 +65,10 @@ def test_ensemble_cuda(): ensemble = SpatialTemporalEnsemble(is_temporal_ensemble=True) inputs = torch.rand(1, 3, 4, 4).cuda() outputs = ensemble(inputs, model) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_archs/test_gated_conv_module.py b/tests/test_models/test_archs/test_gated_conv_module.py index 6092041392..b16401e002 100644 --- a/tests/test_models/test_archs/test_gated_conv_module.py +++ b/tests/test_models/test_archs/test_gated_conv_module.py @@ -33,3 +33,10 @@ def test_gated_conv(): assert conv.conv.out_channels == 20 out = conv(x) assert out.shape == (2, 10, 10, 10) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_archs/test_img_normalize.py b/tests/test_models/test_archs/test_img_normalize.py index 4bfc8c9ffd..e2e415e6ca 100644 --- a/tests/test_models/test_archs/test_img_normalize.py +++ b/tests/test_models/test_archs/test_img_normalize.py @@ -20,3 +20,10 @@ def test_normalize_layer(): std_y = y.std(dim=1) assert sum(torch.div(std_x, std_y) - rgb_std) < 1e-5 assert sum(torch.div(mean_x - rgb_mean, rgb_std) - mean_y) < 1e-5 + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_archs/test_linear_module.py b/tests/test_models/test_archs/test_linear_module.py index f7d518118e..1b4e965b99 100644 --- a/tests/test_models/test_archs/test_linear_module.py +++ b/tests/test_models/test_archs/test_linear_module.py @@ -46,3 +46,10 @@ def test_linear_module(): order=('act', 'linear')) assert linear.order == ('act', 'linear') + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_archs/test_lora.py b/tests/test_models/test_archs/test_lora.py index 5e821defb4..e96e408791 100644 --- a/tests/test_models/test_archs/test_lora.py +++ b/tests/test_models/test_archs/test_lora.py @@ -126,3 +126,10 @@ def test_set_lora(): set_lora_enable(model) out_lora_enable = model(img, context) assert (out_lora_enable == out_w_lora).all() + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_archs/test_multi_layer_disc.py b/tests/test_models/test_archs/test_multi_layer_disc.py index 3372e32c09..890197e063 100644 --- a/tests/test_models/test_archs/test_multi_layer_disc.py +++ b/tests/test_models/test_archs/test_multi_layer_disc.py @@ -85,3 +85,10 @@ def test_multi_layer_disc(): assert not multi_disc.conv5.with_norm assert not multi_disc.conv5.with_activation assert multi_disc.conv5.stride == (1, 1) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_archs/test_patch_disc.py b/tests/test_models/test_archs/test_patch_disc.py index 39fd32a28d..d860b5ab6a 100644 --- a/tests/test_models/test_archs/test_patch_disc.py +++ b/tests/test_models/test_archs/test_patch_disc.py @@ -59,3 +59,10 @@ def test_patch_discriminator(): bad_cfg['norm_cfg'] = dict(tp='BN') with pytest.raises(AssertionError): _ = MODELS.build(bad_cfg) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_archs/test_resnet.py b/tests/test_models/test_archs/test_resnet.py index 0ce5605f67..60769d1378 100644 --- a/tests/test_models/test_archs/test_resnet.py +++ b/tests/test_models/test_archs/test_resnet.py @@ -16,3 +16,10 @@ def test_resnet(): input = torch.rand((2, 3, 128, 128)) output = resnet(input) assert output[0].detach().numpy().shape == (2, 3, 128, 128) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_archs/test_separable_conv_module.py b/tests/test_models/test_archs/test_separable_conv_module.py index 1f975c629f..e876ede515 100644 --- a/tests/test_models/test_archs/test_separable_conv_module.py +++ b/tests/test_models/test_archs/test_separable_conv_module.py @@ -70,3 +70,10 @@ def test_depthwise_separable_conv(): assert conv.pointwise_conv.activate.__class__.__name__ == 'LeakyReLU' output = conv(x) assert output.shape == (1, 8, 256, 256) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_archs/test_simple_encoder_decoder.py b/tests/test_models/test_archs/test_simple_encoder_decoder.py index 3a546bd533..b90a6479ef 100644 --- a/tests/test_models/test_archs/test_simple_encoder_decoder.py +++ b/tests/test_models/test_archs/test_simple_encoder_decoder.py @@ -87,3 +87,10 @@ def _demo_inputs_pair(img_shape=(64, 64), batch_size=1, cuda=False): alpha = alpha.cuda() trimap = trimap.cuda() return fg, bg, merged, alpha, trimap + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_archs/test_smpatch_disc.py b/tests/test_models/test_archs/test_smpatch_disc.py index dd33fa9f03..c66acd5de2 100644 --- a/tests/test_models/test_archs/test_smpatch_disc.py +++ b/tests/test_models/test_archs/test_smpatch_disc.py @@ -45,3 +45,10 @@ def test_smpatch_discriminator(): net = net.cuda() output = net(img.cuda()) assert output.shape == (1, 1, 6, 6) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_archs/test_sr_backbone.py b/tests/test_models/test_archs/test_sr_backbone.py index 13ed5c0583..2e57235213 100644 --- a/tests/test_models/test_archs/test_sr_backbone.py +++ b/tests/test_models/test_archs/test_sr_backbone.py @@ -10,3 +10,10 @@ def test_sr_backbone_utils(): input = torch.rand((2, 64, 128, 128)) output = block(input) assert output.detach().numpy().shape == (2, 64, 128, 128) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_archs/test_tokenizer.py b/tests/test_models/test_archs/test_tokenizer.py index 4aad1b6cd2..f9d5e2367e 100644 --- a/tests/test_models/test_archs/test_tokenizer.py +++ b/tests/test_models/test_archs/test_tokenizer.py @@ -46,3 +46,10 @@ def test_encode_and_decode_and_call(self): for idx in range(4): self.assertIn(f'ngapi_{idx}', text_recon_raw) self.assertEqual(input_ids, self.tokenizer(text).input_ids) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_archs/test_upsample.py b/tests/test_models/test_archs/test_upsample.py index 4e1c605ac0..cb202f582c 100644 --- a/tests/test_models/test_archs/test_upsample.py +++ b/tests/test_models/test_archs/test_upsample.py @@ -19,3 +19,10 @@ def test_pixel_shuffle(): x = x.cuda() y = model(x) assert y.shape == (1, 3, 32, 32) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_archs/test_vgg.py b/tests/test_models/test_archs/test_vgg.py index 78fdb74afd..2965665f21 100644 --- a/tests/test_models/test_archs/test_vgg.py +++ b/tests/test_models/test_archs/test_vgg.py @@ -129,3 +129,10 @@ def test_vgg16_encoder(): assert_tensor_with_shape(outputs['max_idx_4'], target_shape[3]) assert_tensor_with_shape(outputs['max_idx_5'], target_shape[4]) assert check_norm_state(model.modules(), True) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_archs/test_wrapper.py b/tests/test_models/test_archs/test_wrapper.py index e7a3cdb2b0..c1b2ae8f70 100644 --- a/tests/test_models/test_archs/test_wrapper.py +++ b/tests/test_models/test_archs/test_wrapper.py @@ -109,3 +109,10 @@ def test_build(self): model.registrer_buffer('buffer', 123) called_args, _ = register_buffer_mock.call_args self.assertEqual(called_args, ('buffer', 123)) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_base_models/test_average_model.py b/tests/test_models/test_base_models/test_average_model.py index ec66d3039b..bc5cb170ab 100644 --- a/tests/test_models/test_base_models/test_average_model.py +++ b/tests/test_models/test_base_models/test_average_model.py @@ -217,3 +217,10 @@ def test_load_from_state_dict(self): missing_keys=[], unexpected_keys=[], error_msgs=[]) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_base_models/test_base_conditional_gan.py b/tests/test_models/test_base_models/test_base_conditional_gan.py index ee1b888787..126325d323 100644 --- a/tests/test_models/test_base_models/test_base_conditional_gan.py +++ b/tests/test_models/test_base_models/test_base_conditional_gan.py @@ -287,3 +287,10 @@ def test_custom_loss(self): self.assertIn('loss_disc_fake_g', log_vars) self.assertNotIn('loss_gen_aux', log_vars) self.assertNotIn('loss_disc_shift', log_vars) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_base_models/test_base_edit_model.py b/tests/test_models/test_base_models/test_base_edit_model.py index e6c01f302e..7b85a49fab 100644 --- a/tests/test_models/test_base_models/test_base_edit_model.py +++ b/tests/test_models/test_base_models/test_base_edit_model.py @@ -64,3 +64,10 @@ def test_base_edit_model(): # feat output = model(torch.rand(1, 3, 20, 20), mode='tensor') assert output.shape == (1, 3, 20, 20) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_base_models/test_base_gan.py b/tests/test_models/test_base_models/test_base_gan.py index 7523106c2b..4d69d937ad 100644 --- a/tests/test_models/test_base_models/test_base_gan.py +++ b/tests/test_models/test_base_models/test_base_gan.py @@ -427,3 +427,10 @@ def test_gather_log_vars(self): # test raise error with self.assertRaises(AssertionError): gan.gather_log_vars([dict(a=1), dict(b=2)]) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_base_models/test_base_mattor.py b/tests/test_models/test_base_models/test_base_mattor.py index 6779b655a1..f5ab38f4a4 100644 --- a/tests/test_models/test_base_models/test_base_mattor.py +++ b/tests/test_models/test_base_models/test_base_mattor.py @@ -461,3 +461,10 @@ def test_gca(): model.cpu().eval() inputs = torch.ones((1, 4, 32, 32)) model.forward(inputs) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_base_models/test_base_translation_model.py b/tests/test_models/test_base_models/test_base_translation_model.py index c5123369d2..e9821565ed 100644 --- a/tests/test_models/test_base_models/test_base_translation_model.py +++ b/tests/test_models/test_base_models/test_base_translation_model.py @@ -70,3 +70,10 @@ def test_forward(self): img=torch.randn(1, 3, 64, 64), target_domain=None) self.assertEqual(res['target'].shape, (1, 3, 64, 64)) self.assertEqual(res['source'].shape, (1, 3, 64, 64)) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_base_models/test_basic_interpolator.py b/tests/test_models/test_base_models/test_basic_interpolator.py index 8e963af53b..9e119b16db 100644 --- a/tests/test_models/test_base_models/test_basic_interpolator.py +++ b/tests/test_models/test_base_models/test_basic_interpolator.py @@ -39,3 +39,10 @@ def test_basic_interpolator(): result = model.merge_frames(input_tensors, output_tensors) assert len(result) == 17 assert result[0].shape == (16, 16, 3) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_base_models/test_one_stage.py b/tests/test_models/test_base_models/test_one_stage.py index b71ae1d976..b87bd4922a 100644 --- a/tests/test_models/test_base_models/test_one_stage.py +++ b/tests/test_models/test_base_models/test_one_stage.py @@ -101,3 +101,10 @@ def test_one_stage_inpaintor(): assert inpaintor.train_cfg.disc_step == 2 log_vars = inpaintor.train_step(data_batch, optim_dict) assert 'loss_l1_hole' not in log_vars + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_base_models/test_two_stage.py b/tests/test_models/test_base_models/test_two_stage.py index bf04c52b6c..72efb60701 100644 --- a/tests/test_models/test_base_models/test_two_stage.py +++ b/tests/test_models/test_base_models/test_two_stage.py @@ -109,3 +109,10 @@ def test_two_stage_inpaintor(): assert 'stage1_loss_l1_valid' in log_vars assert 'stage2_loss_l1_hole' in log_vars assert 'stage2_loss_l1_valid' in log_vars + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_data_preprocessors/test_data_preprocessor.py b/tests/test_models/test_data_preprocessors/test_data_preprocessor.py index ce7e2523f6..60d7dd20d9 100644 --- a/tests/test_models/test_data_preprocessors/test_data_preprocessor.py +++ b/tests/test_models/test_data_preprocessors/test_data_preprocessor.py @@ -876,3 +876,10 @@ def test_destruct(self): destruct_batch = data_preprocessor.destruct(inputs) self.assertEqual(destruct_batch.shape, (2, 1, 5, 5)) assert_allclose(destruct_batch.float(), inputs.float()) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_data_preprocessors/test_mattor_preprocessor.py b/tests/test_models/test_data_preprocessors/test_mattor_preprocessor.py index 2a197277f8..1d7a927001 100644 --- a/tests/test_models/test_data_preprocessors/test_mattor_preprocessor.py +++ b/tests/test_models/test_data_preprocessors/test_mattor_preprocessor.py @@ -54,3 +54,10 @@ def test_mattor_preprocessor(): data = dict(inputs=inputs, data_samples=[data_sample]) data = processor(data, training=False) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_diffusion_schedulers/test_ddim_scheduler.py b/tests/test_models/test_diffusion_schedulers/test_ddim_scheduler.py index a7cfc07817..037a93239e 100644 --- a/tests/test_models/test_diffusion_schedulers/test_ddim_scheduler.py +++ b/tests/test_models/test_diffusion_schedulers/test_ddim_scheduler.py @@ -50,3 +50,10 @@ def test_ddim_step(): if __name__ == '__main__': test_ddim_step() + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_diffusion_schedulers/test_init.py b/tests/test_models/test_diffusion_schedulers/test_init.py index b8ab67e6c7..42269091c4 100644 --- a/tests/test_models/test_diffusion_schedulers/test_init.py +++ b/tests/test_models/test_diffusion_schedulers/test_init.py @@ -46,3 +46,10 @@ def test_build(self): # tear down shutil.rmtree(config_path) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_aotgan/test_aot_decoder.py b/tests/test_models/test_editors/test_aotgan/test_aot_decoder.py index 014d7b1ad1..28738c1928 100644 --- a/tests/test_models/test_editors/test_aotgan/test_aot_decoder.py +++ b/tests/test_models/test_editors/test_aotgan/test_aot_decoder.py @@ -16,3 +16,10 @@ def test_gl_dec(): aot_encdec = MODELS.build(cfg_) output = aot_encdec(input_x) assert output.shape == (1, 3, 256, 256) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_aotgan/test_aot_encoder.py b/tests/test_models/test_editors/test_aotgan/test_aot_encoder.py index 98566322ef..3a7fa1d750 100644 --- a/tests/test_models/test_editors/test_aotgan/test_aot_encoder.py +++ b/tests/test_models/test_editors/test_aotgan/test_aot_encoder.py @@ -16,3 +16,10 @@ def test_gl_enc(): aot_encdec = MODELS.build(cfg_) output = aot_encdec(input_x) assert output.shape == (1, 3, 256, 256) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_aotgan/test_aot_encoder_decoder.py b/tests/test_models/test_editors/test_aotgan/test_aot_encoder_decoder.py index 920c3d6665..55c46ab763 100644 --- a/tests/test_models/test_editors/test_aotgan/test_aot_encoder_decoder.py +++ b/tests/test_models/test_editors/test_aotgan/test_aot_encoder_decoder.py @@ -34,3 +34,10 @@ def test_gl_encdec(): aot_encdec = aot_encdec.cuda() output = aot_encdec(input_x.cuda()) assert output.shape == (1, 3, 64, 64) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_aotgan/test_aot_inpaintor.py b/tests/test_models/test_editors/test_aotgan/test_aot_inpaintor.py index d26462d3c1..c7b1e1a414 100644 --- a/tests/test_models/test_editors/test_aotgan/test_aot_inpaintor.py +++ b/tests/test_models/test_editors/test_aotgan/test_aot_inpaintor.py @@ -74,3 +74,10 @@ def test_aot_inpaintor(): assert 'fake_img' in prediction assert 'pred_img' in prediction assert prediction.pred_img.shape == (1, 3, 64, 64) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_aotgan/test_aot_neck.py b/tests/test_models/test_editors/test_aotgan/test_aot_neck.py index 3eadb50e50..6488071601 100644 --- a/tests/test_models/test_editors/test_aotgan/test_aot_neck.py +++ b/tests/test_models/test_editors/test_aotgan/test_aot_neck.py @@ -18,3 +18,10 @@ def test_aot_dilation_neck(): x = torch.rand((2, 32, 64, 64)).cuda() res = neck(x) assert res.shape == (2, 32, 64, 64) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_arcface/test_arcface_modules.py b/tests/test_models/test_editors/test_arcface/test_arcface_modules.py index a26322752c..fc3e78b7ad 100644 --- a/tests/test_models/test_editors/test_arcface/test_arcface_modules.py +++ b/tests/test_models/test_editors/test_arcface/test_arcface_modules.py @@ -19,3 +19,10 @@ def test_get_blocks(): assert len(blocks) == 4 with pytest.raises(ValueError): get_blocks(num_layers=1000) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_arcface/test_id_loss.py b/tests/test_models/test_editors/test_arcface/test_id_loss.py index c07130db65..f8f2ff3c48 100644 --- a/tests/test_models/test_editors/test_arcface/test_id_loss.py +++ b/tests/test_models/test_editors/test_arcface/test_id_loss.py @@ -37,3 +37,10 @@ def test_arcface_cuda(self): x2 = torch.randn((2, 3, 224, 224)).cuda() y, _ = id_loss_model(pred=x1, gt=x2) assert y >= 0 + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_arcface/test_model_irse.py b/tests/test_models/test_editors/test_arcface/test_model_irse.py index b8f35067a2..01711f487a 100644 --- a/tests/test_models/test_editors/test_arcface/test_model_irse.py +++ b/tests/test_models/test_editors/test_arcface/test_model_irse.py @@ -114,3 +114,10 @@ def test_arcface_cuda(self): x = torch.randn((2, 3, 224, 224)).cuda() y = model(x) assert y.shape == (2, 512) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_basicvsr/test_basicvsr.py b/tests/test_models/test_editors/test_basicvsr/test_basicvsr.py index 4b2f345830..50757dc9eb 100644 --- a/tests/test_models/test_editors/test_basicvsr/test_basicvsr.py +++ b/tests/test_models/test_editors/test_basicvsr/test_basicvsr.py @@ -79,3 +79,10 @@ def test_basicvsr(): train_cfg=dict(fix_iter=1), ensemble=dict(type=''), data_preprocessor=DataPreprocessor()) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_basicvsr/test_basicvsr_net.py b/tests/test_models/test_editors/test_basicvsr/test_basicvsr_net.py index 3f7939086e..96895d22f6 100644 --- a/tests/test_models/test_editors/test_basicvsr/test_basicvsr_net.py +++ b/tests/test_models/test_editors/test_basicvsr/test_basicvsr_net.py @@ -27,3 +27,10 @@ def test_basicvsr_net(): input_tensor = torch.rand(1, 5, 3, 16, 16).cuda() output = basicvsr(input_tensor) assert output.shape == (1, 5, 3, 64, 64) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_basicvsr_plusplus_net/test_basicvsr_plusplus_net.py b/tests/test_models/test_editors/test_basicvsr_plusplus_net/test_basicvsr_plusplus_net.py index b1f4bae575..f9815e4c85 100644 --- a/tests/test_models/test_editors/test_basicvsr_plusplus_net/test_basicvsr_plusplus_net.py +++ b/tests/test_models/test_editors/test_basicvsr_plusplus_net/test_basicvsr_plusplus_net.py @@ -92,3 +92,10 @@ def test_basicvsr_plusplus_cuda(): input_tensor = torch.rand(1, 5, 3, 256, 256).cuda() output = model(input_tensor) assert output.shape == (1, 5, 3, 256, 256) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_biggan/test_biggan.py b/tests/test_models/test_editors/test_biggan/test_biggan.py index 665cea0a66..6972accc62 100644 --- a/tests/test_models/test_editors/test_biggan/test_biggan.py +++ b/tests/test_models/test_editors/test_biggan/test_biggan.py @@ -132,3 +132,10 @@ def test_train_step(self): self.assertEqual( log.keys(), set(['loss', 'loss', 'loss_disc_fake', 'loss_disc_real'])) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_biggan/test_biggan_deep_discriminator.py b/tests/test_models/test_editors/test_biggan/test_biggan_deep_discriminator.py index 4cb169eb23..41ddb26f12 100644 --- a/tests/test_models/test_editors/test_biggan/test_biggan_deep_discriminator.py +++ b/tests/test_models/test_editors/test_biggan/test_biggan_deep_discriminator.py @@ -103,3 +103,10 @@ def test_biggan_deep_discriminator_cuda(self): d = MODELS.build(cfg).cuda() y = d(self.x.cuda(), self.label.cuda()) assert y.shape == (2, 1) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_biggan/test_biggan_deep_generator.py b/tests/test_models/test_editors/test_biggan/test_biggan_deep_generator.py index d08304d68e..6430443a2e 100644 --- a/tests/test_models/test_editors/test_biggan/test_biggan_deep_generator.py +++ b/tests/test_models/test_editors/test_biggan/test_biggan_deep_generator.py @@ -228,3 +228,10 @@ def test_biggan_deep_generator_cuda(self): g = MODELS.build(cfg).cuda() res = g(None, None, num_batches=3) assert res.shape == (3, 3, 128, 128) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_biggan/test_biggan_discriminator.py b/tests/test_models/test_editors/test_biggan/test_biggan_discriminator.py index 845744ada9..b83e9141ec 100644 --- a/tests/test_models/test_editors/test_biggan/test_biggan_discriminator.py +++ b/tests/test_models/test_editors/test_biggan/test_biggan_discriminator.py @@ -120,3 +120,10 @@ def test_biggan_discriminator_cuda(self): d = MODELS.build(cfg).cuda() y = d(self.x.cuda(), self.label.cuda()) assert y.shape == (2, 1) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_biggan/test_biggan_generator.py b/tests/test_models/test_editors/test_biggan/test_biggan_generator.py index 9b781629d5..dc187b1fd7 100644 --- a/tests/test_models/test_editors/test_biggan/test_biggan_generator.py +++ b/tests/test_models/test_editors/test_biggan/test_biggan_generator.py @@ -232,3 +232,10 @@ def test_biggan_generator_cuda(self): cfg.update(dict(init_cfg=dict(type='ortho'))) g = MODELS.build(cfg) g.init_weights() + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_biggan/test_biggan_modules.py b/tests/test_models/test_editors/test_biggan/test_biggan_modules.py index 322a0b036c..5aacf84ca4 100644 --- a/tests/test_models/test_editors/test_biggan/test_biggan_modules.py +++ b/tests/test_models/test_editors/test_biggan/test_biggan_modules.py @@ -434,3 +434,10 @@ def test_biggan_disc_res_block_cuda(self): module = MODELS.build(cfg).cuda() out = module(self.x.cuda()) assert out.shape == (2, 64, 8, 8) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_biggan/test_biggan_snmodule.py b/tests/test_models/test_editors/test_biggan/test_biggan_snmodule.py index e6732a4205..146c210267 100644 --- a/tests/test_models/test_editors/test_biggan/test_biggan_snmodule.py +++ b/tests/test_models/test_editors/test_biggan/test_biggan_snmodule.py @@ -32,3 +32,10 @@ def test_SpectralNorm(): x = torch.randn(1, 4) out = sn_block(x) assert out.shape == (1, 4) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_cain/test_cain.py b/tests/test_models/test_editors/test_cain/test_cain.py index 830cbcce0c..327e53d6b3 100644 --- a/tests/test_models/test_editors/test_cain/test_cain.py +++ b/tests/test_models/test_editors/test_cain/test_cain.py @@ -126,3 +126,10 @@ def test_cain(): # feat output = model(torch.rand(1, 2, 3, 32, 32), mode='tensor') assert output.shape == (1, 3, 32, 32) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_cain/test_cain_net.py b/tests/test_models/test_editors/test_cain/test_cain_net.py index 50114cf90f..579c251ac4 100644 --- a/tests/test_models/test_editors/test_cain/test_cain_net.py +++ b/tests/test_models/test_editors/test_cain/test_cain_net.py @@ -81,3 +81,10 @@ def test_cain_net_cuda(): with pytest.raises(ValueError): model_cfg = dict(type='CAINNet', norm='lys') MODELS.build(model_cfg).cuda() + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_controlnet/test_controlnet.py b/tests/test_models/test_editors/test_controlnet/test_controlnet.py index d29bc1ebcf..a93160a759 100644 --- a/tests/test_models/test_editors/test_controlnet/test_controlnet.py +++ b/tests/test_models/test_editors/test_controlnet/test_controlnet.py @@ -224,3 +224,10 @@ def forward(self, *args, **kwargs): control_sd.text_encoder = mock_text_encoder() control_sd.train_step(data, optim_wrapper) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_controlnet/test_controlnet_utils.py b/tests/test_models/test_editors/test_controlnet/test_controlnet_utils.py index 198203522d..ade9b7d71e 100644 --- a/tests/test_models/test_editors/test_controlnet/test_controlnet_utils.py +++ b/tests/test_models/test_editors/test_controlnet/test_controlnet_utils.py @@ -67,3 +67,10 @@ def test_change_base_model(): with pytest.raises(Exception): change_base_model(controlnet, currmodel, wrong_model) # change_base_model(controlnet, currmodel, wrong_base_state_dict) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_cyclegan/test_cyclegan.py b/tests/test_models/test_editors/test_cyclegan/test_cyclegan.py index 3727245aa0..1a51cb312b 100644 --- a/tests/test_models/test_editors/test_cyclegan/test_cyclegan.py +++ b/tests/test_models/test_editors/test_cyclegan/test_cyclegan.py @@ -330,3 +330,10 @@ def test_cyclegan(): assert len(out) == 1 assert out[0].fake_photo.data.shape == (3, 64, 64) assert out[0].fake_mask.data.shape == (3, 64, 64) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_cyclegan/test_cyclegan_generator.py b/tests/test_models/test_editors/test_cyclegan/test_cyclegan_generator.py index 223e13bbd8..cfd5ac1ee6 100644 --- a/tests/test_models/test_editors/test_cyclegan/test_cyclegan_generator.py +++ b/tests/test_models/test_editors/test_cyclegan/test_cyclegan_generator.py @@ -53,3 +53,10 @@ def test_cyclegan_generator_cuda(self): gen = ResnetGenerator(**cfg).cuda() fake_b = gen(real_a) assert fake_b.shape == (2, 3, 256, 256) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_cyclegan/test_cyclegan_modules.py b/tests/test_models/test_editors/test_cyclegan/test_cyclegan_modules.py index 56798452ab..bbeb267180 100644 --- a/tests/test_models/test_editors/test_cyclegan/test_cyclegan_modules.py +++ b/tests/test_models/test_editors/test_cyclegan/test_cyclegan_modules.py @@ -74,3 +74,10 @@ def test_gan_image_buffer(): and torch.equal(buffer.image_buffer[0], img_tensor_0)) or \ (torch.equal(img_tensor_return, img_tensor_00) and torch.equal(buffer.image_buffer[0], img_tensor_1)) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_dcgan/test_dcgan.py b/tests/test_models/test_editors/test_dcgan/test_dcgan.py index 351600545c..425ad43c9b 100644 --- a/tests/test_models/test_editors/test_dcgan/test_dcgan.py +++ b/tests/test_models/test_editors/test_dcgan/test_dcgan.py @@ -95,3 +95,10 @@ def test_train_step(self): self.assertEqual( log.keys(), set(['loss', 'loss', 'loss_disc_fake', 'loss_disc_real'])) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_dcgan/test_dcgan_discriminator.py b/tests/test_models/test_editors/test_dcgan/test_dcgan_discriminator.py index a9fc124b97..7f0fd2b308 100644 --- a/tests/test_models/test_editors/test_dcgan/test_dcgan_discriminator.py +++ b/tests/test_models/test_editors/test_dcgan/test_dcgan_discriminator.py @@ -55,3 +55,10 @@ def test_dcgan_discriminator(self): assert not d.output_layer.with_norm assert not d.output_layer.with_activation assert isinstance(d.downsamples[1].activate, torch.nn.LeakyReLU) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_dcgan/test_dcgan_generator.py b/tests/test_models/test_editors/test_dcgan/test_dcgan_generator.py index 60cc2477c6..e23f55ec68 100644 --- a/tests/test_models/test_editors/test_dcgan/test_dcgan_generator.py +++ b/tests/test_models/test_editors/test_dcgan/test_dcgan_generator.py @@ -95,3 +95,10 @@ def test_dcgan_generator(self): _ = g(None) results = g(self.noise, return_noise=True) assert results['noise_batch'].shape == (2, 100, 1, 1) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_ddpm/test_attention.py b/tests/test_models/test_editors/test_ddpm/test_attention.py index f1368503ee..f18ded7427 100644 --- a/tests/test_models/test_editors/test_ddpm/test_attention.py +++ b/tests/test_models/test_editors/test_ddpm/test_attention.py @@ -37,3 +37,10 @@ def test_FeedForward(): feed_forward = FeedForward(64, 64, activation_fn='geglu-approximate') output = feed_forward.forward(input) assert output.shape == (2, 64, 64) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_ddpm/test_ddpm_scheduler.py b/tests/test_models/test_editors/test_ddpm/test_ddpm_scheduler.py index 08bc7ed6e3..30264bf0a0 100644 --- a/tests/test_models/test_editors/test_ddpm/test_ddpm_scheduler.py +++ b/tests/test_models/test_editors/test_ddpm/test_ddpm_scheduler.py @@ -40,3 +40,10 @@ def test_ddpm_init(): with pytest.raises(Exception): EditDDPMScheduler(beta_schedule='tem') + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_ddpm/test_denoising_unet.py b/tests/test_models/test_editors/test_ddpm/test_denoising_unet.py index c91254b913..0b0e19dfec 100644 --- a/tests/test_models/test_editors/test_ddpm/test_denoising_unet.py +++ b/tests/test_models/test_editors/test_ddpm/test_denoising_unet.py @@ -18,3 +18,10 @@ def test_NormWithEmbedding(): ins = NormWithEmbedding(32, 32) output = ins.forward(input, emb) assert output.shape == (4, 32, 4, 32) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_ddpm/test_embeddings.py b/tests/test_models/test_editors/test_ddpm/test_embeddings.py index a0f9822878..819eafa7d6 100644 --- a/tests/test_models/test_editors/test_ddpm/test_embeddings.py +++ b/tests/test_models/test_editors/test_ddpm/test_embeddings.py @@ -23,3 +23,10 @@ def test_Timesteps(): timesteps = Timesteps(num_channels=9) emb = timesteps.forward(input) assert emb.shape == (1, 9) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_ddpm/test_res_blocks.py b/tests/test_models/test_editors/test_ddpm/test_res_blocks.py index db508a57d6..89bd8b2948 100644 --- a/tests/test_models/test_editors/test_ddpm/test_res_blocks.py +++ b/tests/test_models/test_editors/test_ddpm/test_res_blocks.py @@ -32,3 +32,10 @@ def test_Upsample2D(): upsample = Upsample2D(channels=64) output = upsample.forward(input, output_size=(32, 32)) assert output.shape == (1, 64, 64, 64) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_ddpm/test_unet_blocks.py b/tests/test_models/test_editors/test_ddpm/test_unet_blocks.py index 17693e0e44..f4c9d0d86f 100644 --- a/tests/test_models/test_editors/test_ddpm/test_unet_blocks.py +++ b/tests/test_models/test_editors/test_ddpm/test_unet_blocks.py @@ -44,3 +44,10 @@ def test_get_down_block(): def get_get_up_block(): with pytest.raises(Exception): get_up_block('tem', 1, 1, 1, 1, 1, True, 'silu', 1) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_deblurganv2/test_deblurganv2.py b/tests/test_models/test_editors/test_deblurganv2/test_deblurganv2.py index 63e6fbc840..a534386865 100644 --- a/tests/test_models/test_editors/test_deblurganv2/test_deblurganv2.py +++ b/tests/test_models/test_editors/test_deblurganv2/test_deblurganv2.py @@ -124,3 +124,10 @@ def test_train_step(self): self.assertEqual( log.keys(), set(['loss_g_content', 'loss_g_adv', 'loss_g'])) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_deblurganv2/test_deblurganv2_discriminator.py b/tests/test_models/test_editors/test_deblurganv2/test_deblurganv2_discriminator.py index dcb07e5e70..15ffd3f348 100644 --- a/tests/test_models/test_editors/test_deblurganv2/test_deblurganv2_discriminator.py +++ b/tests/test_models/test_editors/test_deblurganv2/test_deblurganv2_discriminator.py @@ -56,3 +56,10 @@ def test_deblurganv2_discriminator(self): assert d.patch_gan assert isinstance(pred, list) assert len(pred) == 2 + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_deblurganv2/test_deblurganv2_generator.py b/tests/test_models/test_editors/test_deblurganv2/test_deblurganv2_generator.py index 5e5250d4c9..2ae7fcb820 100644 --- a/tests/test_models/test_editors/test_deblurganv2/test_deblurganv2_generator.py +++ b/tests/test_models/test_editors/test_deblurganv2/test_deblurganv2_generator.py @@ -64,3 +64,10 @@ def test_deblurganv2_generator(self): num_filter_fpn=128).cuda() img = g(self.input_tensor) assert img.shape == (1, 3, 256, 256) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_deepfillv1/test_contextual_attention.py b/tests/test_models/test_editors/test_deepfillv1/test_contextual_attention.py index a3597ddfdd..787b05d88f 100644 --- a/tests/test_models/test_editors/test_deepfillv1/test_contextual_attention.py +++ b/tests/test_models/test_editors/test_deepfillv1/test_contextual_attention.py @@ -12,3 +12,10 @@ def test_deepfill_contextual_attention_module(): res, offset = cmodule(x, x, mask) assert res.shape == (2, 128, 64, 64) assert offset.shape == (2, 32, 32, 32, 32) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_deepfillv1/test_contextual_attention_neck.py b/tests/test_models/test_editors/test_deepfillv1/test_contextual_attention_neck.py index 08dd9a98a5..74018ce1a7 100644 --- a/tests/test_models/test_editors/test_deepfillv1/test_contextual_attention_neck.py +++ b/tests/test_models/test_editors/test_deepfillv1/test_contextual_attention_neck.py @@ -30,3 +30,10 @@ def test_deepfill_contextual_attention_neck(): assert res.shape == (2, 128, 64, 64) assert offset.shape == (2, 32, 32, 32, 32) assert isinstance(neck.conv1, SimpleGatedConvModule) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_deepfillv1/test_deepfill_decoder.py b/tests/test_models/test_editors/test_deepfillv1/test_deepfill_decoder.py index f03f1f78a5..d8a44d70b2 100644 --- a/tests/test_models/test_editors/test_deepfillv1/test_deepfill_decoder.py +++ b/tests/test_models/test_editors/test_deepfillv1/test_deepfill_decoder.py @@ -40,3 +40,10 @@ def test_deepfill_dec(): assert decoder.dec2.conv.out_channels == 96 * 2 assert not decoder.dec7.with_feat_act assert res.min().item() >= -1. and res.max().item() <= 1 + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_deepfillv1/test_deepfill_disc.py b/tests/test_models/test_editors/test_deepfillv1/test_deepfill_disc.py index aba79f02d2..2ee7afcf1d 100644 --- a/tests/test_models/test_editors/test_deepfillv1/test_deepfill_disc.py +++ b/tests/test_models/test_editors/test_deepfillv1/test_deepfill_disc.py @@ -49,3 +49,10 @@ def test_deepfillv1_disc(): global_pred, local_pred = disc((global_x, local_x)) assert global_pred.shape == (2, 1) assert local_pred.shape == (2, 1) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_deepfillv1/test_deepfill_encoder.py b/tests/test_models/test_editors/test_deepfillv1/test_deepfill_encoder.py index 1b7115612f..6cb00f0645 100644 --- a/tests/test_models/test_editors/test_deepfillv1/test_deepfill_encoder.py +++ b/tests/test_models/test_editors/test_deepfillv1/test_deepfill_encoder.py @@ -81,3 +81,10 @@ def test_deepfill_enc(): assert isinstance(encoder.enc2, SimpleGatedConvModule) assert encoder.enc2.conv.stride == (2, 2) assert encoder.enc2.conv.out_channels == 48 * 2 + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_deepfillv1/test_deepfill_refiner.py b/tests/test_models/test_editors/test_deepfillv1/test_deepfill_refiner.py index 4481530027..0974fd03f9 100644 --- a/tests/test_models/test_editors/test_deepfillv1/test_deepfill_refiner.py +++ b/tests/test_models/test_editors/test_deepfillv1/test_deepfill_refiner.py @@ -39,3 +39,10 @@ def test_deepfill_refiner(): ContextualAttentionNeck) assert isinstance(refiner.decoder, DeepFillDecoder) assert isinstance(refiner.dilation_neck, GLDilationNeck) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_deepfillv1/test_deepfillv1.py b/tests/test_models/test_editors/test_deepfillv1/test_deepfillv1.py index 67b4dc031e..d8def6dbec 100644 --- a/tests/test_models/test_editors/test_deepfillv1/test_deepfillv1.py +++ b/tests/test_models/test_editors/test_deepfillv1/test_deepfillv1.py @@ -99,3 +99,10 @@ def test_deepfillv1_inpaintor(): assert 'stage2_loss_l1_hole' in log_vars assert 'stage2_loss_l1_valid' in log_vars assert 'stage2_loss_g_fake' in log_vars + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_deepfillv2/test_two_stage_encoder_decoder.py b/tests/test_models/test_editors/test_deepfillv2/test_two_stage_encoder_decoder.py index ca8d05cd50..0d793907f2 100644 --- a/tests/test_models/test_editors/test_deepfillv2/test_two_stage_encoder_decoder.py +++ b/tests/test_models/test_editors/test_deepfillv2/test_two_stage_encoder_decoder.py @@ -105,3 +105,10 @@ def test_two_stage_inpaintor(): assert 'stage1_loss_l1_valid' in log_vars assert 'stage2_loss_l1_hole' in log_vars assert 'stage2_loss_l1_valid' in log_vars + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_dic/test_dic.py b/tests/test_models/test_editors/test_dic/test_dic.py index dc3f3a8701..72994efc28 100644 --- a/tests/test_models/test_editors/test_dic/test_dic.py +++ b/tests/test_models/test_editors/test_dic/test_dic.py @@ -79,3 +79,10 @@ def test_dic(init_weights): # reset mock to clear some memory usage init_weights.reset_mock() + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_dic/test_dic_net.py b/tests/test_models/test_editors/test_dic/test_dic_net.py index db14f35036..3377ffaa9d 100644 --- a/tests/test_models/test_editors/test_dic/test_dic_net.py +++ b/tests/test_models/test_editors/test_dic/test_dic_net.py @@ -124,3 +124,10 @@ def test_dic_net_cuda(): assert len(output) == 4 assert torch.is_tensor(output[-1]) assert output[-1].shape == targets.shape + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_dic/test_feedback_hour_glass.py b/tests/test_models/test_editors/test_dic/test_feedback_hour_glass.py index d39f8afcbe..122c22cf5d 100644 --- a/tests/test_models/test_editors/test_dic/test_feedback_hour_glass.py +++ b/tests/test_models/test_editors/test_dic/test_feedback_hour_glass.py @@ -65,3 +65,10 @@ def test_reduce_to_five_heatmaps(): with pytest.raises(NotImplementedError): heatmap = torch.rand((2, 12, 64, 64)) reduce_to_five_heatmaps(heatmap, False) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_dic/test_light_cnn.py b/tests/test_models/test_editors/test_dic/test_light_cnn.py index dd20dd2b3c..b619c19f23 100644 --- a/tests/test_models/test_editors/test_dic/test_light_cnn.py +++ b/tests/test_models/test_editors/test_dic/test_light_cnn.py @@ -51,3 +51,10 @@ def test_light_cnn(): net = net.cuda() output = net(inputs.cuda()) assert output.shape == (2, 1) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_dim/test_dim.py b/tests/test_models/test_editors/test_dim/test_dim.py index 5f287ecc7a..0bdecedf94 100644 --- a/tests/test_models/test_editors/test_dim/test_dim.py +++ b/tests/test_models/test_editors/test_dim/test_dim.py @@ -284,3 +284,10 @@ def test_dim(): test_dim() + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_disco_diffusion/test_disco_diffusion.py b/tests/test_models/test_editors/test_disco_diffusion/test_disco_diffusion.py index cd82d9d6cc..cc32ca95e9 100644 --- a/tests/test_models/test_editors/test_disco_diffusion/test_disco_diffusion.py +++ b/tests/test_models/test_editors/test_disco_diffusion/test_disco_diffusion.py @@ -246,3 +246,10 @@ def forward(self, x): num_inference_steps=2, eta=0.8)['samples'] assert image.shape == (1, 3, 64, 64) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_disco_diffusion/test_disco_diffusion_clip_wrapper.py b/tests/test_models/test_editors/test_disco_diffusion/test_disco_diffusion_clip_wrapper.py index 289f25e0d2..18b4a37d11 100644 --- a/tests/test_models/test_editors/test_disco_diffusion/test_disco_diffusion_clip_wrapper.py +++ b/tests/test_models/test_editors/test_disco_diffusion/test_disco_diffusion_clip_wrapper.py @@ -115,3 +115,10 @@ def test_embedding_layer_with_fixes(): out_feat = embedding_layer_wrapper(input_ids) assert (out_feat[0, 3:7] == 2.3).all() assert (out_feat[2, 5:9] == 2.3).all() + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_dreambooth/test_dreambooth.py b/tests/test_models/test_editors/test_dreambooth/test_dreambooth.py index de375bd551..ae7d035389 100644 --- a/tests/test_models/test_editors/test_dreambooth/test_dreambooth.py +++ b/tests/test_models/test_editors/test_dreambooth/test_dreambooth.py @@ -145,3 +145,10 @@ def forward(self, *args, **kwargs): dreambooth.text_encoder = mock_text_encoder() dreambooth.train_step(data, optim_wrapper) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_duf/test_duf.py b/tests/test_models/test_editors/test_duf/test_duf.py index ffc1755daa..e3746e8243 100644 --- a/tests/test_models/test_editors/test_duf/test_duf.py +++ b/tests/test_models/test_editors/test_duf/test_duf.py @@ -33,3 +33,10 @@ def test_dynamic_upsampling_filter(): filters = torch.rand(1, 9, 16, 4, 4).cuda() output = duf(x, filters) assert output.shape == (1, 48, 4, 4) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_edsr/test_edsr_net.py b/tests/test_models/test_editors/test_edsr/test_edsr_net.py index 2741ee363f..8dbf3aa01e 100644 --- a/tests/test_models/test_editors/test_edsr/test_edsr_net.py +++ b/tests/test_models/test_editors/test_edsr/test_edsr_net.py @@ -83,3 +83,10 @@ def test_edsr_cuda(): mid_channels=64, num_blocks=16, upscale_factor=5) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_edvr/test_edvr.py b/tests/test_models/test_editors/test_edvr/test_edvr.py index fbdca1592c..1a1cd3f3b7 100644 --- a/tests/test_models/test_editors/test_edvr/test_edvr.py +++ b/tests/test_models/test_editors/test_edvr/test_edvr.py @@ -70,3 +70,10 @@ def test_edvr(): type='CharbonnierLoss', loss_weight=1.0, reduction='sum'), train_cfg=dict()) model.train_step(data, optim_wrapper) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_edvr/test_edvr_net.py b/tests/test_models/test_editors/test_edvr/test_edvr_net.py index 584a36f71e..5ee9ab556f 100644 --- a/tests/test_models/test_editors/test_edvr/test_edvr_net.py +++ b/tests/test_models/test_editors/test_edvr/test_edvr_net.py @@ -133,3 +133,10 @@ def test_edvr_net(): # The height and width of inputs should be a multiple of 4 input_tensor = torch.rand(1, 5, 3, 3, 3).cuda() edvrnet(input_tensor) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_eg3d/test_camera.py b/tests/test_models/test_editors/test_eg3d/test_camera.py index 5c114db65b..79311d2107 100644 --- a/tests/test_models/test_editors/test_eg3d/test_camera.py +++ b/tests/test_models/test_editors/test_eg3d/test_camera.py @@ -172,3 +172,10 @@ def test_repr(self): camera = GaussianCamera(**cfg_) repr_string = repr(camera) self.assertIn('GaussianCamera', repr_string) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_eg3d/test_dual_discriminator.py b/tests/test_models/test_editors/test_eg3d/test_dual_discriminator.py index 07d9c0a728..361fdc284c 100644 --- a/tests/test_models/test_editors/test_eg3d/test_dual_discriminator.py +++ b/tests/test_models/test_editors/test_eg3d/test_dual_discriminator.py @@ -84,3 +84,10 @@ def test_forward(self): disc = DualDiscriminator(**cfg) out = disc(img, img_raw, None) self.assertEqual(out.shape, (2, 1)) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_eg3d/test_eg3d.py b/tests/test_models/test_editors/test_eg3d/test_eg3d.py index d80012e70f..406669b099 100644 --- a/tests/test_models/test_editors/test_eg3d/test_eg3d.py +++ b/tests/test_models/test_editors/test_eg3d/test_eg3d.py @@ -168,3 +168,10 @@ def test_interpolation(self): num_images=3, num_batches=2, sample_model='ema') self.assertEqual(len(output_list), 3) self._check_dict_output(output_list, 32, 5, 2) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_eg3d/test_eg3d_generator.py b/tests/test_models/test_editors/test_eg3d/test_eg3d_generator.py index da64b58d1a..4fa4bd73ac 100644 --- a/tests/test_models/test_editors/test_eg3d/test_eg3d_generator.py +++ b/tests/test_models/test_editors/test_eg3d/test_eg3d_generator.py @@ -75,3 +75,10 @@ def test_forward(self): _, called_kwargs = render_mock.call_args self.assertIn('render_kwargs', called_kwargs) self.assertDictEqual(called_kwargs['render_kwargs'], render_kwargs) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_eg3d/test_eg3d_modules.py b/tests/test_models/test_editors/test_eg3d/test_eg3d_modules.py index 5325af321a..367b983639 100644 --- a/tests/test_models/test_editors/test_eg3d/test_eg3d_modules.py +++ b/tests/test_models/test_editors/test_eg3d/test_eg3d_modules.py @@ -123,3 +123,10 @@ def test_forward(self): features = torch.randn(2, 8, 3, 3) sr_imgs = sr_model(imgs, features, styles) self.assertEqual(sr_imgs.shape, (2, 3, 8, 8)) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_eg3d/test_eg3d_utils.py b/tests/test_models/test_editors/test_eg3d/test_eg3d_utils.py index 201fd99a7f..8008cdcb17 100644 --- a/tests/test_models/test_editors/test_eg3d/test_eg3d_utils.py +++ b/tests/test_models/test_editors/test_eg3d/test_eg3d_utils.py @@ -32,3 +32,10 @@ def test_inverse_transform_sampling(): assert samples_det_1.shape == (10, 5) assert samples_det_2.shape == (10, 5) assert (samples_det_1 == samples_det_2).all() + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_eg3d/test_ray_sampler.py b/tests/test_models/test_editors/test_eg3d/test_ray_sampler.py index 0e38b7958d..1c7db80302 100644 --- a/tests/test_models/test_editors/test_eg3d/test_ray_sampler.py +++ b/tests/test_models/test_editors/test_eg3d/test_ray_sampler.py @@ -32,3 +32,10 @@ def test_sample_rays(): # check if camera origin in one batch is all same for origin in ray_origins: assert (origin == origin[0]).all() + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_eg3d/test_renderer.py b/tests/test_models/test_editors/test_eg3d/test_renderer.py index 8ddbf7d94f..d093e97bc0 100644 --- a/tests/test_models/test_editors/test_eg3d/test_renderer.py +++ b/tests/test_models/test_editors/test_eg3d/test_renderer.py @@ -108,3 +108,10 @@ def test_forward(self): ray_origins, ray_directions, render_kwargs=render_kwargs) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_esrgan/test_esrgan.py b/tests/test_models/test_editors/test_esrgan/test_esrgan.py index 4a329ad2a9..3068729c61 100644 --- a/tests/test_models/test_editors/test_esrgan/test_esrgan.py +++ b/tests/test_models/test_editors/test_esrgan/test_esrgan.py @@ -79,3 +79,10 @@ def test_esrgan(init_weights): # reset mock to clear some memory usage init_weights.reset_mock() + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_esrgan/test_rrdb_net.py b/tests/test_models/test_editors/test_esrgan/test_rrdb_net.py index d388ef3871..77b3c2af86 100644 --- a/tests/test_models/test_editors/test_esrgan/test_rrdb_net.py +++ b/tests/test_models/test_editors/test_esrgan/test_rrdb_net.py @@ -51,3 +51,10 @@ def test_rrdbnet_backbone(): net = net.cuda() output = net(img.cuda()) assert output.shape == (1, 3, 24, 24) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_fba/test_fba_decoder.py b/tests/test_models/test_editors/test_fba/test_fba_decoder.py index c25e306e4d..3d0be205e9 100644 --- a/tests/test_models/test_editors/test_fba/test_fba_decoder.py +++ b/tests/test_models/test_editors/test_fba/test_fba_decoder.py @@ -52,3 +52,10 @@ def test_fba_decoder(): assert_tensor_with_shape(alpha, torch.Size([1, 1, 320, 320])) assert_tensor_with_shape(F, torch.Size([1, 3, 320, 320])) assert_tensor_with_shape(B, torch.Size([1, 3, 320, 320])) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_fba/test_fba_encoder.py b/tests/test_models/test_editors/test_fba/test_fba_encoder.py index 329bea1fd1..455f3f9e5d 100644 --- a/tests/test_models/test_editors/test_fba/test_fba_encoder.py +++ b/tests/test_models/test_editors/test_fba/test_fba_encoder.py @@ -133,3 +133,10 @@ def test_fba_encoder(): assert isinstance(output['two_channel_trimap'], torch.Tensor) assert_tensor_with_shape(output['two_channel_trimap'], torch.Size([1, 2, 320, 320])) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_flavr/test_flavr.py b/tests/test_models/test_editors/test_flavr/test_flavr.py index 5ea3a5af9c..5cde6778fb 100644 --- a/tests/test_models/test_editors/test_flavr/test_flavr.py +++ b/tests/test_models/test_editors/test_flavr/test_flavr.py @@ -31,3 +31,10 @@ def test_flavr(): result = model.merge_frames(input_tensors, output_tensors) assert len(result) == 15 assert result[0].shape == (16, 16, 3) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_flavr/test_flavr_net.py b/tests/test_models/test_editors/test_flavr/test_flavr_net.py index 9472ea4215..a9a2e670b1 100644 --- a/tests/test_models/test_editors/test_flavr/test_flavr_net.py +++ b/tests/test_models/test_editors/test_flavr/test_flavr_net.py @@ -50,3 +50,10 @@ def test_flavr_net(): output = model(inputs) assert torch.is_tensor(output) assert output.shape == target.shape + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_gca/test_gca.py b/tests/test_models/test_editors/test_gca/test_gca.py index 46374693d7..77e11c65be 100644 --- a/tests/test_models/test_editors/test_gca/test_gca.py +++ b/tests/test_models/test_editors/test_gca/test_gca.py @@ -179,3 +179,10 @@ def test_gca(): model.cpu().eval() inputs = torch.ones((1, 4, 32, 32)) model.forward(inputs) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_gca/test_gca_module.py b/tests/test_models/test_editors/test_gca/test_gca_module.py index 244b1b7fae..7645fc238c 100644 --- a/tests/test_models/test_editors/test_gca/test_gca_module.py +++ b/tests/test_models/test_editors/test_gca/test_gca_module.py @@ -131,3 +131,10 @@ def test_gca_module(): gca = GCAModule(128, 128, rate=2) output = gca(img_feat, alpha_feat, unknown) assert output.shape == (1, 128, 64, 64) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_gca/test_resgca_dec.py b/tests/test_models/test_editors/test_gca/test_resgca_dec.py index 1094b67485..3202efe804 100644 --- a/tests/test_models/test_editors/test_gca/test_resgca_dec.py +++ b/tests/test_models/test_editors/test_gca/test_resgca_dec.py @@ -135,3 +135,10 @@ def test_res_gca_decoder(): outputs = encoder(img) prediction = model(outputs) assert_tensor_with_shape(prediction, torch.Size([2, 1, 32, 32])) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_gca/test_resgca_enc.py b/tests/test_models/test_editors/test_gca/test_resgca_enc.py index 94c0f3892b..c47731875a 100644 --- a/tests/test_models/test_editors/test_gca/test_resgca_enc.py +++ b/tests/test_models/test_editors/test_gca/test_resgca_enc.py @@ -176,3 +176,10 @@ def test_res_shortcut_encoder(): assert_tensor_with_shape(outputs['feat3'], target_late_ds_shape[2]) assert_tensor_with_shape(outputs['feat4'], target_late_ds_shape[3]) assert_tensor_with_shape(outputs['feat5'], target_late_ds_shape[4]) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_ggan/test_ggan.py b/tests/test_models/test_editors/test_ggan/test_ggan.py index 40c98cb8a9..dc92bbfcb8 100644 --- a/tests/test_models/test_editors/test_ggan/test_ggan.py +++ b/tests/test_models/test_editors/test_ggan/test_ggan.py @@ -95,3 +95,10 @@ def test_train_step(self): self.assertEqual( log.keys(), set(['loss', 'loss', 'loss_disc_fake', 'loss_disc_real'])) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_glean/test_glean_styleganv2.py b/tests/test_models/test_editors/test_glean/test_glean_styleganv2.py index 09d3980006..fbce7b8bcd 100644 --- a/tests/test_models/test_editors/test_glean/test_glean_styleganv2.py +++ b/tests/test_models/test_editors/test_glean/test_glean_styleganv2.py @@ -82,3 +82,10 @@ def test_glean(init_weights): # reset mock to clear some memory usage init_weights.reset_mock() + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_glide/test_glide.py b/tests/test_models/test_editors/test_glide/test_glide.py index fd561a7e01..20d87c5e19 100644 --- a/tests/test_models/test_editors/test_glide/test_glide.py +++ b/tests/test_models/test_editors/test_glide/test_glide.py @@ -105,3 +105,10 @@ def test_infer(self): prompt=text_prompts, show_progress=True, num_inference_steps=2)['samples'] assert image.shape == (1, 3, 256, 256) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_global_local/test_gl_decoder.py b/tests/test_models/test_editors/test_global_local/test_gl_decoder.py index a48ea8c4b3..a9d7bdd601 100644 --- a/tests/test_models/test_editors/test_global_local/test_gl_decoder.py +++ b/tests/test_models/test_editors/test_global_local/test_gl_decoder.py @@ -33,3 +33,10 @@ def test_gl_decoder(): gl_decoder = gl_decoder.cuda() output = gl_decoder(input_x.cuda()) assert output.shape == (1, 3, 256, 256) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_global_local/test_gl_dilation.py b/tests/test_models/test_editors/test_global_local/test_gl_dilation.py index cabfd74876..2b2c54ef5e 100644 --- a/tests/test_models/test_editors/test_global_local/test_gl_dilation.py +++ b/tests/test_models/test_editors/test_global_local/test_gl_dilation.py @@ -27,3 +27,10 @@ def test_gl_dilation_neck(): res = neck(x) assert isinstance(neck.dilation_convs[0], SimpleGatedConvModule) assert res.shape == (2, 8, 64, 64) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_global_local/test_gl_disc.py b/tests/test_models/test_editors/test_global_local/test_gl_disc.py index d44ce7434c..84daae3198 100644 --- a/tests/test_models/test_editors/test_global_local/test_gl_disc.py +++ b/tests/test_models/test_editors/test_global_local/test_gl_disc.py @@ -41,3 +41,10 @@ def test_gl_discs(): input_l = torch.randn(1, 3, 128, 128).cuda() output = gl_discs((input_g, input_l)) assert output.shape == (1, 1) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_global_local/test_gl_encoder.py b/tests/test_models/test_editors/test_global_local/test_gl_encoder.py index 95691e7539..bcace0504d 100644 --- a/tests/test_models/test_editors/test_global_local/test_gl_encoder.py +++ b/tests/test_models/test_editors/test_global_local/test_gl_encoder.py @@ -19,3 +19,10 @@ def test_gl_encoder(): gl_encoder = gl_encoder.cuda() output = gl_encoder(input_x.cuda()) assert output.shape == (1, 256, 64, 64) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_global_local/test_gl_encoder_decoder.py b/tests/test_models/test_editors/test_global_local/test_gl_encoder_decoder.py index 98c0f2eb88..4a57b47719 100644 --- a/tests/test_models/test_editors/test_global_local/test_gl_encoder_decoder.py +++ b/tests/test_models/test_editors/test_global_local/test_gl_encoder_decoder.py @@ -36,3 +36,10 @@ def test_gl_encdec(): gl_encdec = gl_encdec.cuda() output = gl_encdec(input_x.cuda()) assert output.shape == (1, 3, 256, 256) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_global_local/test_gl_inpaintor.py b/tests/test_models/test_editors/test_global_local/test_gl_inpaintor.py index b0fadfc30f..f6046f40f5 100644 --- a/tests/test_models/test_editors/test_global_local/test_gl_inpaintor.py +++ b/tests/test_models/test_editors/test_global_local/test_gl_inpaintor.py @@ -69,3 +69,10 @@ def test_gl_inpaintor(): res, loss = gl_dirty.generator_loss(gt_img, gt_img, gt_img, gt_img, mask, masked_img) assert len(loss) == 0 + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_guided_diffusion/test_adm.py b/tests/test_models/test_editors/test_guided_diffusion/test_adm.py index b670ff0c23..a4f6a1815c 100644 --- a/tests/test_models/test_editors/test_guided_diffusion/test_adm.py +++ b/tests/test_models/test_editors/test_guided_diffusion/test_adm.py @@ -87,3 +87,10 @@ def test_infer(self): classifier_scale=1.0, show_progress=False)['samples'] assert samples.shape == (1, 3, 64, 64) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_iconvsr/test_iconvsr_net.py b/tests/test_models/test_editors/test_iconvsr/test_iconvsr_net.py index ea87881836..42d9b5ae8d 100644 --- a/tests/test_models/test_editors/test_iconvsr/test_iconvsr_net.py +++ b/tests/test_models/test_editors/test_iconvsr/test_iconvsr_net.py @@ -80,3 +80,10 @@ def test_iconvsr(): padding=2, spynet_pretrained=None, edvr_pretrained=123).cuda() + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_indexnet/test_indexnet.py b/tests/test_models/test_editors/test_indexnet/test_indexnet.py index e20fb4856c..8f6bfdd505 100644 --- a/tests/test_models/test_editors/test_indexnet/test_indexnet.py +++ b/tests/test_models/test_editors/test_indexnet/test_indexnet.py @@ -209,3 +209,10 @@ def test_indexed_upsample(): shortcut = torch.rand(2, 6, 64, 64) output = indexed_upsample(x, shortcut, dec_idx_feat) assert_tensor_with_shape(output, (2, 12, 64, 64)) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_indexnet/test_indexnet_decoder.py b/tests/test_models/test_editors/test_indexnet/test_indexnet_decoder.py index d6195db926..a586cdc633 100644 --- a/tests/test_models/test_editors/test_indexnet/test_indexnet_decoder.py +++ b/tests/test_models/test_editors/test_indexnet/test_indexnet_decoder.py @@ -33,3 +33,10 @@ def test_indexnet_decoder(): indexnet_decoder.init_weights() out = indexnet_decoder(outputs_enc) assert out.shape == (2, 1, 32, 32) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_indexnet/test_indexnet_encoder.py b/tests/test_models/test_editors/test_indexnet/test_indexnet_encoder.py index 87787682ec..3232703f50 100644 --- a/tests/test_models/test_editors/test_indexnet/test_indexnet_encoder.py +++ b/tests/test_models/test_editors/test_indexnet/test_indexnet_encoder.py @@ -139,3 +139,10 @@ def test_index_blocks(): enc_idx_feat, dec_idx_feat = block(x) assert enc_idx_feat.shape == (2, 128, 8, 8) assert dec_idx_feat.shape == (2, 128, 8, 8) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_inst_colorization/test_color_utils.py b/tests/test_models/test_editors/test_inst_colorization/test_color_utils.py index b24141e46c..a74062a9a4 100644 --- a/tests/test_models/test_editors/test_inst_colorization/test_color_utils.py +++ b/tests/test_models/test_editors/test_inst_colorization/test_color_utils.py @@ -151,3 +151,10 @@ def test_encode_ab_ind(self): assert data_q.shape == (1, 1, 8, 8) assert data_q.equal(data_ab_rs[:, [0], :, :] * A + data_ab_rs[:, [1], :, :]) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_inst_colorization/test_colorization_net.py b/tests/test_models/test_editors/test_inst_colorization/test_colorization_net.py index e9da280267..5ddeeb139e 100644 --- a/tests/test_models/test_editors/test_inst_colorization/test_colorization_net.py +++ b/tests/test_models/test_editors/test_inst_colorization/test_colorization_net.py @@ -40,3 +40,10 @@ def test_colorization_net(): assert isinstance(feature_map, dict) for item in feature_map.keys(): assert torch.is_tensor(feature_map[item]) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_inst_colorization/test_fusion_net.py b/tests/test_models/test_editors/test_inst_colorization/test_fusion_net.py index e46e99a01f..834cd601cf 100644 --- a/tests/test_models/test_editors/test_inst_colorization/test_fusion_net.py +++ b/tests/test_models/test_editors/test_inst_colorization/test_fusion_net.py @@ -79,3 +79,10 @@ def test_fusion_net(): output = model(input_A, input_B, mask_B, instance_feature, box_info_box) assert torch.is_tensor(output) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_inst_colorization/test_inst_colorization.py b/tests/test_models/test_editors/test_inst_colorization/test_inst_colorization.py index 56b67e7d25..15a5957d03 100644 --- a/tests/test_models/test_editors/test_inst_colorization/test_inst_colorization.py +++ b/tests/test_models/test_editors/test_inst_colorization/test_inst_colorization.py @@ -121,3 +121,10 @@ def test_inst_colorization(self): assert torch.is_tensor(res) assert res.shape == target_shape + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_inst_colorization/test_weight_layer.py b/tests/test_models/test_editors/test_inst_colorization/test_weight_layer.py index 69d7600785..70ee9342a0 100644 --- a/tests/test_models/test_editors/test_inst_colorization/test_weight_layer.py +++ b/tests/test_models/test_editors/test_inst_colorization/test_weight_layer.py @@ -28,3 +28,10 @@ def test_weight_layer(): conv1_2 = weight_layer(instance_feature_conv1_2, conv1_2, box_info) assert conv1_2.shape == instance_feature_conv1_2.shape + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_liif/test_liif.py b/tests/test_models/test_editors/test_liif/test_liif.py index a8e3b88cb6..1fca44282c 100644 --- a/tests/test_models/test_editors/test_liif/test_liif.py +++ b/tests/test_models/test_editors/test_liif/test_liif.py @@ -71,3 +71,10 @@ def test_liif(): output = model( torch.rand(1, 3, 8, 8), DataSample.stack([data_sample]), mode='tensor') assert output.shape == (1, 256, 3) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_liif/test_liif_net.py b/tests/test_models/test_editors/test_liif/test_liif_net.py index 6c7d649a05..4bf5595f90 100644 --- a/tests/test_models/test_editors/test_liif/test_liif_net.py +++ b/tests/test_models/test_editors/test_liif/test_liif_net.py @@ -113,3 +113,10 @@ def test_liif_rdn_net(): output = model(inputs, coord, cell, True) assert torch.is_tensor(output) assert output.shape == targets.shape + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_liif/test_mlp_refiner.py b/tests/test_models/test_editors/test_liif/test_mlp_refiner.py index a13e743a8d..f441129533 100644 --- a/tests/test_models/test_editors/test_liif/test_mlp_refiner.py +++ b/tests/test_models/test_editors/test_liif/test_mlp_refiner.py @@ -9,3 +9,10 @@ def test_MLPRefiner(): inputs = torch.randn(1, 8) outputs = model(inputs) assert outputs.shape == (1, 2) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_lsgan/test_lsgan.py b/tests/test_models/test_editors/test_lsgan/test_lsgan.py index 32b32fa876..a6eed582ed 100644 --- a/tests/test_models/test_editors/test_lsgan/test_lsgan.py +++ b/tests/test_models/test_editors/test_lsgan/test_lsgan.py @@ -95,3 +95,10 @@ def test_train_step(self): self.assertEqual( log.keys(), set(['loss', 'loss', 'loss_disc_fake', 'loss_disc_real'])) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_lsgan/test_lsgan_discriminator.py b/tests/test_models/test_editors/test_lsgan/test_lsgan_discriminator.py index 6481ec48ea..4ced446509 100644 --- a/tests/test_models/test_editors/test_lsgan/test_lsgan_discriminator.py +++ b/tests/test_models/test_editors/test_lsgan/test_lsgan_discriminator.py @@ -70,3 +70,10 @@ def test_lsgan_discriminator_cuda(self): x = torch.randn((2, 3, 64, 64)) score = d(x.cuda()) assert score.shape == (2, 1) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_lsgan/test_lsgan_generator.py b/tests/test_models/test_editors/test_lsgan/test_lsgan_generator.py index 4843a6f074..153a0313e4 100644 --- a/tests/test_models/test_editors/test_lsgan/test_lsgan_generator.py +++ b/tests/test_models/test_editors/test_lsgan/test_lsgan_generator.py @@ -56,3 +56,10 @@ def test_lsgan_generator_cuda(self): assert isinstance(g, LSGANGenerator) x = g(None, num_batches=3) assert x.shape == (3, 3, 64, 64) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_mspie/test_mspie_stylegan2.py b/tests/test_models/test_editors/test_mspie/test_mspie_stylegan2.py index 01758bad14..2c33300dfa 100644 --- a/tests/test_models/test_editors/test_mspie/test_mspie_stylegan2.py +++ b/tests/test_models/test_editors/test_mspie/test_mspie_stylegan2.py @@ -70,3 +70,10 @@ def test_stylegan2_cpu(self): # simulate train_loop here message_hub.update_info('iter', 0) _ = gan.train_step(data, optim_wrapper_dict) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_mspie/test_mspie_stylegan2_discriminator.py b/tests/test_models/test_editors/test_mspie/test_mspie_stylegan2_discriminator.py index 5290d8ee10..234d4dd78d 100644 --- a/tests/test_models/test_editors/test_mspie/test_mspie_stylegan2_discriminator.py +++ b/tests/test_models/test_editors/test_mspie/test_mspie_stylegan2_discriminator.py @@ -35,3 +35,10 @@ def test_msstylegan2_disc_cuda(self): img = torch.randn((2, 3, 64, 64)).cuda() score = d(img) assert score.shape == (2, 1) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_mspie/test_mspie_stylegan2_generator.py b/tests/test_models/test_editors/test_mspie/test_mspie_stylegan2_generator.py index 1d8ff866a1..2592d117e6 100644 --- a/tests/test_models/test_editors/test_mspie/test_mspie_stylegan2_generator.py +++ b/tests/test_models/test_editors/test_mspie/test_mspie_stylegan2_generator.py @@ -133,3 +133,10 @@ def test_head_pos_encoding(self): g = MSStyleGANv2Generator( **cfg, head_pos_encoding=dict(type='MockHeadPosEncoding')) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_mspie/test_mspie_stylegan2_modules.py b/tests/test_models/test_editors/test_mspie/test_mspie_stylegan2_modules.py index 03d61773eb..d98e6c9704 100644 --- a/tests/test_models/test_editors/test_mspie/test_mspie_stylegan2_modules.py +++ b/tests/test_models/test_editors/test_mspie/test_mspie_stylegan2_modules.py @@ -108,3 +108,10 @@ def test_up_after_conv(self): **cfg, upsample=True, deconv2conv=True, interp_pad=3) out = conv(x, style) self.assertEqual(out.shape, (1, 8, 67, 67)) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_mspie/test_pe_singan.py b/tests/test_models/test_editors/test_mspie/test_pe_singan.py index cd689b3327..206b9227e1 100644 --- a/tests/test_models/test_editors/test_mspie/test_pe_singan.py +++ b/tests/test_models/test_editors/test_mspie/test_pe_singan.py @@ -118,3 +118,10 @@ def test_pesingan_cpu(self): elif i in [4, 5]: assert singan.curr_stage == 2 assert img.shape[-2:] == (32, 32) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_mspie/test_pe_singan_generator.py b/tests/test_models/test_editors/test_mspie/test_pe_singan_generator.py index fe479b9580..98b32a60f2 100644 --- a/tests/test_models/test_editors/test_mspie/test_pe_singan_generator.py +++ b/tests/test_models/test_editors/test_mspie/test_pe_singan_generator.py @@ -93,3 +93,10 @@ def test_singan_gen_pe(self): interp_pad=True, noise_with_pad=False, **self.default_args) res = gen(None, self.fixed_noises, self.noise_weights, 'rand', 2) assert res.shape == (1, 3, 12, 12) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_mspie/test_positional_encoding.py b/tests/test_models/test_editors/test_mspie/test_positional_encoding.py index b069a2a1ea..20c43cc5c0 100644 --- a/tests/test_models/test_editors/test_mspie/test_positional_encoding.py +++ b/tests/test_models/test_editors/test_mspie/test_positional_encoding.py @@ -57,3 +57,10 @@ def test_csg_cpu(self): def test_csg_cuda(self): embed = self.csg(torch.randn((2, 4, 5, 5)).cuda()) assert embed.shape == (2, 2, 5, 5) and embed.is_cuda + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_nafnet/test_naf_avgpool2d.py b/tests/test_models/test_editors/test_nafnet/test_naf_avgpool2d.py index b2a9d40ca6..6c217b4983 100644 --- a/tests/test_models/test_editors/test_nafnet/test_naf_avgpool2d.py +++ b/tests/test_models/test_editors/test_nafnet/test_naf_avgpool2d.py @@ -51,3 +51,10 @@ def test_avgpool2d(): print(outputs) assert info == tar_info assert torch.all(torch.eq(targets, outputs)) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_nafnet/test_naf_layernorm2d.py b/tests/test_models/test_editors/test_nafnet/test_naf_layernorm2d.py index eefd626115..2aab3d9285 100644 --- a/tests/test_models/test_editors/test_nafnet/test_naf_layernorm2d.py +++ b/tests/test_models/test_editors/test_nafnet/test_naf_layernorm2d.py @@ -12,3 +12,10 @@ def test_layer_norm(): outputs = layer_norm_2d(inputs) assert outputs.shape == targets.shape assert torch.all(torch.eq(outputs, targets)) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_nafnet/test_nafbaseline.py b/tests/test_models/test_editors/test_nafnet/test_nafbaseline.py index 7bdb6fcf5e..81a160e18e 100644 --- a/tests/test_models/test_editors/test_nafnet/test_nafbaseline.py +++ b/tests/test_models/test_editors/test_nafnet/test_nafbaseline.py @@ -66,3 +66,10 @@ def test_baseline_local(): output = model(inputs) assert torch.is_tensor(output) assert output.shape == targets.shape + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_nafnet/test_nafnet.py b/tests/test_models/test_editors/test_nafnet/test_nafnet.py index 56ed5bbf7a..7b501d81a4 100644 --- a/tests/test_models/test_editors/test_nafnet/test_nafnet.py +++ b/tests/test_models/test_editors/test_nafnet/test_nafnet.py @@ -66,3 +66,10 @@ def test_nafnet_local(): output = model(inputs) assert torch.is_tensor(output) assert output.shape == targets.shape + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_pconv/test_mask_conv_module.py b/tests/test_models/test_editors/test_pconv/test_mask_conv_module.py index 4de08490d5..77a7338239 100644 --- a/tests/test_models/test_editors/test_pconv/test_mask_conv_module.py +++ b/tests/test_models/test_editors/test_pconv/test_mask_conv_module.py @@ -76,3 +76,10 @@ def test_mask_conv_module(): with pytest.raises(KeyError): conv = MaskConvModule(3, 8, 3, padding=1, padding_mode='igccc') + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_pconv/test_partial_conv.py b/tests/test_models/test_editors/test_pconv/test_partial_conv.py index 0b20395190..682c908e91 100644 --- a/tests/test_models/test_editors/test_pconv/test_partial_conv.py +++ b/tests/test_models/test_editors/test_pconv/test_partial_conv.py @@ -71,3 +71,10 @@ def test_pconv2d(): eps=1e-8).cuda().half() output = pconv2d(x.cuda().half(), mask=None) assert output.shape == (1, 2, 6, 6) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_pconv/test_pconv_decoder.py b/tests/test_models/test_editors/test_pconv/test_pconv_decoder.py index 5f78de358e..55e24bbbb0 100644 --- a/tests/test_models/test_editors/test_pconv/test_pconv_decoder.py +++ b/tests/test_models/test_editors/test_pconv/test_pconv_decoder.py @@ -21,3 +21,10 @@ def test_pconv_dec(): h, h_mask = pconv_dec(input) assert h.detach().numpy().shape == (2, 3, 128, 128) assert h_mask.detach().numpy().shape == (2, 3, 128, 128) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_pconv/test_pconv_encoder.py b/tests/test_models/test_editors/test_pconv/test_pconv_encoder.py index 90201220f1..05dc00bec6 100644 --- a/tests/test_models/test_editors/test_pconv/test_pconv_encoder.py +++ b/tests/test_models/test_editors/test_pconv/test_pconv_encoder.py @@ -25,3 +25,10 @@ def test_pconv_enc(): assert isinstance(output['hidden_feats'], dict) assert isinstance(output['hidden_masks'], dict) assert output['out'].detach().numpy().shape == (2, 512, 1, 1) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_pconv/test_pconv_encoder_decoder.py b/tests/test_models/test_editors/test_pconv/test_pconv_encoder_decoder.py index 305c936130..7fb5bacd22 100644 --- a/tests/test_models/test_editors/test_pconv/test_pconv_encoder_decoder.py +++ b/tests/test_models/test_editors/test_pconv/test_pconv_encoder_decoder.py @@ -22,3 +22,10 @@ def test_pconv_encdec(): with pytest.raises(TypeError): pconv_encdec.init_weights(pretrained=dict(igccc=8989)) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_pconv/test_pconv_inpaintor.py b/tests/test_models/test_editors/test_pconv/test_pconv_inpaintor.py index ad835d2bd2..bcd270bd32 100644 --- a/tests/test_models/test_editors/test_pconv/test_pconv_inpaintor.py +++ b/tests/test_models/test_editors/test_pconv/test_pconv_inpaintor.py @@ -62,3 +62,10 @@ def test_pconv_inpaintor(): assert 'fake_img' in prediction assert 'pred_img' in prediction assert prediction.pred_img.shape == (3, 256, 256) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_pggan/test_pggan.py b/tests/test_models/test_editors/test_pggan/test_pggan.py index 8e1a56407d..92ac04096a 100644 --- a/tests/test_models/test_editors/test_pggan/test_pggan.py +++ b/tests/test_models/test_editors/test_pggan/test_pggan.py @@ -184,3 +184,10 @@ def test_pggan_cuda(self): assert np.isclose(pggan._actual_nkimgs[0], 0.006, atol=1e-8) elif iter_num == 5: assert np.isclose(pggan._actual_nkimgs[-1], 0.012, atol=1e-8) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_pggan/test_pggan_discriminator.py b/tests/test_models/test_editors/test_pggan/test_pggan_discriminator.py index dddb7119cf..54cbed71db 100644 --- a/tests/test_models/test_editors/test_pggan/test_pggan_discriminator.py +++ b/tests/test_models/test_editors/test_pggan/test_pggan_discriminator.py @@ -72,3 +72,10 @@ def test_pggan_discriminator_cuda(self): self.default_inputx4.cuda(), transition_weight=0.1, curr_scale=4) assert score.shape == (2, 1) assert label.shape == (2, 2) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_pggan/test_pggan_generator.py b/tests/test_models/test_editors/test_pggan/test_pggan_generator.py index 33fec9f094..053c77a0bf 100644 --- a/tests/test_models/test_editors/test_pggan/test_pggan_generator.py +++ b/tests/test_models/test_editors/test_pggan/test_pggan_generator.py @@ -70,3 +70,10 @@ def test_pggan_generator_cuda(self): gen = PGGANGenerator(**cfg).cuda() res = gen(None, num_batches=2, transition_weight=0.1) assert res.shape == (2, 3, 32, 32) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_pggan/test_pggan_modules.py b/tests/test_models/test_editors/test_pggan/test_pggan_modules.py index e8fcc563f6..cea16e4af6 100644 --- a/tests/test_models/test_editors/test_pggan/test_pggan_modules.py +++ b/tests/test_models/test_editors/test_pggan/test_pggan_modules.py @@ -333,3 +333,10 @@ def test_pggan_noise2feat_cuda(self): assert not module.linear.bias assert module.with_norm assert isinstance(module.activation, nn.LeakyReLU) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_pix2pix/test_pix2pix.py b/tests/test_models/test_editors/test_pix2pix/test_pix2pix.py index f95f28ab99..d652ea3504 100644 --- a/tests/test_models/test_editors/test_pix2pix/test_pix2pix.py +++ b/tests/test_models/test_editors/test_pix2pix/test_pix2pix.py @@ -250,3 +250,10 @@ def test_pix2pix_val_step(): # assert 'gt_photo' in out[0] # assert 'gt_mask' in out[0] assert 'fake_photo' in out[0] + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_pix2pix/test_pix2pix_generator.py b/tests/test_models/test_editors/test_pix2pix/test_pix2pix_generator.py index d7a182d7f1..bab85cf187 100644 --- a/tests/test_models/test_editors/test_pix2pix/test_pix2pix_generator.py +++ b/tests/test_models/test_editors/test_pix2pix/test_pix2pix_generator.py @@ -60,3 +60,10 @@ def test_pix2pix_generator_cuda(self): with pytest.raises(TypeError): gen = UnetGenerator(**self.default_cfg) gen.init_weights(pretrained=10) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_pix2pix/test_pix2pix_modules.py b/tests/test_models/test_editors/test_pix2pix/test_pix2pix_modules.py index 506731d384..b443d2a552 100644 --- a/tests/test_models/test_editors/test_pix2pix/test_pix2pix_modules.py +++ b/tests/test_models/test_editors/test_pix2pix/test_pix2pix_modules.py @@ -10,3 +10,10 @@ def test_unet_skip_connection_block(): input = torch.rand((2, 16, 128, 128)) output = block(input) assert output.detach().numpy().shape == (2, 32, 128, 128) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_plain/test_plain_decoder.py b/tests/test_models/test_editors/test_plain/test_plain_decoder.py index 528c0661e3..5467a08267 100644 --- a/tests/test_models/test_editors/test_plain/test_plain_decoder.py +++ b/tests/test_models/test_editors/test_plain/test_plain_decoder.py @@ -57,3 +57,10 @@ def test_plain_decoder(): outputs = encoder(img) prediction = model(outputs) assert_tensor_with_shape(prediction, torch.Size([1, 1, 64, 64])) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_plain/test_plain_refiner.py b/tests/test_models/test_editors/test_plain/test_plain_refiner.py index 8d7e68aa47..a5ea558c68 100644 --- a/tests/test_models/test_editors/test_plain/test_plain_refiner.py +++ b/tests/test_models/test_editors/test_plain/test_plain_refiner.py @@ -18,3 +18,10 @@ def test_plain_refiner(): raw_alpha = torch.rand((2, 1, 128, 128)) output = plain_refiner(input, raw_alpha) assert output.detach().numpy().shape == (2, 1, 128, 128) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_rdn/test_rdn_net.py b/tests/test_models/test_editors/test_rdn/test_rdn_net.py index c6ea290976..67a76820d8 100644 --- a/tests/test_models/test_editors/test_rdn/test_rdn_net.py +++ b/tests/test_models/test_editors/test_rdn/test_rdn_net.py @@ -58,3 +58,10 @@ def test_rdn(): optimizer.step() assert torch.is_tensor(output) assert output.shape == targets.shape + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_real_basicvsr/test_real_basicvsr.py b/tests/test_models/test_editors/test_real_basicvsr/test_real_basicvsr.py index dd54f79213..a06f20fd3f 100644 --- a/tests/test_models/test_editors/test_real_basicvsr/test_real_basicvsr.py +++ b/tests/test_models/test_editors/test_real_basicvsr/test_real_basicvsr.py @@ -112,3 +112,10 @@ def test_real_basicvsr(init_weights): # reset mock to clear some memory usage init_weights.reset_mock() + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_real_basicvsr/test_real_basicvsr_net.py b/tests/test_models/test_editors/test_real_basicvsr/test_real_basicvsr_net.py index ae261a705d..53ab5b27ca 100644 --- a/tests/test_models/test_editors/test_real_basicvsr/test_real_basicvsr_net.py +++ b/tests/test_models/test_editors/test_real_basicvsr/test_real_basicvsr_net.py @@ -49,3 +49,10 @@ def test_real_basicvsr_net(): output, lq = real_basicvsr(input_tensor, return_lqs=True) assert output.shape == (1, 5, 3, 256, 256) assert lq.shape == (1, 5, 3, 64, 64) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_real_esrgan/test_real_esrgan.py b/tests/test_models/test_editors/test_real_esrgan/test_real_esrgan.py index 0727ff9d68..aa9230115d 100644 --- a/tests/test_models/test_editors/test_real_esrgan/test_real_esrgan.py +++ b/tests/test_models/test_editors/test_real_esrgan/test_real_esrgan.py @@ -110,3 +110,10 @@ def test_real_esrgan(init_weights): # reset mock to clear some memory usage init_weights.reset_mock() + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_real_esrgan/test_unet_disc.py b/tests/test_models/test_editors/test_real_esrgan/test_unet_disc.py index e268136e47..ba711cee52 100644 --- a/tests/test_models/test_editors/test_real_esrgan/test_unet_disc.py +++ b/tests/test_models/test_editors/test_real_esrgan/test_unet_disc.py @@ -23,3 +23,10 @@ def test_unet_disc_with_spectral_norm(): img = img.cuda() output = disc(img) assert output.detach().cpu().numpy().shape == (1, 1, 16, 16) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_restormer/test_restormer_net.py b/tests/test_models/test_editors/test_restormer/test_restormer_net.py index d48969f899..2d1c27d9d4 100644 --- a/tests/test_models/test_editors/test_restormer/test_restormer_net.py +++ b/tests/test_models/test_editors/test_restormer/test_restormer_net.py @@ -106,3 +106,10 @@ def test_restormer_cuda(): output = net(img.cuda()) assert isinstance(output, torch.Tensor) assert output.shape == (1, 3, 16, 16) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_sagan/test_sagan.py b/tests/test_models/test_editors/test_sagan/test_sagan.py index 1feb3d9878..f12975cb98 100644 --- a/tests/test_models/test_editors/test_sagan/test_sagan.py +++ b/tests/test_models/test_editors/test_sagan/test_sagan.py @@ -128,3 +128,10 @@ def test_train_step(self): self.assertEqual( log.keys(), set(['loss', 'loss', 'loss_disc_fake', 'loss_disc_real'])) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_sagan/test_sagan_discriminator.py b/tests/test_models/test_editors/test_sagan/test_sagan_discriminator.py index 80969ece02..3cf9001eb2 100644 --- a/tests/test_models/test_editors/test_sagan/test_sagan_discriminator.py +++ b/tests/test_models/test_editors/test_sagan/test_sagan_discriminator.py @@ -275,3 +275,10 @@ def test_sngan_proj_discriminator_cuda(self): assert isinstance(d, ProjDiscriminator) score = d(self.x.cuda(), self.label.cuda()) assert score.shape == (2, 1) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_sagan/test_sagan_generator.py b/tests/test_models/test_editors/test_sagan/test_sagan_generator.py index 58d4ea018a..76f45fef6f 100644 --- a/tests/test_models/test_editors/test_sagan/test_sagan_generator.py +++ b/tests/test_models/test_editors/test_sagan/test_sagan_generator.py @@ -300,3 +300,10 @@ def test_sngan_proj_generator_cuda(self): assert isinstance(g, SNGANGenerator) x = g(None, num_batches=2) assert x.shape == (2, 3, 32, 32) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_sagan/test_sagan_modules.py b/tests/test_models/test_editors/test_sagan/test_sagan_modules.py index 5746b267ff..d98a679698 100644 --- a/tests/test_models/test_editors/test_sagan/test_sagan_modules.py +++ b/tests/test_models/test_editors/test_sagan/test_sagan_modules.py @@ -504,3 +504,10 @@ def test_conditionalNorm_cuda(self): norm = MODELS.build(config).cuda() out = norm(self.input.cuda(), self.label.cuda()) assert out.shape == (2, 4, 4, 4) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_singan/test_singan.py b/tests/test_models/test_editors/test_singan/test_singan.py index 716dddcf02..d88ff99053 100644 --- a/tests/test_models/test_editors/test_singan/test_singan.py +++ b/tests/test_models/test_editors/test_singan/test_singan.py @@ -125,3 +125,10 @@ def test_singan_cpu(self): assert all([hasattr(out.orig, 'prev_res_list') for out in outputs]) assert all([hasattr(out.ema, 'prev_res_list') for out in outputs]) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_singan/test_singan_discriminator.py b/tests/test_models/test_editors/test_singan/test_singan_discriminator.py index 1c4d952dc5..aa051dbedf 100644 --- a/tests/test_models/test_editors/test_singan/test_singan_discriminator.py +++ b/tests/test_models/test_editors/test_singan/test_singan_discriminator.py @@ -22,3 +22,10 @@ def test_singan_disc(self): img = torch.randn(1, 3, 24, 24) res = disc(img, 2) assert res.shape[0] == 1 + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_singan/test_singan_generator.py b/tests/test_models/test_editors/test_singan/test_singan_generator.py index 8b3b73d129..6f0b5ee853 100644 --- a/tests/test_models/test_editors/test_singan/test_singan_generator.py +++ b/tests/test_models/test_editors/test_singan/test_singan_generator.py @@ -42,3 +42,10 @@ def test_singan_gen(self): get_prev_res=True) assert output['prev_res_list'][0].shape == (1, 3, 8, 8) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_singan/test_singan_modules.py b/tests/test_models/test_editors/test_singan/test_singan_modules.py index 503d551e5c..fa1e6c4a94 100644 --- a/tests/test_models/test_editors/test_singan/test_singan_modules.py +++ b/tests/test_models/test_editors/test_singan/test_singan_modules.py @@ -24,3 +24,10 @@ def test_DiscriminatorBlock(): x = torch.randn(1, 3, 6, 6) out = disc_block(x) assert out.shape == (1, 1, 6, 6) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_srcnn/test_srcnn_net.py b/tests/test_models/test_editors/test_srcnn/test_srcnn_net.py index 385d58375e..6dea078a01 100644 --- a/tests/test_models/test_editors/test_srcnn/test_srcnn_net.py +++ b/tests/test_models/test_editors/test_srcnn/test_srcnn_net.py @@ -36,3 +36,10 @@ def test_srcnn(): # The length of kernel tuple should be 3 net = SRCNNNet( channels=(3, 4, 4, 3), kernel_sizes=(9, 1, 1, 5), upscale_factor=4) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_srgan/test_modified_vgg.py b/tests/test_models/test_editors/test_srgan/test_modified_vgg.py index 6eae214149..8fb3eb1834 100644 --- a/tests/test_models/test_editors/test_srgan/test_modified_vgg.py +++ b/tests/test_models/test_editors/test_srgan/test_modified_vgg.py @@ -9,3 +9,10 @@ def test_modifiedVGG(): inputs = torch.randn(1, 3, 128, 128) outputs = model(inputs) assert outputs.shape == (1, 1) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_srgan/test_sr_resnet.py b/tests/test_models/test_editors/test_srgan/test_sr_resnet.py index 2ec837ae03..20d4b84b49 100644 --- a/tests/test_models/test_editors/test_srgan/test_sr_resnet.py +++ b/tests/test_models/test_editors/test_srgan/test_sr_resnet.py @@ -73,3 +73,10 @@ def test_discriminator(): input_shape = (1, 3, 64, 64) img = torch.rand(input_shape) output = net(img) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_srgan/test_srgan.py b/tests/test_models/test_editors/test_srgan/test_srgan.py index f531002659..c27cbcb70b 100644 --- a/tests/test_models/test_editors/test_srgan/test_srgan.py +++ b/tests/test_models/test_editors/test_srgan/test_srgan.py @@ -78,3 +78,10 @@ def test_srgan_resnet(init_weights): # reset mock to clear some memory usage init_weights.reset_mock() + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_stable_diffusion/test_clip_wrapper.py b/tests/test_models/test_editors/test_stable_diffusion/test_clip_wrapper.py index c41326f9d4..9070821469 100644 --- a/tests/test_models/test_editors/test_stable_diffusion/test_clip_wrapper.py +++ b/tests/test_models/test_editors/test_stable_diffusion/test_clip_wrapper.py @@ -51,3 +51,10 @@ def test_load_clip_submodels_transformers_none(): load_clip_submodels(init_cfg, submodels, True) sys.modules['transformers'] = transformer_location + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_stable_diffusion/test_stable_diffusion.py b/tests/test_models/test_editors/test_stable_diffusion/test_stable_diffusion.py index 4838a9c9f8..9b1fc08018 100644 --- a/tests/test_models/test_editors/test_stable_diffusion/test_stable_diffusion.py +++ b/tests/test_models/test_editors/test_stable_diffusion/test_stable_diffusion.py @@ -121,3 +121,10 @@ def test_stable_diffusion(): width=64, num_inference_steps=1, return_type='image') + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_stable_diffusion/test_stable_diffusion_inpaint.py b/tests/test_models/test_editors/test_stable_diffusion/test_stable_diffusion_inpaint.py index 9ed1cf30bb..10f219f50f 100644 --- a/tests/test_models/test_editors/test_stable_diffusion/test_stable_diffusion_inpaint.py +++ b/tests/test_models/test_editors/test_stable_diffusion/test_stable_diffusion_inpaint.py @@ -135,3 +135,10 @@ class DummyConfig: width=64, num_inference_steps=1, return_type='image') + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_stable_diffusion/test_stable_diffusion_tomesd.py b/tests/test_models/test_editors/test_stable_diffusion/test_stable_diffusion_tomesd.py index a5b0e5b5e3..02a1c50040 100644 --- a/tests/test_models/test_editors/test_stable_diffusion/test_stable_diffusion_tomesd.py +++ b/tests/test_models/test_editors/test_stable_diffusion/test_stable_diffusion_tomesd.py @@ -126,3 +126,10 @@ def test_stable_diffusion(): width=64, num_inference_steps=1, return_type='image') + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_stable_diffusion/test_vae.py b/tests/test_models/test_editors/test_stable_diffusion/test_vae.py index 54d169b125..172aecf7bc 100644 --- a/tests/test_models/test_editors/test_stable_diffusion/test_vae.py +++ b/tests/test_models/test_editors/test_stable_diffusion/test_vae.py @@ -64,3 +64,10 @@ def test_Upsample2D(): upsample = Upsample2D(channels=64) output = upsample.forward(input, output_size=(32, 32)) assert output.shape == (1, 64, 64, 64) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_stylegan1/test_stylegan1.py b/tests/test_models/test_editors/test_stylegan1/test_stylegan1.py index 9e3e1b2ce6..28eed6e2d8 100644 --- a/tests/test_models/test_editors/test_stylegan1/test_stylegan1.py +++ b/tests/test_models/test_editors/test_stylegan1/test_stylegan1.py @@ -194,3 +194,10 @@ def test_stylegan_cuda(self): elif iter_num == 5: assert np.isclose( stylegan._actual_nkimgs[-1], 0.012, atol=1e-8) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_stylegan1/test_stylegan1_discriminator.py b/tests/test_models/test_editors/test_stylegan1/test_stylegan1_discriminator.py index d119dd1ac9..da8ec3240e 100644 --- a/tests/test_models/test_editors/test_stylegan1/test_stylegan1_discriminator.py +++ b/tests/test_models/test_editors/test_stylegan1/test_stylegan1_discriminator.py @@ -31,3 +31,10 @@ def test_stylegan1_disc_cpu(self): img = torch.randn((2, 3, 64, 64)) score = d(img) assert score.shape == (2, 1) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_stylegan1/test_stylegan1_generator.py b/tests/test_models/test_editors/test_stylegan1/test_stylegan1_generator.py index 78033c3d01..b6d5492209 100644 --- a/tests/test_models/test_editors/test_stylegan1/test_stylegan1_generator.py +++ b/tests/test_models/test_editors/test_stylegan1/test_stylegan1_generator.py @@ -165,3 +165,10 @@ def test_g_cpu(self): g = StyleGAN1Generator(**cfg_) res = g(None, num_batches=2) assert res.shape == (2, 3, 256, 256) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_stylegan1/test_stylegan1_modules.py b/tests/test_models/test_editors/test_stylegan1/test_stylegan1_modules.py index 70dd5a2e26..39f6eb527b 100644 --- a/tests/test_models/test_editors/test_stylegan1/test_stylegan1_modules.py +++ b/tests/test_models/test_editors/test_stylegan1/test_stylegan1_modules.py @@ -47,3 +47,10 @@ def test_styleconv_cuda(self): res = conv(input_x, input_style1, input_style2) assert res.shape == (2, 256, 64, 64) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_stylegan1/test_stylegan_utils.py b/tests/test_models/test_editors/test_stylegan1/test_stylegan_utils.py index be22e6c455..5a91ae9443 100644 --- a/tests/test_models/test_editors/test_stylegan1/test_stylegan_utils.py +++ b/tests/test_models/test_editors/test_stylegan1/test_stylegan_utils.py @@ -30,3 +30,10 @@ def mock_generator(code, *args, **kwargs): def test_style_mixing(): out = style_mixing(mock_generator, n_source=10, n_target=11) assert out.shape == ((1 + 10 + (1 + 10) * 11), 3, 16, 16) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_stylegan2/test_ada/test_augment.py b/tests/test_models/test_editors/test_stylegan2/test_ada/test_augment.py index 273a219f88..5ce5a7e8da 100644 --- a/tests/test_models/test_editors/test_stylegan2/test_ada/test_augment.py +++ b/tests/test_models/test_editors/test_stylegan2/test_ada/test_augment.py @@ -69,3 +69,10 @@ def test_forward(self): inp = torch.rand(2, 3, 64, 64) out = augment_pipeline(inp) assert out.shape == (2, 3, 64, 64) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_stylegan2/test_stylegan2.py b/tests/test_models/test_editors/test_stylegan2/test_stylegan2.py index 450e8b8591..1082f7f191 100644 --- a/tests/test_models/test_editors/test_stylegan2/test_stylegan2.py +++ b/tests/test_models/test_editors/test_stylegan2/test_stylegan2.py @@ -67,3 +67,10 @@ def test_stylegan2_cpu(self): # simulate train_loop here message_hub.update_info('iter', 0) _ = stylegan2.train_step(data, optim_wrapper_dict) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_stylegan2/test_stylegan2_discriminator.py b/tests/test_models/test_editors/test_stylegan2/test_stylegan2_discriminator.py index f81380c597..00255e8c1e 100644 --- a/tests/test_models/test_editors/test_stylegan2/test_stylegan2_discriminator.py +++ b/tests/test_models/test_editors/test_stylegan2/test_stylegan2_discriminator.py @@ -111,3 +111,10 @@ def test_ada_pipeline(): ada.update(1, 2) ada.update(2, 2) assert (ada.log_buffer == 0).all() + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_stylegan2/test_stylegan2_generator.py b/tests/test_models/test_editors/test_stylegan2/test_stylegan2_generator.py index 89b16c41b7..9200eec3af 100644 --- a/tests/test_models/test_editors/test_stylegan2/test_stylegan2_generator.py +++ b/tests/test_models/test_editors/test_stylegan2/test_stylegan2_generator.py @@ -245,3 +245,10 @@ def test_g_cuda(self): g(None, num_batches=2) res = g(None, num_batches=2, label=torch.randn(2, 10)) assert res.shape == (2, 3, 64, 64) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_stylegan2/test_stylegan2_modules.py b/tests/test_models/test_editors/test_stylegan2/test_stylegan2_modules.py index 23326eb78a..b790a84653 100644 --- a/tests/test_models/test_editors/test_stylegan2/test_stylegan2_modules.py +++ b/tests/test_models/test_editors/test_stylegan2/test_stylegan2_modules.py @@ -258,3 +258,10 @@ def test_torgb_cuda(self): skip = torch.randn(2, 3, 4, 4).cuda() res = model(input_x, style, skip) assert res.shape == (2, 3, 8, 8) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_stylegan3/test_stylegan3.py b/tests/test_models/test_editors/test_stylegan3/test_stylegan3.py index a8c828e40a..9e31c62acf 100644 --- a/tests/test_models/test_editors/test_stylegan3/test_stylegan3.py +++ b/tests/test_models/test_editors/test_stylegan3/test_stylegan3.py @@ -93,3 +93,10 @@ def test_train_step(self): data = dict(inputs=dict(), data_samples=[DataSample(gt_img=img)]) message_hub.update_info('iter', 0) _ = stylegan.train_step(data, optim_wrapper_dict) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_stylegan3/test_stylegan3_generator.py b/tests/test_models/test_editors/test_stylegan3/test_stylegan3_generator.py index df55822863..d1dc1e05ae 100644 --- a/tests/test_models/test_editors/test_stylegan3/test_stylegan3_generator.py +++ b/tests/test_models/test_editors/test_stylegan3/test_stylegan3_generator.py @@ -114,3 +114,10 @@ def test_cuda(self): res = generator(torch.randn, num_batches=1) assert res.shape == (1, 3, 16, 16) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_stylegan3/test_stylegan3_modules.py b/tests/test_models/test_editors/test_stylegan3/test_stylegan3_modules.py index 794f96295f..30ca0788ad 100644 --- a/tests/test_models/test_editors/test_stylegan3/test_stylegan3_modules.py +++ b/tests/test_models/test_editors/test_stylegan3/test_stylegan3_modules.py @@ -48,3 +48,10 @@ def test_MappingNetwork(): # test z is None + noise_size > 0 with pytest.raises(AssertionError): mapping_network(None) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_stylegan3/test_stylegan3_utils.py b/tests/test_models/test_editors/test_stylegan3/test_stylegan3_utils.py index bbffe81c91..bd38e0bc51 100644 --- a/tests/test_models/test_editors/test_stylegan3/test_stylegan3_utils.py +++ b/tests/test_models/test_editors/test_stylegan3/test_stylegan3_utils.py @@ -71,3 +71,10 @@ def test_fractional_pseduo_rotation(): ref, ref_mask = apply_fractional_pseudo_rotation(x, angle) print(ref.shape) print(ref_mask.shape) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_swinir/test_swinir_modules.py b/tests/test_models/test_editors/test_swinir/test_swinir_modules.py index 7af6525863..5f68ae4ae6 100644 --- a/tests/test_models/test_editors/test_swinir/test_swinir_modules.py +++ b/tests/test_models/test_editors/test_swinir/test_swinir_modules.py @@ -82,3 +82,10 @@ def test_upsampleOneStep(): net = net.cuda() output = net(img.cuda()) assert output.shape == (1, 4, 16, 16) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_swinir/test_swinir_net.py b/tests/test_models/test_editors/test_swinir/test_swinir_net.py index 9f82495322..a2c28b1084 100644 --- a/tests/test_models/test_editors/test_swinir/test_swinir_net.py +++ b/tests/test_models/test_editors/test_swinir/test_swinir_net.py @@ -106,3 +106,10 @@ def test_swinir_cuda(): output = net(img.cuda()) assert isinstance(output, torch.Tensor) assert output.shape == (1, 3, 64, 64) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_swinir/test_swinir_rstb.py b/tests/test_models/test_editors/test_swinir/test_swinir_rstb.py index 7723bd720d..4d442c6133 100644 --- a/tests/test_models/test_editors/test_swinir/test_swinir_rstb.py +++ b/tests/test_models/test_editors/test_swinir/test_swinir_rstb.py @@ -23,3 +23,10 @@ def test_rstb(): net = net.cuda() output = net(img.cuda(), (8, 8)) assert output.shape == (1, 64, 6) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_swinir/test_swinir_utils.py b/tests/test_models/test_editors/test_swinir/test_swinir_utils.py index 2e489caf61..d68eb691f0 100644 --- a/tests/test_models/test_editors/test_swinir/test_swinir_utils.py +++ b/tests/test_models/test_editors/test_swinir/test_swinir_utils.py @@ -24,3 +24,10 @@ def test_window(): assert x.shape == (4, 4, 4, 3) x = window_reverse(x, 4, 8, 8) assert x.shape == (1, 8, 8, 3) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_tdan/test_tdan.py b/tests/test_models/test_editors/test_tdan/test_tdan.py index 98a36a76d3..4dba1627cd 100644 --- a/tests/test_models/test_editors/test_tdan/test_tdan.py +++ b/tests/test_models/test_editors/test_tdan/test_tdan.py @@ -42,3 +42,10 @@ def test_tdan(): # feat output = model(torch.rand(1, 5, 3, 16, 16), mode='tensor') assert output.shape == (1, 3, 64, 64) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_tdan/test_tdan_net.py b/tests/test_models/test_editors/test_tdan/test_tdan_net.py index 397377644f..bb7793c524 100644 --- a/tests/test_models/test_editors/test_tdan/test_tdan_net.py +++ b/tests/test_models/test_editors/test_tdan/test_tdan_net.py @@ -16,3 +16,10 @@ def test_tdan_net(): assert len(output) == 2 # (1) HR center + (2) aligned LRs assert output[0].shape == (1, 3, 256, 256) # HR center frame assert output[1].shape == (1, 5, 3, 64, 64) # aligned LRs + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_tof/test_tof_vfi_net.py b/tests/test_models/test_editors/test_tof/test_tof_vfi_net.py index 5af54e7e1f..92409ca057 100644 --- a/tests/test_models/test_editors/test_tof/test_tof_vfi_net.py +++ b/tests/test_models/test_editors/test_tof/test_tof_vfi_net.py @@ -26,3 +26,10 @@ def test_tof_vfi_net(): output = model(inputs) assert torch.is_tensor(output) assert output.shape == (1, 3, 256, 256) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_tof/test_tof_vsr_net.py b/tests/test_models/test_editors/test_tof/test_tof_vsr_net.py index 6fc30bc9c4..94ba47019f 100644 --- a/tests/test_models/test_editors/test_tof/test_tof_vsr_net.py +++ b/tests/test_models/test_editors/test_tof/test_tof_vsr_net.py @@ -17,3 +17,10 @@ def test_toflow_vsr_net(): out = model(imgs) assert isinstance(out, torch.Tensor) assert out.shape == (2, 3, 16, 16) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_ttsr/test_lte.py b/tests/test_models/test_editors/test_ttsr/test_lte.py index 10a5878c89..8c8e1ee2bb 100644 --- a/tests/test_models/test_editors/test_ttsr/test_lte.py +++ b/tests/test_models/test_editors/test_ttsr/test_lte.py @@ -20,3 +20,10 @@ def test_lte(): assert x_level1.shape == (2, 64, 64, 64) assert x_level2.shape == (2, 128, 32, 32) assert x_level3.shape == (2, 256, 16, 16) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_ttsr/test_search_transformer.py b/tests/test_models/test_editors/test_ttsr/test_search_transformer.py index 5d8cab36ff..732d3a7b59 100644 --- a/tests/test_models/test_editors/test_ttsr/test_search_transformer.py +++ b/tests/test_models/test_editors/test_ttsr/test_search_transformer.py @@ -22,3 +22,10 @@ def test_search_transformer(): assert t_level3.shape == (2, 32, 32, 32) assert t_level2.shape == (2, 16, 64, 64) assert t_level1.shape == (2, 8, 128, 128) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_ttsr/test_ttsr.py b/tests/test_models/test_editors/test_ttsr/test_ttsr.py index 6a7b0dbde2..a480469ee3 100644 --- a/tests/test_models/test_editors/test_ttsr/test_ttsr.py +++ b/tests/test_models/test_editors/test_ttsr/test_ttsr.py @@ -108,3 +108,10 @@ def test_ttsr(init_weights): # reset mock to clear some memory usage init_weights.reset_mock() + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_ttsr/test_ttsr_disc.py b/tests/test_models/test_editors/test_ttsr/test_ttsr_disc.py index 9e8321754a..f1eb9f85c7 100644 --- a/tests/test_models/test_editors/test_ttsr/test_ttsr_disc.py +++ b/tests/test_models/test_editors/test_ttsr/test_ttsr_disc.py @@ -22,3 +22,10 @@ def test_ttsr_dict(): net = net.cuda() output = net(inputs.cuda()) assert output.shape == (2, 1) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_ttsr/test_ttsr_net.py b/tests/test_models/test_editors/test_ttsr/test_ttsr_net.py index b2fb267046..ead51607e7 100644 --- a/tests/test_models/test_editors/test_ttsr/test_ttsr_net.py +++ b/tests/test_models/test_editors/test_ttsr/test_ttsr_net.py @@ -72,3 +72,10 @@ def test_ttsr_net(): outputs = ttsr(inputs, soft_attention, (t_level3, t_level2, t_level1)) assert outputs.shape == (2, 3, 96, 96) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_wgan_gp/test_wgan_discriminator.py b/tests/test_models/test_editors/test_wgan_gp/test_wgan_discriminator.py index 44b283caa8..98afd6a363 100644 --- a/tests/test_models/test_editors/test_wgan_gp/test_wgan_discriminator.py +++ b/tests/test_models/test_editors/test_wgan_gp/test_wgan_discriminator.py @@ -106,3 +106,10 @@ def test_wgangp_discriminator_cuda(self): assert isinstance(d, WGANGPDiscriminator) score = d(self.x.cuda()) assert score.shape == (2, 1) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_wgan_gp/test_wgan_generator.py b/tests/test_models/test_editors/test_wgan_gp/test_wgan_generator.py index 84b93cb390..a5c736e304 100644 --- a/tests/test_models/test_editors/test_wgan_gp/test_wgan_generator.py +++ b/tests/test_models/test_editors/test_wgan_gp/test_wgan_generator.py @@ -82,3 +82,10 @@ def test_wgangp_generator_cuda(self): assert isinstance(g, WGANGPGenerator) x = g(None, num_batches=3) assert x.shape == (3, 3, 128, 128) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_wgan_gp/test_wgan_gp.py b/tests/test_models/test_editors/test_wgan_gp/test_wgan_gp.py index 73bdc29075..2dfaa29f83 100644 --- a/tests/test_models/test_editors/test_wgan_gp/test_wgan_gp.py +++ b/tests/test_models/test_editors/test_wgan_gp/test_wgan_gp.py @@ -101,3 +101,10 @@ def test_train_step(self): self.assertEqual( log.keys(), set(['loss', 'loss', 'loss_disc_fake', 'loss_disc_real'])) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_editors/test_wgan_gp/test_wgan_gp_module.py b/tests/test_models/test_editors/test_wgan_gp/test_wgan_gp_module.py index db28fc0de7..5f2b018c5f 100644 --- a/tests/test_models/test_editors/test_wgan_gp/test_wgan_gp_module.py +++ b/tests/test_models/test_editors/test_wgan_gp/test_wgan_gp_module.py @@ -24,3 +24,10 @@ def test_WGANNoiseTo2DFeat(): noise = torch.randn(1, 16) feat = noise2feat(noise) assert feat.shape == (1, 32, 4, 4) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_losses/test_clip_loss.py b/tests/test_models/test_losses/test_clip_loss.py index e93683e960..43a1bd5747 100644 --- a/tests/test_models/test_losses/test_clip_loss.py +++ b/tests/test_models/test_losses/test_clip_loss.py @@ -24,3 +24,10 @@ def test_clip_loss(): text_inputs = torch.cat([clip.tokenize(text)]) loss = clip_loss(image, text_inputs) print(loss) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_losses/test_composition_loss.py b/tests/test_models/test_losses/test_composition_loss.py index acbe098f69..8f4b75325c 100644 --- a/tests/test_models/test_losses/test_composition_loss.py +++ b/tests/test_models/test_losses/test_composition_loss.py @@ -78,3 +78,10 @@ def test_composition_losses(): loss = cb_comp_loss(pred_alpha, fg, bg, ori_merged, weight) assert loss.shape == () assert math.isclose(loss.item(), 1536, rel_tol=1e-6) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_losses/test_face_id_loss.py b/tests/test_models/test_losses/test_face_id_loss.py index d3a0c68d04..e54ab18f28 100644 --- a/tests/test_models/test_losses/test_face_id_loss.py +++ b/tests/test_models/test_losses/test_face_id_loss.py @@ -16,3 +16,10 @@ def test_face_id_loss(): gt, pred = torch.randn(1, 3, 224, 224), torch.randn(1, 3, 224, 224) loss = face_id_loss(pred, gt) assert loss.shape == () + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_losses/test_feature_loss.py b/tests/test_models/test_losses/test_feature_loss.py index c80236a27d..50af0e6dfd 100644 --- a/tests/test_models/test_losses/test_feature_loss.py +++ b/tests/test_models/test_losses/test_feature_loss.py @@ -50,3 +50,10 @@ def test_light_cnn_feature_loss(): # test criterion value error with pytest.raises(ValueError): LightCNNFeatureLoss(pretrained=pretrained, criterion='l2') + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_losses/test_gan_loss.py b/tests/test_models/test_losses/test_gan_loss.py index c053fc908a..9b4c10a33a 100644 --- a/tests/test_models/test_losses/test_gan_loss.py +++ b/tests/test_models/test_losses/test_gan_loss.py @@ -115,3 +115,10 @@ def test_gan_losses(): mask = torch.ones(1, 3) gausian_blur = GaussianBlur() gausian_blur(mask).detach().cpu() + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_losses/test_gradient_loss.py b/tests/test_models/test_losses/test_gradient_loss.py index b5c431c784..f274af519d 100644 --- a/tests/test_models/test_losses/test_gradient_loss.py +++ b/tests/test_models/test_losses/test_gradient_loss.py @@ -52,3 +52,10 @@ def test_disc_shift_loss(): loss = loss_disc_shift(x) npt.assert_almost_equal(loss.item(), 0.001) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_losses/test_loss_comps/test_clip_loss_comps.py b/tests/test_models/test_losses/test_loss_comps/test_clip_loss_comps.py index d1bedd5495..76bd90eda8 100644 --- a/tests/test_models/test_losses/test_loss_comps/test_clip_loss_comps.py +++ b/tests/test_models/test_losses/test_loss_comps/test_clip_loss_comps.py @@ -27,3 +27,10 @@ def test_clip_loss(): data_dict = dict(fake_imgs=image, descriptions=text_inputs) loss = clip_loss_comps(outputs_dict=data_dict) print(loss) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_losses/test_loss_comps/test_disc_auxiliary_loss_comps.py b/tests/test_models/test_losses/test_loss_comps/test_disc_auxiliary_loss_comps.py index d25a57d0f6..d51138441e 100644 --- a/tests/test_models/test_losses/test_loss_comps/test_disc_auxiliary_loss_comps.py +++ b/tests/test_models/test_losses/test_loss_comps/test_disc_auxiliary_loss_comps.py @@ -154,3 +154,10 @@ def test_r1_regularizer(self): with pytest.raises(AssertionError): _ = gp_loss(1., 2, outputs_dict=data_dict) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_losses/test_loss_comps/test_face_id_loss_comps.py b/tests/test_models/test_losses/test_loss_comps/test_face_id_loss_comps.py index c734f0bbfd..1f615da3f7 100644 --- a/tests/test_models/test_losses/test_loss_comps/test_face_id_loss_comps.py +++ b/tests/test_models/test_losses/test_loss_comps/test_face_id_loss_comps.py @@ -21,3 +21,10 @@ def test_face_id_loss_comps(): fake_imgs=torch.randn(1, 3, 224, 224)) loss = face_id_loss_comps(outputs_dict=data_dict) assert loss.shape == () + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_losses/test_loss_comps/test_gan_loss_comps.py b/tests/test_models/test_losses/test_loss_comps/test_gan_loss_comps.py index dbd59b3652..b7f04fe526 100644 --- a/tests/test_models/test_losses/test_loss_comps/test_gan_loss_comps.py +++ b/tests/test_models/test_losses/test_loss_comps/test_gan_loss_comps.py @@ -76,3 +76,10 @@ def test_gan_losses(): npt.assert_almost_equal(loss.item(), 0.0) loss = gan_loss(input_2, False, is_disc=True) npt.assert_almost_equal(loss.item(), 3.0) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_losses/test_loss_comps/test_gen_auxiliary_loss_comps.py b/tests/test_models/test_losses/test_loss_comps/test_gen_auxiliary_loss_comps.py index 09b6fca615..910c872344 100644 --- a/tests/test_models/test_losses/test_loss_comps/test_gen_auxiliary_loss_comps.py +++ b/tests/test_models/test_losses/test_loss_comps/test_gen_auxiliary_loss_comps.py @@ -69,3 +69,10 @@ def test_path_regularizer_cuda(self): with pytest.raises(AssertionError): _ = pl(1., 2, outputs_dict=output_dict) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_losses/test_loss_wrapper.py b/tests/test_models/test_losses/test_loss_wrapper.py index 02550579c5..69968100fd 100644 --- a/tests/test_models/test_losses/test_loss_wrapper.py +++ b/tests/test_models/test_losses/test_loss_wrapper.py @@ -55,3 +55,10 @@ def test_utils(): with pytest.raises(AssertionError): weight_wrong = weight[:, 0:2, ...] reduced = mask_reduce_loss(loss, weight=weight_wrong, reduction='mean') + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_losses/test_perceptual_loss.py b/tests/test_models/test_losses/test_perceptual_loss.py index 146c144a68..dea46795a7 100644 --- a/tests/test_models/test_losses/test_perceptual_loss.py +++ b/tests/test_models/test_losses/test_perceptual_loss.py @@ -145,3 +145,10 @@ def test_t_perceptual_loss(): # test whether vgg type is valid with pytest.raises(ValueError): TransferalPerceptualLoss(criterion='l2') + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_losses/test_pixelwise_loss.py b/tests/test_models/test_losses/test_pixelwise_loss.py index b05d368565..9bbf380b3b 100644 --- a/tests/test_models/test_losses/test_pixelwise_loss.py +++ b/tests/test_models/test_losses/test_pixelwise_loss.py @@ -112,3 +112,10 @@ def test_pixelwise_losses(): assert loss.item() == 0.0 loss = psnr_loss(target, target) assert loss.item() == -80.0 + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_utils/test_bbox_utils.py b/tests/test_models/test_utils/test_bbox_utils.py index 5cc66af038..6f0347ba42 100644 --- a/tests/test_models/test_utils/test_bbox_utils.py +++ b/tests/test_models/test_utils/test_bbox_utils.py @@ -121,3 +121,10 @@ def _demo_inputs_pair(img_shape=(64, 64), batch_size=1, cuda=False): trimap = trimap.cuda() raw_alpha = raw_alpha.cuda() return merged, alpha, trimap, raw_alpha + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_utils/test_flow_warp.py b/tests/test_models/test_utils/test_flow_warp.py index 098cd4f600..e5c6588a70 100644 --- a/tests/test_models/test_utils/test_flow_warp.py +++ b/tests/test_models/test_utils/test_flow_warp.py @@ -50,3 +50,10 @@ def test_flow_warp(): assert result.size() == (1, 3, 10, 10) error = torch.sum(torch.abs(result - tensor_shift(x, (1, 1)))) assert error < 1e-5 + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_utils/test_model_utils.py b/tests/test_models/test_utils/test_model_utils.py index 70f55e768c..eb84876015 100644 --- a/tests/test_models/test_utils/test_model_utils.py +++ b/tests/test_models/test_utils/test_model_utils.py @@ -123,3 +123,10 @@ def forward(self, *args, **kwargs): # remove the registered module MODELS._module_dict.pop('MiniModule') + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_utils/test_sampling_utils.py b/tests/test_models/test_utils/test_sampling_utils.py index 4da730ffff..6ccf7bcc52 100644 --- a/tests/test_models/test_utils/test_sampling_utils.py +++ b/tests/test_models/test_utils/test_sampling_utils.py @@ -64,3 +64,10 @@ def label_function(num_batches): with pytest.raises(AssertionError): label_sample_fn([0, 10, 2, 3], num_classes=5) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_models/test_utils/test_tensor_utils.py b/tests/test_models/test_utils/test_tensor_utils.py index 22c2e540e6..abc5ab2d85 100644 --- a/tests/test_models/test_utils/test_tensor_utils.py +++ b/tests/test_models/test_utils/test_tensor_utils.py @@ -23,3 +23,10 @@ def l2_norm(a): l2_norm_out = l2_norm(inp) assert (out == l2_norm_out).all() + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_structures/test_data_sample.py b/tests/test_structures/test_data_sample.py index 7fe3f3e036..9fea2c548b 100644 --- a/tests/test_structures/test_data_sample.py +++ b/tests/test_structures/test_data_sample.py @@ -285,3 +285,10 @@ def test_len(self): empty_data = DataSample( img=torch.randn(3, 3), metainfo=dict(img_shape=[3, 3])) assert len(empty_data) == 1 + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_utils/test_cli.py b/tests/test_utils/test_cli.py index 2ed0c53b64..673ef85134 100644 --- a/tests/test_utils/test_cli.py +++ b/tests/test_utils/test_cli.py @@ -7,3 +7,10 @@ def test_modify_args(): sys.argv = ['test.py', '--arg_1=1', '--arg-2=2'] modify_args() + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_utils/test_img_utils.py b/tests/test_utils/test_img_utils.py index 56159cf8b2..83428ae727 100644 --- a/tests/test_utils/test_img_utils.py +++ b/tests/test_utils/test_img_utils.py @@ -63,3 +63,10 @@ def test_to_numpy(): input = torch.rand(1, 3, 8, 8) output = to_numpy(input) assert isinstance(output, np.ndarray) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_utils/test_io_utils.py b/tests/test_utils/test_io_utils.py index a3e8a1b8a3..9deb39986c 100644 --- a/tests/test_utils/test_io_utils.py +++ b/tests/test_utils/test_io_utils.py @@ -9,3 +9,10 @@ def test_download_from_url(): 'https://download.openmmlab.com/mmgen/dataset/singan/balloons.png', dest_path='./') print(dest_path) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_utils/test_logger.py b/tests/test_utils/test_logger.py index 9cca892caa..83758b7561 100644 --- a/tests/test_utils/test_logger.py +++ b/tests/test_utils/test_logger.py @@ -4,3 +4,10 @@ def test_print_colored_log(): print_colored_log('Test print_colored_log info.') + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_utils/test_sampler.py b/tests/test_utils/test_sampler.py index 5bbbddf643..f4ee368912 100644 --- a/tests/test_utils/test_sampler.py +++ b/tests/test_utils/test_sampler.py @@ -69,3 +69,10 @@ def test_val_data_sampler(): tar_out = [[0, 1, 2, 3]] for idx, out in enumerate(val_sampler): assert out == tar_out[idx] + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_utils/test_setup_env.py b/tests/test_utils/test_setup_env.py index 4a599f0437..e5b22d6c07 100644 --- a/tests/test_utils/test_setup_env.py +++ b/tests/test_utils/test_setup_env.py @@ -10,3 +10,10 @@ def test_try_import(): import numpy as np assert try_import('numpy') is np assert try_import('numpy111') is None + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_utils/test_trans_utils.py b/tests/test_utils/test_trans_utils.py index a7f51b84e3..09501b3780 100644 --- a/tests/test_utils/test_trans_utils.py +++ b/tests/test_utils/test_trans_utils.py @@ -392,3 +392,10 @@ def test_irregular_mask(): mask = get_irregular_mask(img_shape, num_vertices=10) assert mask.shape == (256, 256, 1) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_visualization/test_concat_visualizer.py b/tests/test_visualization/test_concat_visualizer.py index 51636465e2..dcb1e2b001 100644 --- a/tests/test_visualization/test_concat_visualizer.py +++ b/tests/test_visualization/test_concat_visualizer.py @@ -38,3 +38,10 @@ def test_concatimagevisualizer(): for fn in 'rgb_1.png', 'bgr_2.png': img = mmcv.imread(f'work_dirs/vis_data/vis_image/{fn}') assert img.shape == (64, 16 * 3 * 2, 3) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_visualization/test_vis_backend.py b/tests/test_visualization/test_vis_backend.py index 6bd6ff6689..b6a28ad9c7 100644 --- a/tests/test_visualization/test_vis_backend.py +++ b/tests/test_visualization/test_vis_backend.py @@ -159,3 +159,10 @@ def test_wandb(self): vis_backend._init_env() _, called_kwargs = wandb_mock.init.call_args self.assertEqual(called_kwargs['name'], f'test_wandb_{timestamp}') + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear() diff --git a/tests/test_visualization/test_visualizer.py b/tests/test_visualization/test_visualizer.py index b7923fe02f..4aecba76af 100644 --- a/tests/test_visualization/test_visualizer.py +++ b/tests/test_visualization/test_visualizer.py @@ -85,3 +85,10 @@ def test_add_datasample(self): osp.exists(osp.join(img_root, 'fake_img_padding_5.png')) shutil.rmtree(img_root) + + +def teardown_module(): + import gc + gc.collect() + globals().clear() + locals().clear()