Class ClientSelectionRequest
Represents a request to select participating clients for a federated learning round.
public class ClientSelectionRequest
- Inheritance
-
ClientSelectionRequest
- Inherited Members
Remarks
For Beginners: This object packages up the information needed to decide which clients should join the next training round (who is available, how many to pick, and any optional hints like groups).
Properties
CandidateClientIds
Gets or sets the full set of candidate client IDs.
public IReadOnlyList<int> CandidateClientIds { get; set; }
Property Value
ClientAvailabilityProbabilities
Gets or sets optional client availability probabilities (0.0 to 1.0).
public IReadOnlyDictionary<int, double>? ClientAvailabilityProbabilities { get; set; }
Property Value
ClientEmbeddings
Gets or sets optional per-client embeddings for cluster-based selection.
public IReadOnlyDictionary<int, double[]>? ClientEmbeddings { get; set; }
Property Value
ClientGroupKeys
Gets or sets optional group keys for stratified selection.
public IReadOnlyDictionary<int, string>? ClientGroupKeys { get; set; }
Property Value
ClientPerformanceScores
Gets or sets optional per-client performance scores (higher is better).
public IReadOnlyDictionary<int, double>? ClientPerformanceScores { get; set; }
Property Value
ClientWeights
Gets or sets client weights (typically proportional to sample count).
public IReadOnlyDictionary<int, double> ClientWeights { get; set; }
Property Value
FractionToSelect
Gets or sets the fraction of clients to select (0.0 to 1.0).
public double FractionToSelect { get; set; }
Property Value
Random
Gets or sets the random number generator to use for selection.
public Random Random { get; set; }
Property Value
RoundNumber
Gets or sets the round number (0-based) for which selection is being performed.
public int RoundNumber { get; set; }