def test_two_classes(): y = np.array(['a', 'a', 'a', 'b']) head = head_module.ClassificationHead(name='a') adapter = head.get_adapter() adapter.fit_transform(y) head.config_from_adapter(adapter) head.output_shape = (1,) head.build(kerastuner.HyperParameters(), input_module.Input(shape=(32,)).build()) assert head.loss.name == 'binary_crossentropy'
def test_three_classes_infer_categorical_crossentropy(): dataset = np.array(["a", "a", "c", "b"]) head = head_module.ClassificationHead(name="a", shape=(1,)) adapter = head.get_adapter() dataset = adapter.adapt(dataset, batch_size=32) analyser = head.get_analyser() for data in dataset: analyser.update(data) analyser.finalize() head.config_from_analyser(analyser) head.build( keras_tuner.HyperParameters(), input_module.Input(shape=(32,)).build_node(keras_tuner.HyperParameters()), ) assert head.loss.name == "categorical_crossentropy"
def test_input_get_block_return_general_block(): input_node = nodes.Input() assert isinstance(input_node.get_block(), blocks.GeneralBlock)