def test_asarray_method():
    shape = (3,)

    var = C.sequence.input_variable(shape, is_sparse=True)

    data = [csr([[1,0,2], [5,0,1]])]
    # conversion array -> value
    val = asvalue(var, data)
    as_csr = val.as_sequences(var)
    for a, d in zip(as_csr, data):
        assert (a==d).toarray().all()

    var = C.input_variable(shape, is_sparse=True)

    data = csr([[1,0,2], [5,0,1]])
    # conversion array -> value
    val = asvalue(var, data)
    for v in [
            val, # Value
            super(C.Value, val), # cntk_py.Value
            val.data, # NDArrayView
            super(C.NDArrayView, val.data), # cntk_py.NDArrayView
            ]:
        as_csr = v.asarray()
        for a, d in zip(as_csr, data):
            assert (a==d).toarray().all()
Exemplo n.º 2
0
def test_asarray_method():
    shape = (3, )

    var = sequence.input(shape, is_sparse=True)

    csr = sparse.csr_matrix
    data = [csr([[1, 0, 2], [5, 0, 1]])]
    # conversion array -> value
    val = asvalue(var, data)
    for v in [
            val,  # Value
            super(Value, val),  # cntk_py.Value
            val.data,  # NDArrayView
            super(NDArrayView, val.data),  # cntk_py.NDArrayView
    ]:
        as_csr = v.asarray()
        for a, d in zip(as_csr, data):
            assert (a == d).toarray().all()
def _sparse_value_to_csr_test(data, num_of_dynamic_axes, expected_value_shape, expected_csr_shapes):
    shape = (3,)

    if num_of_dynamic_axes == 2:
        var = C.sequence.input_variable(shape, is_sparse=True)
    elif num_of_dynamic_axes == 1:
        var = C.input_variable(shape, is_sparse=True)
    else:
        var = C.input_variable(shape, is_sparse=True, dynamic_axes=[])

    # conversion csr array -> value
    val = asvalue(var, data)

    assert val.shape == expected_value_shape

    # conversion value -> csr array
    csr_result = val.as_sequences(var)

    csr_result_shapes = [v.shape for v in csr_result]

    assert csr_result_shapes == expected_csr_shapes
Exemplo n.º 4
0
def _sparse_value_to_csr_test(data, num_of_dynamic_axes, expected_value_shape, expected_csr_shapes):
    shape = (3,)

    if num_of_dynamic_axes == 2:
        var = input_variable(shape, is_sparse=True)
    elif num_of_dynamic_axes == 1:
        var = input_variable(shape, is_sparse=True, dynamic_axes=[Axis.default_batch_axis()])
    else:
        var = input_variable(shape, is_sparse=True, dynamic_axes=[])

    # conversion csr array -> value
    val = asvalue(var, data)

    assert val.shape == expected_value_shape

    # conversion value -> csr array
    csr_result = asarray(var, val)

    csr_result_shapes = [v.shape for v in csr_result]

    assert csr_result_shapes == expected_csr_shapes
def _dense_value_to_ndarray_test(data, num_of_dynamic_axes, expected_value_shape, expected_array_shapes):
    shape = (5,)

    if num_of_dynamic_axes == 2:
        var = C.sequence.input_variable(shape)
    elif num_of_dynamic_axes == 1:
        var = C.input_variable(shape)
    else:
        var = C.input_variable(shape, dynamic_axes=[])

    # conversion array -> value
    val = asvalue(var, data)
    assert val.shape == expected_value_shape

    # conversion value -> array
    dense_result = _value_as_sequence_or_array(val, var)

    if isinstance(dense_result, list):
        result_shapes = [AA(v).shape for v in dense_result]
    else:
        result_shapes = dense_result.shape

    assert result_shapes == expected_array_shapes
Exemplo n.º 6
0
def _dense_value_to_ndarray_test(data, num_of_dynamic_axes, expected_value_shape, expected_array_shapes):
    shape = (5,)

    if num_of_dynamic_axes == 2:
        var = input_variable(shape)
    elif num_of_dynamic_axes == 1:
        var = input_variable(shape, dynamic_axes=[Axis.default_batch_axis()])
    else:
        var = input_variable(shape, dynamic_axes=[])

    # conversion array -> value
    val = asvalue(var, data)
    assert val.shape == expected_value_shape

    # conversion value -> array
    dense_result = asarray(var, val)

    if isinstance(data, list):
        result_shapes = [AA(v).shape for v in dense_result]
    else:
        result_shapes = dense_result.shape

    assert result_shapes == expected_array_shapes