dataeval.encoders.NumpyFlattenEncoder

class dataeval.encoders.NumpyFlattenEncoder(batch_size=32)

Simple NumPy-based encoder that flattens images.

No deep learning framework required. Simply flattens each image to a 1D vector using the flatten_samples utility. This is useful as a baseline or when no model-based feature extraction is needed.

Parameters:
batch_size : int, default 32

Number of samples to process per batch.

Example

>>> from dataeval.encoders import NumpyFlattenEncoder
>>> from dataeval import Embeddings
>>>
>>> encoder = NumpyFlattenEncoder(batch_size=64)
>>> embeddings = Embeddings(train_dataset, encoder=encoder)
>>> result = np.asarray(embeddings)
encode(dataset: dataeval.protocols.Dataset[tuple[dataeval.protocols.ArrayLike, Any, Any]] | dataeval.protocols.Dataset[dataeval.protocols.ArrayLike], indices: collections.abc.Sequence[int], stream: True) collections.abc.Iterator[tuple[collections.abc.Sequence[int], numpy.typing.NDArray[Any]]]
encode(dataset: dataeval.protocols.Dataset[tuple[dataeval.protocols.ArrayLike, Any, Any]] | dataeval.protocols.Dataset[dataeval.protocols.ArrayLike], indices: collections.abc.Sequence[int], stream: False = ...) numpy.typing.NDArray[Any]

Flatten images at specified indices to embeddings.

Parameters:
dataset : Dataset

Dataset providing images to encode.

indices : Sequence[int]

Indices of images to encode from the dataset.

stream : bool, default False

If True, yields (batch_indices, batch_embeddings) tuples. If False, returns all embeddings as a single array.

Returns:

Flattened embeddings array or iterator of batches.

Return type:

NDArray[Any] or Iterator[tuple[Sequence[int], NDArray[Any]]]

property batch_size : int

Return the batch size used for encoding.