da4ml.trace.ops package

Submodules

da4ml.trace.ops.conv_utils module

da4ml.trace.ops.conv_utils.conv(x: TA, kernel: ndarray[tuple[int, ...], dtype[integer | floating]], bias: ndarray[tuple[int, ...], dtype[integer | floating]] | None = None, strides: int | tuple[int, ...] = 1, padding: tuple[tuple[int, int], ...] | str = 'VALID', format: str = 'channels_last', groups: int | None = None) TA
da4ml.trace.ops.conv_utils.pool(x: TA, pool_size: Sequence[int], strides: int | Sequence[int] | None = None, padding: tuple[tuple[int, int], ...] | str = 'VALID', pool_type: str = 'avg', format: str = 'channels_last') TA
da4ml.trace.ops.conv_utils.r_im2col(kernel_size: Sequence[int], arr: ndarray, buffer: ndarray, axis: int)
da4ml.trace.ops.conv_utils.stride_arr(stride: int | tuple[int, ...], arr: ndarray)

da4ml.trace.ops.einsum_utils module

class da4ml.trace.ops.einsum_utils.EinsumRecipe

Bases: TypedDict

C: int
I: int
L0: int
L1: int
direct_sum_axis: tuple[tuple[int, ...], tuple[int, ...]]
in_transpose_idxs: tuple[tuple[int, ...], tuple[int, ...]]
out_interpert_shape: tuple[int, ...]
out_transpose_idxs: tuple[int, ...]
da4ml.trace.ops.einsum_utils.einsum(fn: str, input0: FixedVariableArray, input1: FixedVariableArray) FixedVariableArray
da4ml.trace.ops.einsum_utils.einsum(fn: str, input0: FixedVariableArray, input1: ndarray[tuple[int, ...], dtype[integer | floating]]) FixedVariableArray
da4ml.trace.ops.einsum_utils.einsum(fn: str, input0: ndarray[tuple[int, ...], dtype[integer | floating]], input1: FixedVariableArray) FixedVariableArray
da4ml.trace.ops.einsum_utils.einsum(fn: str, input0: ndarray[tuple[int, ...], dtype[integer | floating]], input1: ndarray[tuple[int, ...], dtype[integer | floating]]) ndarray[tuple[int, ...], dtype[integer | floating]]
da4ml.trace.ops.einsum_utils.parse_einsum(fn: str, input_shape0: tuple[int, ...], input_shape1: tuple[int, ...]) EinsumRecipe

Parse einsum operation on two input arrays, return a recipe for execution

Parameters:
  • fn (str) – einsum string, e.g. ‘ij,jk->ik’

  • input (np.ndarray) – input0, the first input array

  • input1 (np.ndarray) – input1, the second input array

Returns:

einsum recipe; executed by _exec_einsum

Return type:

EinsumRecipe

da4ml.trace.ops.reduce_utils module

class da4ml.trace.ops.reduce_utils.Packet(v)

Bases: object

da4ml.trace.ops.reduce_utils.reduce(operator: Callable[[T, T], T], x: TA, axis: int | Sequence[int] | None = None, keepdims: bool = False) TA

Reduce the array by summing over the specified axis.

Module contents

da4ml.trace.ops.conv(x: TA, kernel: ndarray[tuple[int, ...], dtype[integer | floating]], bias: ndarray[tuple[int, ...], dtype[integer | floating]] | None = None, strides: int | tuple[int, ...] = 1, padding: tuple[tuple[int, int], ...] | str = 'VALID', format: str = 'channels_last', groups: int | None = None) TA
da4ml.trace.ops.einsum(fn: str, input0, input1)
da4ml.trace.ops.pool(x: TA, pool_size: Sequence[int], strides: int | Sequence[int] | None = None, padding: tuple[tuple[int, int], ...] | str = 'VALID', pool_type: str = 'avg', format: str = 'channels_last') TA
da4ml.trace.ops.quantize(x: T, k: ndarray[tuple[int, ...], dtype[integer]] | integer | int, i: ndarray[tuple[int, ...], dtype[integer]] | integer | int, f: ndarray[tuple[int, ...], dtype[integer]] | integer | int, overflow_mode: str = 'WRAP', round_mode: str = 'TRN') T
da4ml.trace.ops.reduce(operator: Callable[[T, T], T], x: TA, axis: int | Sequence[int] | None = None, keepdims: bool = False) TA

Reduce the array by summing over the specified axis.

da4ml.trace.ops.relu(x: T, i: ndarray[tuple[int, ...], dtype[integer]] | None = None, f: ndarray[tuple[int, ...], dtype[integer]] | None = None, round_mode: str = 'TRN') T