Пример #1
0
def test_merge_category():
    cat1 = nvcategory.from_numbers(np.array([4, 1, 2, 3, 2, 1, 4, 1, 1]))
    cat2 = nvcategory.from_numbers(np.array([2, 4, 3, 0]))
    ncat = cat1.merge_and_remap(cat2)

    (got_keys, got_values) = util_check_cat(ncat, np.int64)
    expected_keys = [0, 1, 2, 3, 4]
    expected_values = [4, 1, 2, 3, 2, 1, 4, 1, 1, 2, 4, 3, 0]
    assert_eq(got_keys, expected_keys)
    assert_eq(got_values, expected_values)
Пример #2
0
def test_keys():
    narr = np.array([2, 1, 1.25, 1.5, 1, 1.25, 1, 1, 2])
    cat = nvcategory.from_numbers(narr)
    keys = np.empty([cat.keys_size()], dtype=narr.dtype)
    cat.keys(keys)
    got = keys.tolist()
    expected = [1.0, 1.25, 1.5, 2.0]
    assert_eq(got, expected)
Пример #3
0
def test_to_numbers():
    narr = np.array([2, 1, 1.25, 1.5, 1, 1.25, 1, 1, 2])
    cat = nvcategory.from_numbers(narr)
    nbrs = np.empty([cat.size()], dtype=narr.dtype)
    cat.to_numbers(nbrs)
    got = nbrs.tolist()
    expected = narr.tolist()
    assert_eq(got, expected)
Пример #4
0
def test_values():
    narr = np.array([4, 1, 2, 3, 2, 1, 4, 1, 1])
    cat = nvcategory.from_numbers(narr)
    values = np.empty([cat.size()], dtype=np.int32)
    cat.values(values)
    got = values.tolist()
    expected = [3, 0, 1, 2, 1, 0, 3, 0, 0]
    assert_eq(got, expected)
Пример #5
0
def test_gather_numbers():
    narr = np.array([1, 1.25, 1.5, 1, 1.25, 1, 1, 2])
    cat = nvcategory.from_numbers(narr)
    idxs = np.array([0, 2, 0], dtype=np.int32)
    nbrs = np.empty([idxs.size], dtype=narr.dtype)
    cat.gather_numbers(idxs, nbrs)
    got = nbrs.tolist()
    expected = [1., 1.5, 1.]
    assert_eq(got, expected)
Пример #6
0
def test_add_keys():
    narr = np.array([2, 1, 1.25, 1.5, 1, 1.25, 1, 1, 2])
    cat = nvcategory.from_numbers(narr)
    ncat = cat.add_keys(np.array([2, 1, 1.75, 0]))

    (got_keys, got_values) = util_check_cat(ncat, narr.dtype)
    expected_keys = [0, 1, 1.25, 1.5, 1.75, 2]
    expected_values = [5, 1, 2, 3, 1, 2, 1, 1, 5]
    assert_eq(got_keys, expected_keys)
    assert_eq(got_values, expected_values)
Пример #7
0
def test_indexes_for_key():
    narr = np.array([4, 1, 2, 3, 2, 1, 4, 1, 1])
    cat = nvcategory.from_numbers(narr)
    count = cat.indexes_for_key(1)
    assert count == 4
    idxs = np.empty([count], dtype=np.int32)
    cat.indexes_for_key(1, idxs)
    got = idxs.tolist()
    expected = [1, 5, 7, 8]
    assert_eq(got, expected)
Пример #8
0
def test_gather_and_remap():
    narr = np.array([4, 1, 2, 3, 2, 1, 4, 1, 1], dtype=np.float32)
    cat = nvcategory.from_numbers(narr)
    ncat = cat.gather_and_remap(np.array([1, 3, 2, 3, 1, 2], dtype=np.int32))

    (got_keys, got_values) = util_check_cat(ncat, narr.dtype)
    expected_keys = [2.0, 3.0, 4.0]
    expected_values = [0, 2, 1, 2, 0, 1]
    assert_eq(got_keys, expected_keys)
    assert_eq(got_values, expected_values)
Пример #9
0
def test_nulls():
    narr = np.array([4, 1, 2, 3, 2, 1, 4, 1, 1])
    bitmask = np.array([1 + 2 + 8 + 32 + 64 + 128, 1], dtype=np.int8)
    cat = nvcategory.from_numbers(narr, bitmask)

    (got_keys, got_values) = util_check_cat(cat, narr.dtype)
    expected_keys = [2, 1, 3, 4]
    expected_values = [3, 1, 0, 2, 0, 1, 3, 1, 1]
    assert_eq(got_keys, expected_keys)
    assert_eq(got_values, expected_values)
Пример #10
0
def test_gather():
    narr = np.array([2, 1, 1.25, 1.5, 1, 1.25, 1, 1, 2], dtype=np.float32)
    cat = nvcategory.from_numbers(narr)
    ncat = cat.gather(np.array([1, 3, 2, 3, 1, 2], dtype=np.int32))

    (got_keys, got_values) = util_check_cat(ncat, narr.dtype)
    expected_keys = [1.0, 1.25, 1.5, 2.0]
    expected_values = [1, 3, 2, 3, 1, 2]
    assert_eq(got_keys, expected_keys)
    assert_eq(got_values, expected_values)
Пример #11
0
def test_set_keys():
    narr = np.array([4, 1, 2, 3, 2, 1, 4, 1, 1], dtype=np.int8)
    cat = nvcategory.from_numbers(narr)
    ncat = cat.set_keys(np.array([2, 4, 3, 0], dtype=narr.dtype))

    (got_keys, got_values) = util_check_cat(ncat, narr.dtype)
    expected_keys = [0, 2, 3, 4]
    expected_values = [3, -1, 1, 2, 1, -1, 3, -1, -1]
    assert_eq(got_keys, expected_keys)
    assert_eq(got_values, expected_values)
Пример #12
0
def test_remove_keys():
    narr = np.array([4, 1, 2, 3, 2, 1, 4, 1, 1])
    cat = nvcategory.from_numbers(narr)
    ncat = cat.remove_keys(np.array([3, 0]))

    (got_keys, got_values) = util_check_cat(ncat, narr.dtype)
    expected_keys = [1, 2, 4]
    expected_values = [2, 0, 1, -1, 1, 0, 2, 0, 0]
    assert_eq(got_keys, expected_keys)
    assert_eq(got_values, expected_values)
Пример #13
0
def test_remove_unused_keys():
    narr = np.array([4, 1, 2, 3, 2, 1, 4, 1, 1], dtype=np.int32)
    cat = nvcategory.from_numbers(narr)
    ncat = cat.add_keys(np.array([2, 4, 3, 0], dtype=narr.dtype))
    ncat = ncat.remove_unused_keys()

    (got_keys, got_values) = util_check_cat(ncat, narr.dtype)
    expected_keys = [1, 2, 3, 4]
    expected_values = [3, 0, 1, 2, 1, 0, 3, 0, 0]
    assert_eq(got_keys, expected_keys)
    assert_eq(got_values, expected_values)
Пример #14
0
def test_size():
    narr = np.array([4, 1, 2, 3, 2, 1, 4, 1, 1])
    cat = nvcategory.from_numbers(narr)
    assert narr.size == cat.size()
Пример #15
0
def test_keys_size():
    narr = np.array([4, 1, 2, 3, 2, 1, 4, 1, 1], dtype=np.int32)
    cat = nvcategory.from_numbers(narr)
    got = cat.keys_size()
    assert got == 4