def __init__( self, return_sequences: bool = False, bidirectional: Optional[Union[bool, hyperparameters.Boolean]] = None, num_layers: Optional[Union[int, hyperparameters.Choice]] = None, layer_type: Optional[Union[str, hyperparameters.Choice]] = None, **kwargs, ): super().__init__(**kwargs) self.return_sequences = return_sequences self.bidirectional = utils.get_hyperparameter( bidirectional, hyperparameters.Boolean("bidirectional", default=True), bool, ) self.num_layers = utils.get_hyperparameter( num_layers, hyperparameters.Choice("num_layers", [1, 2, 3], default=2), int, ) self.layer_type = utils.get_hyperparameter( layer_type, hyperparameters.Choice("layer_type", ["gru", "lstm"], default="lstm"), str, )
def test_Boolean(): # Test default default boolean = hp_module.Boolean('bool') assert boolean.default is False # Test default setting boolean = hp_module.Boolean('bool', default=True) assert boolean.default is True # Wrong default type with pytest.raises(ValueError, match='must be a Python boolean'): hp_module.Boolean('bool', default=None) # Test serialization boolean = hp_module.Boolean('bool', default=True) boolean = hp_module.Boolean.from_config(boolean.get_config()) assert boolean.default is True assert boolean.name == 'bool' # Test random_sample assert boolean.random_sample() in {True, False} assert boolean.random_sample(123) == boolean.random_sample(123)