Table of Contents

Class AutoMLOptions<T, TInput, TOutput>

Namespace
AiDotNet.Configuration
Assembly
AiDotNet.dll

Configuration options for running AutoML through the AiDotNet facade.

public class AutoMLOptions<T, TInput, TOutput>

Type Parameters

T

The numeric type used for calculations (e.g., float, double).

TInput

The model input type.

TOutput

The model output type.

Inheritance
AutoMLOptions<T, TInput, TOutput>
Inherited Members

Remarks

This options class is designed for use with AiModelBuilder. It follows the AiDotNet facade pattern: users provide minimal configuration, and the library supplies industry-standard defaults internally.

For Beginners: AutoML is an automatic "model picker + tuner". You choose a budget, and AutoML tries different models/settings to find a strong performer.

Properties

Budget

Gets or sets the compute budget for the AutoML run.

public AutoMLBudgetOptions Budget { get; set; }

Property Value

AutoMLBudgetOptions

CrossValidation

Gets or sets cross-validation options for trial evaluation.

public CrossValidationOptions? CrossValidation { get; set; }

Property Value

CrossValidationOptions

Remarks

When enabled, each trial is evaluated using k-fold cross-validation instead of a single train/validation split. This provides more robust performance estimates but increases computation time by a factor of k (the number of folds).

For Beginners: Cross-validation splits your data into k parts ("folds"). The model is trained k times, each time using a different fold for validation. The final score is the average across all folds, giving a more reliable estimate of how well the model generalizes to unseen data.

If null, cross-validation is disabled and trials use a single train/validation split.

Ensembling

Gets or sets optional ensembling options applied after the AutoML search completes.

public AutoMLEnsembleOptions? Ensembling { get; set; }

Property Value

AutoMLEnsembleOptions

Remarks

If null, the facade uses sensible defaults based on the selected budget preset.

MultiFidelity

Gets or sets multi-fidelity options used when SearchStrategy is MultiFidelity.

public AutoMLMultiFidelityOptions? MultiFidelity { get; set; }

Property Value

AutoMLMultiFidelityOptions

Remarks

If null, sensible defaults are used.

NAS

Gets or sets Neural Architecture Search (NAS) specific AutoML options.

public NASOptions<T>? NAS { get; set; }

Property Value

NASOptions<T>

Remarks

This is used when SearchStrategy is set to one of the NAS strategies: NeuralArchitectureSearch, DARTS, GDAS, or OnceForAll.

For Beginners: NAS automatically discovers optimal neural network architectures. Instead of manually designing layers, NAS explores different designs to find the best one for your data and hardware constraints.

If null, sensible defaults are used based on the selected NAS strategy.

OptimizationMetricOverride

Gets or sets an optional optimization metric override.

public MetricType? OptimizationMetricOverride { get; set; }

Property Value

MetricType?

Remarks

If null, AutoML chooses an industry-standard default metric for the inferred task family.

ReinforcementLearning

Gets or sets reinforcement-learning specific AutoML options.

public RLAutoMLOptions<T>? ReinforcementLearning { get; set; }

Property Value

RLAutoMLOptions<T>

Remarks

This is used when TaskFamilyOverride is set to ReinforcementLearning. If null, sensible defaults are used.

SearchStrategy

Gets or sets the search strategy used for hyperparameter/model exploration.

public AutoMLSearchStrategy SearchStrategy { get; set; }

Property Value

AutoMLSearchStrategy

TaskFamilyOverride

Gets or sets an optional task family override.

public AutoMLTaskFamily? TaskFamilyOverride { get; set; }

Property Value

AutoMLTaskFamily?

Remarks

If null, AutoML infers the task family from the training labels and model/task configuration.