@@ -157,9 +157,10 @@ class ImageAugmentation(block_module.Block):
157
157
represented as a single float, lower = upper.
158
158
If left unspecified, it will be tuned automatically.
159
159
zoom_factor: A positive float represented as fraction value, or a tuple of 2
160
- representing fraction for zooming vertically and horizontally. For
161
- instance, `zoom_factor=0.2` result in a random zoom factor from 80% to
162
- 120%. If left unspecified, it will be tuned automatically.
160
+ representing fraction for zooming vertically and horizontally,
161
+ or a kerastuner.engine.hyperparameters.Choice range of positive floats.
162
+ For instance, `zoom_factor=0.2` result in a random zoom factor from 80%
163
+ to 120%. If left unspecified, it will be tuned automatically.
163
164
contrast_factor: A positive float represented as fraction of value, or a
164
165
tuple of size 2 representing lower and upper bound, or a
165
166
kerastuner.engine.hyperparameters.Choice range of floats to find the
@@ -177,7 +178,9 @@ def __init__(
177
178
vertical_flip : Optional [bool ] = None ,
178
179
horizontal_flip : Optional [bool ] = None ,
179
180
rotation_factor : Optional [Union [float , hyperparameters .Choice ]] = None ,
180
- zoom_factor : Optional [Union [float , Tuple [float , float ]]] = None ,
181
+ zoom_factor : Optional [
182
+ Union [float , Tuple [float , float ], hyperparameters .Choice ]
183
+ ] = None ,
181
184
contrast_factor : Optional [
182
185
Union [float , Tuple [float , float ], hyperparameters .Choice ]
183
186
] = None ,
@@ -196,7 +199,11 @@ def __init__(
196
199
hyperparameters .Choice ("rotation_factor" , [0.0 , 0.1 ]),
197
200
float ,
198
201
)
199
- self .zoom_factor = zoom_factor
202
+ self .zoom_factor = utils .get_hyperparameter (
203
+ zoom_factor ,
204
+ hyperparameters .Choice ("zoom_factor" , [0.0 , 0.1 ]),
205
+ Union [float , Tuple [float , float ]],
206
+ )
200
207
self .contrast_factor = utils .get_hyperparameter (
201
208
contrast_factor ,
202
209
hyperparameters .Choice ("contrast_factor" , [0.0 , 0.1 ]),
@@ -247,9 +254,7 @@ def build(self, hp, inputs=None):
247
254
output_node = layers .RandomRotation (rotation_factor )(output_node )
248
255
249
256
# Zoom
250
- zoom_factor = self .zoom_factor
251
- if zoom_factor is None :
252
- zoom_factor = hp .Choice ("zoom_factor" , [0.0 , 0.1 ])
257
+ zoom_factor = utils .add_to_hp (self .zoom_factor , hp )
253
258
if zoom_factor not in [0 , (0 , 0 )]:
254
259
height_factor , width_factor = self ._get_fraction_value (zoom_factor )
255
260
# TODO: Add back RandomZoom when it is ready.
@@ -273,7 +278,7 @@ def get_config(self):
273
278
"horizontal_flip" : self .horizontal_flip ,
274
279
"vertical_flip" : self .vertical_flip ,
275
280
"rotation_factor" : hyperparameters .serialize (self .rotation_factor ),
276
- "zoom_factor" : self .zoom_factor ,
281
+ "zoom_factor" : hyperparameters . serialize ( self .zoom_factor ) ,
277
282
"contrast_factor" : hyperparameters .serialize (self .contrast_factor ),
278
283
}
279
284
)
0 commit comments