Tinkex.Types.TensorData (Tinkex v0.3.4)

View Source

Numerical tensor data for training.

Mirrors Python tinker.types.TensorData.

IMPORTANT: Only int64 and float32 dtypes are supported by the backend. This module performs aggressive casting to match Python SDK behavior.

Summary

Functions

Create TensorData from an Nx tensor.

Convert TensorData back to an Nx tensor.

Return the flat data list from TensorData.

Types

t()

@type t() :: %Tinkex.Types.TensorData{
  data: [number()],
  dtype: Tinkex.Types.TensorDtype.t(),
  shape: [non_neg_integer()] | nil
}

Functions

from_nx(tensor)

@spec from_nx(Nx.Tensor.t()) :: t()

Create TensorData from an Nx tensor.

Performs aggressive type casting to match Python SDK:

  • float64 → float32 (downcast)
  • int32 → int64 (upcast)
  • unsigned → int64 (upcast)

to_nx(tensor_data)

@spec to_nx(t()) :: Nx.Tensor.t()

Convert TensorData back to an Nx tensor.

tolist(tensor_data)

@spec tolist(t()) :: [number()]

Return the flat data list from TensorData.

Provides API parity with Python's TensorData.tolist().

Examples

iex> tensor = TensorData.from_nx(Nx.tensor([1.0, 2.0, 3.0]))
iex> TensorData.tolist(tensor)
[1.0, 2.0, 3.0]