split_data

split_data(data, num_slice, batch_axis=0, even_split=True)

Splits an NDArray into num_slice slices along batch_axis. Usually used for data parallelism where each slices is sent to one device (i.e. GPU).

Parameters:
data : NDArray

A batch of data.

num_slice : int

Number of desired slices.

batch_axis : int, default 0

The axis along which to slice.

even_split : bool, default True

Whether to force all slices to have the same number of elements. If True, an error will be raised when num_slice does not evenly divide data.shape[batch_axis].

Returns:
list of NDArray

Return value is a list even if num_slice is 1.