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
TThe numeric type used for calculations, typically float or double.
TInputThe input data type (e.g., Matrix<T>, Tensor<T>).
TOutputThe 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.