Table of Contents

Class CifarFederatedBenchmarkOptions

Namespace
AiDotNet.Configuration
Assembly
AiDotNet.dll

Configuration options for running CIFAR-based federated benchmark suites.

public sealed class CifarFederatedBenchmarkOptions
Inheritance
CifarFederatedBenchmarkOptions
Inherited Members

Remarks

CIFAR datasets are distributed as binary batch files. AiDotNet loads the dataset from the provided directory, applies an industry-standard synthetic federated partitioning strategy (for example, Dirichlet label skew), and evaluates the model with a structured report.

For Beginners: This suite tests image classification using the well-known CIFAR datasets. You point AiDotNet to the extracted CIFAR folder, and it handles the rest.

Properties

ClientCount

Gets or sets the number of federated clients to simulate (null uses defaults).

public int? ClientCount { get; set; }

Property Value

int?

DataDirectoryPath

Gets or sets the dataset directory path containing CIFAR binary files.

public string? DataDirectoryPath { get; set; }

Property Value

string

DirichletAlpha

Gets or sets the Dirichlet concentration parameter used when PartitioningStrategy is DirichletLabel.

public double DirichletAlpha { get; set; }

Property Value

double

MaxTestSamples

Gets or sets an optional maximum number of test samples to load (null loads all available).

public int? MaxTestSamples { get; set; }

Property Value

int?

MaxTrainSamples

Gets or sets an optional maximum number of training samples to load (null loads all available).

public int? MaxTrainSamples { get; set; }

Property Value

int?

NormalizePixels

Gets or sets whether pixel values should be normalized to the range [0,1].

public bool NormalizePixels { get; set; }

Property Value

bool

PartitioningStrategy

Gets or sets the dataset-to-client partitioning strategy.

public FederatedPartitioningStrategy PartitioningStrategy { get; set; }

Property Value

FederatedPartitioningStrategy

ShardsPerClient

Gets or sets how many label shards should be assigned to each client when using ShardByLabel.

public int? ShardsPerClient { get; set; }

Property Value

int?