ndonnx package

Submodules

Module contents

class ndonnx.Array(*args, **kwargs)[source][source]

Bases: object

User-facing objects that makes no assumption about any data type related logic.

property T: Array
all(axis: int | tuple[int, ...] | None = 0, keepdims: bool = False) Array[source][source]

See ndonnx.all() for documentation.

any(axis: int | tuple[int, ...] | None = 0, keepdims: bool = False) Array[source][source]

See ndonnx.any() for documentation.

astype(dtype: DType, *, copy=True) Array[source][source]
copy() Array[source][source]
property device: Device
disassemble() dict[str, Var] | Var[source][source]

Disassemble into the constituent spox.Var objects.

The particular layout depends on the data type.

property dtype: DType
property dynamic_shape: Array

Runtime shape of this array as a 1D int64 tensor.

property dynamic_size: Array

Return the size of an array as scalar array.

Contrary to Array.size this function also works on dynamically sized arrays.

property mT: Array
max(axis: int | tuple[int, ...] | None = 0, keepdims: bool = False) Array[source][source]

See ndonnx.max() for documentation.

min(axis: int | tuple[int, ...] | None = 0, keepdims: bool = False) Array[source][source]

See ndonnx.min() for documentation.

property ndim: int
property null: None | Array
prod(axis: int | tuple[int, ...] | None = 0, keepdims: bool = False) Array[source][source]

See ndonnx.prod() for documentation.

property shape: tuple[int | None, ...]
property size: int | None
spox_var() Var[source][source]

Unwrap the underlying spox.Var object if self is of primitive data type.

Otherwise, raise an exception.

sum(axis: int | tuple[int, ...] | None = 0, keepdims: bool = False) Array[source][source]

See ndonnx.sum() for documentation.

to_device(device: Any, /, *, stream: int | Any | None = None) Array[source][source]
to_numpy() ndarray | None[source][source]
unwrap_numpy() ndarray[source][source]

Return the propagated value as a NumPy array if available.

Raises:
ValueError:

If no propagated value is available.

unwrap_spox() Var[source][source]

Unwrap the underlying spox.Var object if self is of primitive data type.

Otherwise, raise an exception.

property values: Array
class ndonnx.DType[source][source]

Bases: ABC, Generic[TY_ARRAY_BASE]

to_numpy_dtype() dtype[source][source]
unwrap_numpy() dtype[source][source]
class ndonnx.DateTime64DType(unit: Literal['ns', 'us', 'ms', 's'])[source][source]

Bases: BaseTimeDType[TyArrayDateTime]

class ndonnx.TimeDelta64DType(unit: Literal['ns', 'us', 'ms', 's'])[source][source]

Bases: BaseTimeDType[TyArrayTimeDelta]

ndonnx.abs(array: Array, /) Array[source][source]
ndonnx.acos(array: Array, /) Array[source][source]
ndonnx.acosh(array: Array, /) Array[source][source]
ndonnx.add(a: Array | int | float, b: Array | int | float) Array[source][source]
ndonnx.all(x: Array, /, *, axis: int | tuple[int, ...] | None = None, keepdims: bool = False) Array[source][source]
ndonnx.any(x: Array, /, *, axis: int | tuple[int, ...] | None = None, keepdims: bool = False) Array[source][source]
ndonnx.arange(start: int | float | Array, /, stop: int | float | Array | None = None, step: int | float | Array = 1, *, dtype: DType | None = None, device: None | Device = None) Array[source][source]
ndonnx.argmax(x: Array, /, *, axis: int | None = None, keepdims: bool = False) Array[source][source]
ndonnx.argmin(x: Array, /, *, axis: int | None = None, keepdims: bool = False) Array[source][source]
ndonnx.argsort(x: Array, /, *, axis: int = -1, descending: bool = False, stable: bool = True) Array[source][source]
ndonnx.argument(*, shape: tuple[int | str | None, ...], dtype: DType) Array[source][source]

Creates a new lazy ndonnx array.

This is used to define inputs to an ONNX model.
shape

The shape of the array. String-dimensions denote symbolic dimensions and must be globally consistent. None-dimensions denote unknown dimensions.

dtype

The data type of the array.

Returns:
Array

The new array representing input(s) of the computational graphs.

ndonnx.asarray(obj: Array | bool | int | float | str | ndarray | Sequence[bool | int | float | str | Sequence[PyScalar | NestedSequence]] | Var, /, *, dtype: DType | None = None, device: None | Device = None, copy: bool | None = None) Array[source][source]
ndonnx.asin(array: Array, /) Array[source][source]
ndonnx.asinh(array: Array, /) Array[source][source]
ndonnx.astype(x: Array, dtype: DType, /, *, copy: bool = True, device: None | Device = None) Array[source][source]
ndonnx.atan(array: Array, /) Array[source][source]
ndonnx.atan2(x1: Array | int | float, x2: Array | int | float, /) Array[source][source]
ndonnx.atanh(array: Array, /) Array[source][source]
ndonnx.bitwise_and(x1: Array | int | bool, x2: Array | int | bool, /) Array[source][source]
ndonnx.bitwise_invert(x: Array, /) Array[source][source]
ndonnx.bitwise_left_shift(x1: Array | int, x2: Array | int, /) Array[source][source]
ndonnx.bitwise_or(x1: Array | int | bool, x2: Array | int | bool, /) Array[source][source]
ndonnx.bitwise_right_shift(x1: Array | int, x2: Array | int, /) Array[source][source]
ndonnx.bitwise_xor(x1: Array | int | bool, x2: Array | int | bool, /) Array[source][source]
ndonnx.broadcast_arrays(*arrays: Array) list[Array][source][source]
ndonnx.broadcast_to(x: Array, /, shape: tuple[int, ...] | Array) Array[source][source]
ndonnx.build(inputs: dict[str, Array], outputs: dict[str, Array], drop_unused=False) ModelProto[source][source]

Build and ONNX model from the provided argument-Arrays and outputs.

Parameters:
inputs

Inputs of the model

outputs

Outputs of the model

Returns:
onnx.ModelProto

ONNX model

ndonnx.can_cast(from_: DType | Array, to: DType, /) bool[source][source]
ndonnx.ceil(array: Array, /) Array[source][source]
ndonnx.clip(x: Array, /, min: None | int | float | Array = None, max: None | int | float | Array = None) Array[source][source]
ndonnx.concat(arrays: tuple[Array, ...] | list[Array], /, *, axis: None | int = 0) Array[source][source]
ndonnx.conj(x: Array, /) Array[source][source]
ndonnx.copysign(x1: Array | int | float, x2: Array | int | float, /) Array[source][source]
ndonnx.cos(x: Array, /) Array[source][source]
ndonnx.cosh(x: Array, /) Array[source][source]
ndonnx.count_nonzero(x: Array, /, *, axis: int | tuple[int, ...] | None = None, keepdims: bool = False) Array[source][source]
ndonnx.cumulative_prod(x: Array, /, *, axis: int | None = None, dtype: DType | None = None, include_initial: bool = False) Array[source][source]
ndonnx.cumulative_sum(x: Array, /, *, axis: int | None = None, dtype: DType | None = None, include_initial: bool = False) Array[source][source]
ndonnx.diff(a: Array, /, *, axis: int = -1, n: int = 1, prepend: Array | None = None, append: Array | None = None) Array[source][source]
ndonnx.divide(x1: Array | int | float, x2: Array | int | float, /) Array[source][source]
ndonnx.empty(shape: int | tuple[int, ...], *, dtype: DType | None = None, device: None | Device = None) Array[source][source]
ndonnx.empty_like(x: Array, /, *, dtype: DType | None = None, device: None | Device = None) Array[source][source]
ndonnx.equal(x1: Array | int | float | bool, x2: Array | int | float | bool, /) Array[source][source]
ndonnx.exp(array: Array, /) Array[source][source]
ndonnx.expand_dims(x: Array, /, *, axis: int = 0) Array[source][source]
ndonnx.expm1(x: Array, /) Array[source][source]
ndonnx.eye(n_rows: int, n_cols: int | None = None, /, *, k: int = 0, dtype: DType | None = None, device: None | Device = None) Array[source][source]
ndonnx.finfo(ty: DType | Array, /)[source][source]
ndonnx.flip(x: Array, /, *, axis: int | tuple[int, ...] | None = None) Array[source][source]
ndonnx.floor(array: Array, /) Array[source][source]
ndonnx.floor_divide(x1: Array | int | float, x2: Array | int | float, /) Array[source][source]
ndonnx.from_dlpack(x: object, /, *, device: None = None, copy: bool | None = None) Array[source][source]
ndonnx.from_numpy_dtype(np_dtype: dtype) Float16 | Float32 | Float64 | Int8 | Int16 | Int32 | Int64 | UInt8 | UInt16 | UInt32 | UInt64 | Utf8 | Bool | TimeDelta64DType | DateTime64DType[source][source]
ndonnx.full(shape: int | tuple[int, ...] | Array, fill_value: bool | int | float | str, *, dtype: DType | None = None, device: None | Device = None) Array[source][source]
ndonnx.full_like(x: Array, /, fill_value: bool | int | float | str, *, dtype: DType | None = None, device: None | Device = None) Array[source][source]
ndonnx.greater(x1: Array | int | float, x2: Array | int | float, /) Array[source][source]
ndonnx.greater_equal(x1: Array | int | float, x2: Array | int | float, /) Array[source][source]
ndonnx.hypot(x1: Array | int | float, x2: Array | int | float, /) Array[source][source]
ndonnx.iinfo(ty: DType | Array, /) Iinfo[source][source]
ndonnx.imag(x: Array, /) Array[source][source]
ndonnx.isdtype(dtype: DType, kind: DType | str | tuple[DType | str, ...]) bool[source][source]
ndonnx.isfinite(array: Array, /) Array[source][source]
ndonnx.isinf(array: Array, /) Array[source][source]
ndonnx.isnan(array: Array, /) Array[source][source]
ndonnx.less(x1: Array | int | float, x2: Array | int | float, /) Array[source][source]
ndonnx.less_equal(x1: Array | int | float, x2: Array | int | float, /) Array[source][source]
ndonnx.linspace(start: int | float | complex, stop: int | float | complex, /, num: int, *, dtype: DType | None = None, device: None | Device = None, endpoint: bool = True) Array[source][source]
ndonnx.log(x: Array, /) Array[source][source]
ndonnx.log10(x: Array, /) Array[source][source]
ndonnx.log1p(x: Array, /) Array[source][source]
ndonnx.log2(x: Array, /) Array[source][source]
ndonnx.logaddexp(x1: Array | int | float, x2: Array | int | float, /) Array[source][source]
ndonnx.logical_and(x1: Array | bool, x2: Array | bool, /) Array[source][source]
ndonnx.logical_not(x: Array, /) Array[source][source]
ndonnx.logical_or(x1: Array | bool, x2: Array | bool, /) Array[source][source]
ndonnx.logical_xor(x1: Array | bool, x2: Array | bool, /) Array[source][source]
ndonnx.matmul(x1: Array, x2: Array, /) Array[source][source]
ndonnx.matrix_transpose(x: Array, /) Array[source][source]
ndonnx.max(x: Array, /, *, axis: int | tuple[int, ...] | None = None, keepdims: bool = False) Array[source][source]

Calculates the maximum value of the input array x.

Reduction over zero-sized inputs return the minimum possible value for the input data type.

ndonnx.maximum(x1: Array | int | float, x2: Array | int | float, /) Array[source][source]
ndonnx.mean(x: Array, /, *, axis: int | tuple[int, ...] | None = None, keepdims: bool = False) Array[source][source]
ndonnx.meshgrid(*arrays: Array, indexing: str = 'xy') list[Array][source][source]
ndonnx.min(x: Array, /, *, axis: int | tuple[int, ...] | None = None, keepdims: bool = False) Array[source][source]

Calculates the minimum value of the input array x.

Reduction over zero-sized inputs return the maximum possible value for the input data type.

ndonnx.minimum(x1: Array | int | float, x2: Array | int | float, /) Array[source][source]
ndonnx.moveaxis(x: Array, source: int | tuple[int, ...], destination: int | tuple[int, ...], /) Array[source][source]
ndonnx.multiply(x1: Array | int | float, x2: Array | int | float, /) Array[source][source]
ndonnx.negative(x: Array, /) Array[source][source]
ndonnx.nextafter(x1: Array | int | float, x2: Array | int | float, /) Array[source][source]
ndonnx.nonzero(x: Array, /) tuple[Array, ...][source][source]
ndonnx.not_equal(x1: Array | int | float | bool, x2: Array | int | float | bool, /) Array[source][source]
ndonnx.ones(shape: int | tuple[int, ...], *, dtype: DType | None = None, device: None | Device = None) Array[source][source]
ndonnx.ones_like(x: Array, /, *, dtype: DType | None = None, device: None | Device = None) Array[source][source]
ndonnx.permute_dims(x: Array, /, axes: tuple[int, ...]) Array[source][source]
ndonnx.positive(x: Array, /) Array[source][source]
ndonnx.pow(x1: Array | int | float, x2: Array | int | float, /) Array[source][source]
ndonnx.prod(x: Array, /, *, axis: int | tuple[int, ...] | None = None, dtype: DType | None = None, keepdims: bool = False) Array[source][source]
ndonnx.real(x: Array, /) Array[source][source]
ndonnx.reciprocal(x: Array, /) Array[source][source]
ndonnx.remainder(x1: Array | int | float, x2: Array | int | float, /) Array[source][source]
ndonnx.repeat(x: Array, repeats: int | Array, /, *, axis: int | None = None) Array[source][source]
ndonnx.reshape(x: Array, /, shape: tuple[int, ...] | Array, *, copy: bool | None = None) Array[source][source]
ndonnx.result_type(*arrays_and_dtypes: Array | DType | bool | int | float | str) DType[source][source]
ndonnx.roll(x: Array, /, shift: int | tuple[int, ...], *, axis: int | tuple[int, ...] | None = None) Array[source][source]
ndonnx.round(x: Array, /) Array[source][source]
ndonnx.searchsorted(x1: Array, x2: Array, /, *, side: Literal['left', 'right'] = 'left', sorter: Array | None = None) Array[source][source]
ndonnx.sign(x: Array, /) Array[source][source]
ndonnx.signbit(x: Array, /) Array[source][source]
ndonnx.sin(x: Array, /) Array[source][source]
ndonnx.sinh(x: Array, /) Array[source][source]
ndonnx.sort(x: Array, /, *, axis: int = -1, descending: bool = False, stable: bool = True) Array[source][source]
ndonnx.sqrt(x: Array, /) Array[source][source]
ndonnx.square(x: Array, /) Array[source][source]
ndonnx.squeeze(x: Array, /, axis: int | tuple[int, ...]) Array[source][source]
ndonnx.stack(arrays: tuple[Array, ...] | list[Array], /, *, axis: int = 0) Array[source][source]
ndonnx.std(x: Array, /, *, axis: int | tuple[int, ...] | None = None, correction: int | float = 0.0, keepdims: bool = False) Array[source][source]
ndonnx.subtract(x1: Array | int | float, x2: Array | int | float, /) Array[source][source]
ndonnx.sum(x: Array, /, *, axis: int | tuple[int, ...] | None = None, dtype: DType | None = None, keepdims: bool = False) Array[source][source]
ndonnx.take(x: Array, indices: Array, /, *, axis: int | None = None) Array[source][source]
ndonnx.take_along_axis(x: Array, indices: Array, /, *, axis: int = -1) Array[source][source]
ndonnx.tan(x: Array, /) Array[source][source]
ndonnx.tanh(x: Array, /) Array[source][source]
ndonnx.tensordot(x1: Array, x2: Array, /, *, axes: int | tuple[Sequence[int], Sequence[int]] = 2) Array[source][source]
ndonnx.tile(x: Array, repetitions: tuple[int, ...], /) Array[source][source]
ndonnx.to_nullable_dtype(dtype: _OnnxDType | NBool | NFloat16 | NFloat32 | NFloat64 | NInt8 | NInt16 | NInt32 | NInt64 | NUInt8 | NUInt16 | NUInt32 | NUInt64 | NUtf8) NBool | NFloat16 | NFloat32 | NFloat64 | NInt8 | NInt16 | NInt32 | NInt64 | NUInt8 | NUInt16 | NUInt32 | NUInt64 | NUtf8[source][source]
ndonnx.tril(x: Array, /, *, k: int = 0) Array[source][source]
ndonnx.triu(x: Array, /, *, k: int = 0) Array[source][source]
ndonnx.trunc(x: Array, /) Array[source][source]
ndonnx.unique_all(x: Array, /) UniqueAll[source][source]
ndonnx.unique_counts(x: Array, /) UniqueCounts[source][source]
ndonnx.unique_inverse(x: Array, /) UniqueInverse[source][source]
ndonnx.unique_values(x: Array, /) Array[source][source]
ndonnx.unstack(x: Array, /, *, axis: int = 0) tuple[Array, ...][source][source]
ndonnx.var(x: Array, /, *, axis: int | tuple[int, ...] | None = None, correction: int | float = 0.0, keepdims: bool = False) Array[source][source]
ndonnx.vecdot(x1: Array, x2: Array, /, *, axis: int = -1) Array[source][source]
ndonnx.where(cond: Array, a: Array | int | float | bool | str, b: Array | int | float | bool | str) Array[source][source]
ndonnx.zeros(shape: int | tuple[int, ...], *, dtype: DType | None = None, device: None | Device = None) Array[source][source]
ndonnx.zeros_like(x: Array, /, *, dtype: DType | None = None, device: None | Device = None) Array[source][source]