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()
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
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
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