def test_hyperparameters_values_proto(): values = keras_tuner_pb2.HyperParameters.Values( values={ "a": keras_tuner_pb2.Value(int_value=1), "b": keras_tuner_pb2.Value(float_value=2.0), "c": keras_tuner_pb2.Value(string_value="3"), }) # When only values are provided, each param is created as `Fixed`. hps = hp_module.HyperParameters.from_proto(values) assert hps.values == {"a": 1, "b": 2.0, "c": "3"}
def to_proto(self): if isinstance(self.values[0], six.string_types): values = [ keras_tuner_pb2.Value(string_value=v) for v in self.values ] elif isinstance(self.values[0], six.integer_types): values = [keras_tuner_pb2.Value(int_value=v) for v in self.values] else: values = [ keras_tuner_pb2.Value(float_value=v) for v in self.values ] return keras_tuner_pb2.Condition( parent=keras_tuner_pb2.Condition.Parent(name=self.name, values=values))
def to_proto(self): if isinstance(self.value, six.integer_types): value = keras_tuner_pb2.Value(int_value=self.value) elif isinstance(self.value, float): value = keras_tuner_pb2.Value(float_value=self.value) elif isinstance(self.value, six.string_types): value = keras_tuner_pb2.Value(string_value=self.value) else: value = keras_tuner_pb2.Value(boolean_value=self.value) return keras_tuner_pb2.Fixed( name=self.name, value=value, conditions=[c.to_proto() for c in self.conditions], )
def to_proto(self): fixed_space = [] float_space = [] int_space = [] choice_space = [] boolean_space = [] for hp in self.space: if isinstance(hp, Fixed): fixed_space.append(hp.to_proto()) elif isinstance(hp, Float): float_space.append(hp.to_proto()) elif isinstance(hp, Int): int_space.append(hp.to_proto()) elif isinstance(hp, Choice): choice_space.append(hp.to_proto()) elif isinstance(hp, Boolean): boolean_space.append(hp.to_proto()) else: raise ValueError("Unrecognized HP type: {}".format(hp)) values = {} for name, value in self.values.items(): if isinstance(value, float): val = keras_tuner_pb2.Value(float_value=value) elif isinstance(value, six.integer_types): val = keras_tuner_pb2.Value(int_value=value) elif isinstance(value, six.string_types): val = keras_tuner_pb2.Value(string_value=value) elif isinstance(value, bool): val = keras_tuner_pb2.Value(boolean_value=value) else: raise ValueError("Unrecognized value type: {}".format(value)) values[name] = val return keras_tuner_pb2.HyperParameters( space=keras_tuner_pb2.HyperParameters.Space( fixed_space=fixed_space, float_space=float_space, int_space=int_space, choice_space=choice_space, boolean_space=boolean_space, ), values=keras_tuner_pb2.HyperParameters.Values(values=values), )
def to_proto(self): if isinstance(self.values[0], six.string_types): values = [keras_tuner_pb2.Value(string_value=v) for v in self.values] default = keras_tuner_pb2.Value(string_value=self.default) elif isinstance(self.values[0], six.integer_types): values = [keras_tuner_pb2.Value(int_value=v) for v in self.values] default = keras_tuner_pb2.Value(int_value=self.default) else: values = [keras_tuner_pb2.Value(float_value=v) for v in self.values] default = keras_tuner_pb2.Value(float_value=self.default) return keras_tuner_pb2.Choice( name=self.name, ordered=self.ordered, values=values, default=default, conditions=[c.to_proto() for c in self.conditions], )