Many-to-many recurrent network for variable-length sequence regression.
Ported from spotpython.light.regression.ManyToManyRNNRegressor without the Lightning wrapper: the architecture (packed bidirectional nn.RNN followed by dropout, a fully connected layer, an activation, and a linear output head) and its hyperparameter names are identical, so tuning results remain comparable. Training is driven by an objective such as spotoptim.function.sequence_cv_objective.SequenceCVObjective instead of a Lightning trainer.
Requires the torch optional extra (pip install 'spotoptim[torch]').
Recurrent network mapping a padded sequence batch to per-step outputs.
The input batch is packed with the true sequence lengths, passed through a single (optionally bidirectional) nn.RNN layer, unpacked, and fed through dropout, a fully connected layer, an activation, and a linear output head. Layer names and forward semantics match spotPython’s ManyToManyRNN.
ManyToManyRNN with the spotPython hyperparameter interface.
Accepts the hyperparameter names of the spotPython light_hyper_dict entry ManyToManyRNNRegressor (rnn_units, fc_units, act_fn, dropout_prob, bidirectional) plus the input_dim/output_dim convention used by spotoptim objectives. Training hyperparameters such as epochs, batch_size, patience, optimizer, and lr_mult are accepted via **kwargs and ignored here — they are consumed by the training objective.