def test_no_transit_preprocessing_if_last_operation_is_not_supported(self):
     config = [{'type': 'resize'}, {'type': 'crop'}]
     with pytest.warns(UserWarning):
         preprocessor = IEPreprocessor(config)
         assert not preprocessor.has_resize()
         assert not preprocessor.steps
         assert preprocessor.keep_preprocessing_info == config
 def test_unsupported_color_format(self):
     config = [{'type': 'bgr_to_gray'}]
     with pytest.warns(UserWarning):
         preprocessor = IEPreprocessor(config)
         assert not preprocessor.has_resize()
         assert not preprocessor.steps
         assert preprocessor.keep_preprocessing_info == config
 def test_mean_and_std_values(self):
     config = [{'type': 'normalization', 'mean': 255, 'std': 255}]
     preprocessor = IEPreprocessor(config)
     assert preprocessor.has_normalization()
     assert len(preprocessor.steps) == 1
     assert preprocessor.steps[0].name == 'mean_variant'
     assert preprocessor.steps[0].value.name == 'MEAN_VALUE'
     assert preprocessor.std_values == (255, )
     assert preprocessor.mean_values == (255, )
 def test_precomputed_mean_values(self):
     config = [{'type': 'normalization', 'mean': 'imagenet', 'std': 255}]
     preprocessor = IEPreprocessor(config)
     assert preprocessor.has_normalization()
     assert len(preprocessor.steps) == 1
     assert preprocessor.steps[0].name == 'mean_variant'
     assert preprocessor.steps[0].value.name == 'MEAN_VALUE'
     assert preprocessor.std_values == (255, )
     assert preprocessor.mean_values == Normalize.PRECOMPUTED_MEANS['imagenet']
 def test_mean_values_for_each_channel(self):
     config = [{'type': 'normalization', 'mean': [255, 255, 255], 'std': [255, 255, 255]}]
     preprocessor = IEPreprocessor(config)
     assert preprocessor.has_normalization()
     assert len(preprocessor.steps) == 1
     assert preprocessor.steps[0].name == 'mean_variant'
     assert preprocessor.steps[0].value.name == 'MEAN_VALUE'
     assert preprocessor.std_values == [255, 255, 255]
     assert preprocessor.mean_values == [255, 255, 255]
 def test_partial_color_format(self):
     config = [{'type': 'bgr_to_nv12'}, {'type': 'nv12_to_bgr'}]
     preprocessor = IEPreprocessor(config)
     assert not preprocessor.has_resize()
     assert len(preprocessor.steps) == 1
     assert preprocessor.keep_preprocessing_info == [config[0]]
     assert preprocessor.steps[0].name == 'color_format'
     color_space = preprocessor.steps[0].value
     assert isinstance(color_space, Enum)
     assert color_space.name == 'NV12'
 def test_rgb_color_format(self):
     config = [{'type': 'rgb_to_bgr'}]
     preprocessor = IEPreprocessor(config)
     assert not preprocessor.has_resize()
     assert len(preprocessor.steps) == 1
     assert not preprocessor.keep_preprocessing_info
     assert preprocessor.steps[0].name == 'color_format'
     color_space = preprocessor.steps[0].value
     assert isinstance(color_space, Enum)
     assert color_space.name == 'RGB'
 def test_resize_area_interpolation_specified(self):
     config = [{'type': 'resize', 'interpolation': 'area'}]
     preprocessor = IEPreprocessor(config)
     assert preprocessor.has_resize()
     assert len(preprocessor.steps) == 1
     assert preprocessor.steps[0].name == 'resize_algorithm'
     assert isinstance(preprocessor.steps[0].value, Enum)
     resize_interpolation = preprocessor.steps[0].value
     assert resize_interpolation.name == 'RESIZE_AREA'
     assert not preprocessor.keep_preprocessing_info
 def test_particular_preprocessing_transition(self):
     config = [{'type': 'crop'}, {'type': 'resize'}]
     preprocessor = IEPreprocessor(config)
     assert preprocessor.has_resize()
     assert len(preprocessor.steps) == 1
     assert preprocessor.steps[0].name == 'resize_algorithm'
     assert isinstance(preprocessor.steps[0].value, Enum)
     resize_interpolation = preprocessor.steps[0].value
     assert resize_interpolation.name == 'RESIZE_BILINEAR'
     assert len(preprocessor.keep_preprocessing_info) == 1
     assert preprocessor.keep_preprocessing_info[0] == config[0]
 def test_several_supported_preprocessing_ops(self):
     config = [{'type': 'resize'}, {'type': 'bgr_to_rgb'}]
     preprocessor = IEPreprocessor(config)
     assert preprocessor.has_resize()
     assert len(preprocessor.steps) == 2
     assert not preprocessor.keep_preprocessing_info
     assert preprocessor.steps[0].name == 'color_format'
     color_space = preprocessor.steps[0].value
     assert isinstance(color_space, Enum)
     assert color_space.name == 'BGR'
     assert preprocessor.steps[1].name == 'resize_algorithm'
     resize_interpolation = preprocessor.steps[1].value
     assert isinstance(resize_interpolation, Enum)
     assert resize_interpolation.name == 'RESIZE_BILINEAR'
 def test_unsupported_interpolation_resize(self):
     config = [{'type': 'resize', 'interpolation': 'unknown'}]
     with pytest.warns(UserWarning):
         preprocessor = IEPreprocessor(config)
         assert not preprocessor.steps
         assert preprocessor.keep_preprocessing_info == config
 def test_aspect_ratio_resize(self):
     config = [{'type': 'resize', 'aspect_ratio': 'higher'}]
     with pytest.warns(UserWarning):
         preprocessor = IEPreprocessor(config)
         assert not preprocessor.steps
         assert preprocessor.keep_preprocessing_info == config
 def test_warn_on_no_supported_ops(self):
     config = [{'type': 'crop'}]
     with pytest.warns(UserWarning):
         preprocessor = IEPreprocessor(config)
         assert not preprocessor.steps