"git@developer.sourcefind.cn:orangecat/ollama.git" did not exist on "f77713bf1f566771127bcdec79b9840e9cf539ca"
Unverified Commit 16550634 authored by Jonathan Huang's avatar Jonathan Huang Committed by GitHub
Browse files

Merge pull request #2765 from tombstone/preprocessor_builder

fix preprocessor builder to pass correct kwargs to random_crop_pad op.
parents 08c0b300 88756a1d
...@@ -187,27 +187,28 @@ def build(preprocessor_step_config): ...@@ -187,27 +187,28 @@ def build(preprocessor_step_config):
config = preprocessor_step_config.random_crop_pad_image config = preprocessor_step_config.random_crop_pad_image
min_padded_size_ratio = config.min_padded_size_ratio min_padded_size_ratio = config.min_padded_size_ratio
if min_padded_size_ratio and len(min_padded_size_ratio) != 2: if min_padded_size_ratio and len(min_padded_size_ratio) != 2:
raise ValueError('min_padded_size_ratio should have 3 elements if set!') raise ValueError('min_padded_size_ratio should have 2 elements if set!')
max_padded_size_ratio = config.max_padded_size_ratio max_padded_size_ratio = config.max_padded_size_ratio
if max_padded_size_ratio and len(max_padded_size_ratio) != 2: if max_padded_size_ratio and len(max_padded_size_ratio) != 2:
raise ValueError('max_padded_size_ratio should have 3 elements if set!') raise ValueError('max_padded_size_ratio should have 2 elements if set!')
pad_color = config.pad_color pad_color = config.pad_color
if pad_color and len(pad_color) != 3: if pad_color and len(pad_color) != 3:
raise ValueError('pad_color should have 3 elements if set!') raise ValueError('pad_color should have 3 elements if set!')
return (preprocessor.random_crop_pad_image, kwargs = {
{ 'min_object_covered': config.min_object_covered,
'min_object_covered': config.min_object_covered, 'aspect_ratio_range': (config.min_aspect_ratio,
'aspect_ratio_range': (config.min_aspect_ratio, config.max_aspect_ratio),
config.max_aspect_ratio), 'area_range': (config.min_area, config.max_area),
'area_range': (config.min_area, config.max_area), 'overlap_thresh': config.overlap_thresh,
'overlap_thresh': config.overlap_thresh, 'random_coef': config.random_coef,
'random_coef': config.random_coef, }
'min_padded_size_ratio': (min_padded_size_ratio if if min_padded_size_ratio:
min_padded_size_ratio else None), kwargs['min_padded_size_ratio'] = tuple(min_padded_size_ratio)
'max_padded_size_ratio': (max_padded_size_ratio if if max_padded_size_ratio:
max_padded_size_ratio else None), kwargs['max_padded_size_ratio'] = tuple(max_padded_size_ratio)
'pad_color': (pad_color if pad_color else None), if pad_color:
}) kwargs['pad_color'] = tuple(pad_color)
return (preprocessor.random_crop_pad_image, kwargs)
if step_type == 'random_resize_method': if step_type == 'random_resize_method':
config = preprocessor_step_config.random_resize_method config = preprocessor_step_config.random_resize_method
......
...@@ -274,9 +274,40 @@ class PreprocessorBuilderTest(tf.test.TestCase): ...@@ -274,9 +274,40 @@ class PreprocessorBuilderTest(tf.test.TestCase):
'area_range': (0.25, 0.875), 'area_range': (0.25, 0.875),
'overlap_thresh': 0.5, 'overlap_thresh': 0.5,
'random_coef': 0.125, 'random_coef': 0.125,
'min_padded_size_ratio': None, })
'max_padded_size_ratio': None,
'pad_color': None, def test_build_random_crop_pad_image_with_optional_parameters(self):
preprocessor_text_proto = """
random_crop_pad_image {
min_object_covered: 0.75
min_aspect_ratio: 0.75
max_aspect_ratio: 1.5
min_area: 0.25
max_area: 0.875
overlap_thresh: 0.5
random_coef: 0.125
min_padded_size_ratio: 0.5
min_padded_size_ratio: 0.75
max_padded_size_ratio: 0.5
max_padded_size_ratio: 0.75
pad_color: 0.5
pad_color: 0.5
pad_color: 1.0
}
"""
preprocessor_proto = preprocessor_pb2.PreprocessingStep()
text_format.Merge(preprocessor_text_proto, preprocessor_proto)
function, args = preprocessor_builder.build(preprocessor_proto)
self.assertEqual(function, preprocessor.random_crop_pad_image)
self.assertEqual(args, {
'min_object_covered': 0.75,
'aspect_ratio_range': (0.75, 1.5),
'area_range': (0.25, 0.875),
'overlap_thresh': 0.5,
'random_coef': 0.125,
'min_padded_size_ratio': (0.5, 0.75),
'max_padded_size_ratio': (0.5, 0.75),
'pad_color': (0.5, 0.5, 1.0)
}) })
def test_build_random_crop_to_aspect_ratio(self): def test_build_random_crop_to_aspect_ratio(self):
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment