Classifier optimization
Classifier optimization is an optional post-classify stage for neural readout
methods. The canonical import path is arcade.classifieroptimization. The
module arcade.optimization is a compatibility shim that re-exports the
same public API.
Enable the stage through YAML as shown in Enable optimization.
Public surface
Symbol |
Role |
|---|---|
|
Optimizer contract |
|
Structured result object |
|
Registry helpers |
|
Weight pruning under an error budget |
|
Teacher to student distillation |
|
Architecture search |
|
Optuna or grid search via |
|
Pipeline stage entry point |
|
Multi-objective selection helpers |
Quantization uses arcade.nn.quantization.quantize_model from the stage
(no QuantizationOptimizer class).
Config models
The top-level optimization section maps to OptimizationConfig in
arcade.config:
Field |
Default |
Notes |
|---|---|---|
|
|
Master switch |
|
empty list |
Empty means all eligible neural methods |
|
|
Allowed accuracy drop |
|
nested configs |
Per-technique flags |
Hyperparameter search uses the sibling tuning block as TuningConfig.
It is not nested under optimization.
Example
optimization:
enabled: true
target_classifiers: [fnn]
error_budget: 0.01
pruning:
enabled: true
tuning:
enabled: false
from arcade.classifieroptimization import (
list_optimizers,
pareto_frontier,
run_optimization_stage,
)
print(list_optimizers())
Autosummary pages live under API modules.