Exemplo n.º 1
0
def test_lena():

    from skimage import data
    from skimage import color
    from skimage.transform import resize

    in_shape = (200, 200)
    n_imgs = 1

    lena = resize(color.rgb2gray(data.lena()), in_shape).astype(np.float32)
    lena -= lena.min()
    lena /= lena.max()

    imgs = lena.reshape((n_imgs, ) + in_shape)

    model = cnnr.models.fg11_ht_l3_1_description
    extractor = cnnr.BatchExtractor(in_shape, model)

    feat_set = extractor.extract(imgs)

    assert feat_set.shape == (n_imgs, 10, 10, 256)

    feat_set.shape = n_imgs, -1
    test_chunk_computed = feat_set[0, 12798:12802]

    test_chunk_expected = np.array(
        [0.03845372, 0.02469639, 0.01009409, 0.02500059], dtype=np.float32)

    assert_allclose(test_chunk_computed,
                    test_chunk_expected,
                    rtol=RTOL,
                    atol=ATOL)
Exemplo n.º 2
0
def test_random_images():

    in_shape = (200, 200)
    n_imgs = 12

    model = cnnr.models.fg11_ht_l3_1_description
    extractor = cnnr.BatchExtractor(in_shape, model)

    rng = np.random.RandomState(42)
    imgs = rng.uniform(low=0.0, high=1.0,
                       size=(n_imgs, ) + in_shape).astype(np.float32)

    feat_set = extractor.extract(imgs)

    assert feat_set.shape == (n_imgs, 10, 10, 256)

    feat_set.shape = n_imgs, -1
    test_chunk_computed = feat_set[3:9, 12798:12802]

    test_chunk_expected = np.array(
        [[0.0211054, 0.03008464, 0.01754513, 0.02833426],
         [0.02208067, 0.00935635, 0.01337241, 0.01570413],
         [0.009751, 0.01863629, 0.01336291, 0.01315528],
         [0.01786099, 0.01888827, 0.01754452, 0.00985618],
         [0.01402772, 0.01768549, 0.01073015, 0.01337401],
         [0.02214634, 0.0261642, 0.00918513, 0.02125477]],
        dtype=np.float32)

    assert_allclose(test_chunk_computed,
                    test_chunk_expected,
                    rtol=RTOL,
                    atol=ATOL)
Exemplo n.º 3
0
def test_no_model():

    in_shape = (200, 200)

    model = []
    extractor = cnnr.BatchExtractor(in_shape, model)

    assert extractor.n_layers == 0
    assert extractor.shape_stride_by_layer == []
    assert extractor.filterbanks == []
Exemplo n.º 4
0
def test_ht_l3_1():

    in_shape = (200, 200)

    model = cnnr.models.fg11_ht_l3_1_description
    extractor = cnnr.BatchExtractor(in_shape, model)

    assert extractor.n_layers == 4
    assert extractor.shape_stride_by_layer == [(192, 192, 9, 9, 1, 1),
                                               (88, 88, 17, 17, 64, 2),
                                               (34, 34, 21, 21, 128, 2),
                                               (10, 10, 15, 15, 256, 2)]
Exemplo n.º 5
0
def test_zero_images():

    in_shape = (200, 200)
    n_imgs = 12

    model = cnnr.models.fg11_ht_l3_1_description
    extractor = cnnr.BatchExtractor(in_shape, model)

    imgs = np.zeros((n_imgs, ) + in_shape).astype(np.float32)

    feat_set = extractor.extract(imgs)

    assert feat_set.shape == (n_imgs, 10, 10, 256)
    assert feat_set.sum() == 0.