NdArray

class nnabla._nd_array.NdArray(shape=<???>)

nnabla._nd_array.NdArray is a device-agnostic data container for multi-dimensional arrays (tensors). nnabla._nd_array.NdArray can also implictly handle data transfers across different devices (e.g. CPU to CUDA GPU, CUDA GPU to CPU). See Python API Tutorial for more details.

NdArray overrides some arithmetic operators (+, -, *, /, **). Operands can be either a scalar number, NdArray or Variable. An arithmetic operation containing NdArray returns NdArray which stores the output of the computation immediately invoked. Also, inplace arithmetic operations (+=, -=, *=, /=, **=) are implemented. Note that = doesn’t perform inplace substitution but just replaces the object reference. Instead, you can use copy_from() for inplace substitution.

Parameters:shape (tuple or int) – Shape of tuple.
cast(self, dtype, ctx=None)

In-place cast of data type of the NdArray. It returns the reference values as a numpy.ndarray only if optional parameter ctx is not given, None otherwise.

Parameters:
Returns:

numpy.array if ctx is None, otherwise nothing.

copy_from(self, NdArray arr)

Copy values from another NdArray object.

It returns the caller object itself. nnabla.functions.identity() is called internally to copy values.

Parameters:arr (NdArray) – Values will be copied to the caller object. The shape of arr` must be same as the caller object.
Returns:nnabla.NdArray
data

Returns the values held by this array as a numpy.ndarray. Note that only the references are returned, and the values are not copied. Therefore, modifying the returned nnabla._nd_array.NdArray will affect the data contained inside the NNabla array. This method can also be called as a setter. Note that this may implicitly invoke a data transfer from device arrays to the CPU.

Parameters:value (numpy.ndarray) –

Returns: numpy.ndarray

dtype

Get dtype.

Returns: numpy.dtype

fill(self, value)

Fill all of the elements with the provided scalar value.

Note: This method is lazily evaluated. It is evaluated during the forward or backward propagation.

Parameters:value (int, float) – The value filled with.
static from_numpy_array(nparr)

Create a NdArray object from Numpy array data.

The data is initialized with the given Numpy array.

Parameters:nparr (ndarray) – Numpy multi-dimensional array.

Returns: ~nnabla._nd_array.NdArray

ndim

Number of dimensions.

Returns: int

shape

Shape of the N-d array.

Returns: tuple of int

size

Total size of the N-d array.

Retuns: int

size_from_axis(self, axis=-1)

Gets the size followed by the provided axis.

Example

a = nnabla.NdArray([10,9])
a.size_from_axis()
# ==> 90
a.size_from_axis(0)
# ==> 90
a.size_from_axis(1)
# ==> 9
a.size_from_axis(2)
# ==> 1
Parameters:axis (int, optional) – -1 as default
Returns:int
strides

Strides.

Returns: tuple of int

zero(self)

Fill all of the elements with 0.

Note: This method is lazily evaluated. It is evaluated during the forward or backward propagation.