All examples
Neural networks

Dense dropout and exact continuation

Use explicit or recorded automatic seeds, validation and SGD or Adam checkpoints with a retained mask schedule.

neural_dropout.aner
// Run in a fresh directory; the continuation example creates dropout.anermodel.
// Partitioning, initialization, shuffling and dropout have separate seeds.
import aner.dataset
import aner.nn
import aner.ml

let parts = dataset.iris().partition(validation: 0.2, test: 0.2, seed: 81)
let network = nn.sequential(seed: 42)
    .dense(inputs: 4, outputs: 16, initialization: "he").relu()
    .dropout(probability: 0.2)
    .dense(inputs: 16, outputs: 3, initialization: "xavier")
let plan = ml.classifier(network, standardize: true, optimizer: "adam")
    .dropout_seed(seed: 2026)
let config = ml.training(epochs: 30, batch: 16, rate: 0.01, seed: 91)
    .validation(parts.validation()).select_best(true)
let fitted = plan.fit(parts.train(), config: config)
print(fitted.summary())
// Validation and prediction use the complete network, with dropout disabled.
print(fitted.evaluate(parts.test()).summary())

// Omit dropout_seed for a fresh automatic seed. Preserve its summary/checkpoint
// to recover the exact integer seed, stream protocol and continuation position.
let automatic = ml.classifier(network, standardize: true, optimizer: "adam")
    .fit(parts.train(), config: ml.training(epochs: 2, batch: 16, rate: 0.01, seed: 91))
print(automatic.summary())

// Checkpoint continuation restores the seed, sample schedule and optimizer state.
// The same pattern works with optimizer: "sgd".
let partial = plan.fit(parts.train(),
    config: ml.training(epochs: 2, batch: 16, rate: 0.01, seed: 91))
partial.save("dropout.anermodel")
let restored = ml.load_classifier("dropout.anermodel")
let continued = plan.warm_start(restored).fit(parts.train(),
    config: ml.training(epochs: 2, batch: 16, rate: 0.01, seed: 91))
let uninterrupted = plan.fit(parts.train(),
    config: ml.training(epochs: 4, batch: 16, rate: 0.01, seed: 91))
print(continued.training_loss() == uninterrupted.training_loss())

Make it your experiment.

Use Aner 0.0.5 or newer. Save this program as examples/neural_dropout.aner inside a folder for your experiment. Open a terminal in that folder, then check and run the program.

Terminal
aner check examples/neural_dropout.aner
aner run examples/neural_dropout.aner

The aner command must be on your PATH. Follow the installation guide if your terminal cannot find it.

Requires Aner 0.0.5 or newer with Dense dropout and version 7 checkpoints. Run from a fresh writable directory because dropout.anermodel is exclusively created; source checking creates no checkpoint.

Credential setup
aner check examples/neural_dropout.aner
aner run examples/neural_dropout.aner

Bundled datasets retain their own source attribution and license notices. Example outcomes are not comparative benchmarks or evidence of clinical validity.

Dataset sources & attribution
Install Aner