Table of Contents

Interface IFederatedClientDataLoader<T, TInput, TOutput>

Namespace
AiDotNet.Interfaces
Assembly
AiDotNet.dll

Represents a data loader that can provide per-client datasets for federated learning.

public interface IFederatedClientDataLoader<T, TInput, TOutput> : IInputOutputDataLoader<T, TInput, TOutput>, IDataLoader<T>, IResettable, ICountable, IBatchIterable<(TInput Features, TOutput Labels)>, IShuffleable

Type Parameters

T

The numeric type used for calculations, typically float or double.

TInput

The input data type (e.g., Matrix<T>, Tensor<T>).

TOutput

The output data type (e.g., Vector<T>, Tensor<T>).

Inherited Members
Extension Methods

Remarks

Federated learning uses many small datasets (one per client/device/organization) instead of a single centralized dataset. This interface allows a data loader to expose those natural partitions while still supporting the standard IInputOutputDataLoader<T, TInput, TOutput> facade for aggregated access.

For Beginners: Think of this as a "normal data loader" that also knows how to give you each client's local data separately, so federated learning can train realistically.

Properties

ClientData

Gets the per-client datasets used for federated learning simulation.

IReadOnlyDictionary<int, FederatedClientDataset<TInput, TOutput>> ClientData { get; }

Property Value

IReadOnlyDictionary<int, FederatedClientDataset<TInput, TOutput>>

Remarks

Keys are stable client IDs (typically 0..N-1). Values contain each client's local features and labels.