Ejemplo n.º 1
0
def test_multi_label_postprocessing():
    y = np.random.rand(10, 3)
    adapter = output_adapter.ClassificationHeadAdapter(name='a',
                                                       multi_label=True)
    adapter.fit_transform(y)
    y = adapter.postprocess(y)
    assert set(y.flatten().tolist()) == set([1, 0])
def test_unsupported_types_error():
    adapter = output_adapter.ClassificationHeadAdapter(name="a")

    with pytest.raises(TypeError) as info:
        adapter.check(1)

    assert "Expect the target data" in str(info.value)
def test_clf_head_transform_df_to_dataset():
    adapter = output_adapter.ClassificationHeadAdapter(name="a")

    y = adapter.fit_transform(
        pd.DataFrame(utils.generate_one_hot_labels(dtype="np", num_classes=10))
    )

    assert isinstance(y, tf.data.Dataset)
def test_infer_ten_classes():
    adapter = output_adapter.ClassificationHeadAdapter(name="a")

    adapter.fit_transform(
        utils.generate_one_hot_labels(dtype="dataset", num_classes=10)
    )

    assert adapter.num_classes == 10
def test_wrong_num_classes_error():
    adapter = output_adapter.ClassificationHeadAdapter(name="a", num_classes=5)

    with pytest.raises(ValueError) as info:
        adapter.fit(
            tf.data.Dataset.from_tensor_slices(np.random.rand(10, 3)).batch(32)
        )

    assert "Expect the target data for a to have shape" in str(info.value)
def test_clf_from_config_fit_transform_to_dataset():
    adapter = output_adapter.ClassificationHeadAdapter(name="a")
    adapter.fit_transform(np.array(["a", "b", "a"]))

    adapter = output_adapter.ClassificationHeadAdapter.from_config(
        adapter.get_config()
    )

    assert isinstance(adapter.transform(np.array(["a", "b", "a"])), tf.data.Dataset)
def test_clf_head_one_hot_shape_error():
    adapter = output_adapter.ClassificationHeadAdapter(name="a", num_classes=9)

    with pytest.raises(ValueError) as info:
        adapter.fit_transform(
            utils.generate_one_hot_labels(dtype="np", num_classes=10)
        )

    assert "Expect one hot encoded labels to have shape" in str(info.value)
Ejemplo n.º 8
0
def test_y_is_pd_series():
    (x, y), (val_x, val_y) = utils.dataframe_series()
    head = output_adapter.ClassificationHeadAdapter(name='a')
    head.fit_transform(y)
    assert isinstance(head.transform(y), tf.data.Dataset)
def test_one_class_error():
    adapter = output_adapter.ClassificationHeadAdapter(name="a")

    with pytest.raises(ValueError) as info:
        adapter.fit_before_convert(np.array(["a", "a", "a"]))
    assert "Expect the target data" in str(info.value)
Ejemplo n.º 10
0
def test_check_data_shape_two_classes():
    y = tf.data.Dataset.from_tensor_slices(np.random.rand(10, 1)).batch(32)
    adapter = output_adapter.ClassificationHeadAdapter(name='a', num_classes=2)
    adapter.fit(y)
Ejemplo n.º 11
0
def test_check_data_shape_error():
    y = tf.data.Dataset.from_tensor_slices(np.random.rand(10, 3)).batch(32)
    adapter = output_adapter.ClassificationHeadAdapter(name='a', num_classes=5)
    with pytest.raises(ValueError) as info:
        adapter.fit(y)
    assert 'Expect the target data for a to have shape' in str(info.value)
def test_clf_head_transform_pd_series_to_dataset():
    adapter = output_adapter.ClassificationHeadAdapter(name="a")

    y = adapter.fit_transform(pd.read_csv(utils.TEST_CSV_PATH).pop("survived"))

    assert isinstance(y, tf.data.Dataset)
Ejemplo n.º 13
0
def test_infer_two_classes():
    y = tf.data.Dataset.from_tensor_slices(np.random.rand(10, 1)).batch(32)
    adapter = output_adapter.ClassificationHeadAdapter(name='a')
    y = adapter.fit(y)
    assert adapter.num_classes == 2
def test_multi_label_two_classes_has_two_columns():
    adapter = output_adapter.ClassificationHeadAdapter(name="a", multi_label=True)

    y = adapter.fit_transform(np.random.rand(10, 2))

    assert data_utils.dataset_shape(y).as_list() == [None, 2]
def test_infer_single_column_two_classes():
    adapter = output_adapter.ClassificationHeadAdapter(name="a")

    adapter.fit(tf.data.Dataset.from_tensor_slices(np.random.rand(10, 1)).batch(32))

    assert adapter.num_classes == 2
Ejemplo n.º 16
0
def test_tf_dataset():
    y = utils.generate_one_hot_labels(dtype='dataset')
    head = output_adapter.ClassificationHeadAdapter(name='a')
    y = head.fit_transform(y)
    assert isinstance(head.transform(y), tf.data.Dataset)
Ejemplo n.º 17
0
def test_one_class():
    y = np.array(['a', 'a', 'a'])
    head = output_adapter.ClassificationHeadAdapter(name='a')
    with pytest.raises(ValueError) as info:
        head.fit_transform(y)
    assert 'Expect the target data' in str(info.value)
Ejemplo n.º 18
0
def test_unsupported_types():
    y = 1
    head = output_adapter.ClassificationHeadAdapter(name='a')
    with pytest.raises(TypeError) as info:
        head.fit_transform(y)
    assert 'Expect the target data' in str(info.value)
Ejemplo n.º 19
0
def test_multi_label_two_classes():
    y = np.random.rand(10, 2)
    adapter = output_adapter.ClassificationHeadAdapter(name='a',
                                                       multi_label=True)
    adapter.fit_transform(y)
    assert adapter.label_encoder is None
def test_specify_five_classes():
    adapter = output_adapter.ClassificationHeadAdapter(name="a", num_classes=5)

    adapter.fit(tf.data.Dataset.from_tensor_slices(np.random.rand(10, 5)).batch(32))

    assert adapter.num_classes == 5
Ejemplo n.º 21
0
def test_infer_num_classes():
    y = utils.generate_one_hot_labels(dtype='dataset')
    adapter = output_adapter.ClassificationHeadAdapter(name='a')
    y = adapter.fit(y)
    assert adapter.num_classes == 10