simpleml.models.classifiers.keras.seq2seq
Seq2Seq Keras classifiers
Module Contents
Classes
Specific subset of Seq2Seq models that contain encoder and decoder architectures |
|
Specific subset of Seq2Seq models that contain encoder and decoder architectures |
|
Specific subset of Seq2Seq models that contain encoder and decoder architectures |
|
Base class for sequence to sequence models. Differ from traditional models |
Attributes
- class simpleml.models.classifiers.keras.seq2seq.KerasEncoderDecoderClassifier(use_training_generator=False, training_generator_params=None, use_validation_generator=False, validation_generator_params=None, use_sequence_object=False, **kwargs)[source]
Bases:
KerasSeq2SeqClassifier
Specific subset of Seq2Seq models that contain encoder and decoder architectures
Pass default save method as Keras’s persistence pattern
- Parameters
use_training_generator (Bool) – Whether to propagate use of a generator object when training – does not allow for using a generator in production – only fit_generator
use_validation_generator (Bool) – Whether to ALSO use a generator for validation data while training. Does nothing if use_training_generator is false
training_generator_params – parameters to pass to the generator method for train split - normal fit(_generator) params should be passed as params={}
validation_generator_params – parameters to pass to the generator method for validation split - normal fit(_generator) params should be passed as params={}
- class simpleml.models.classifiers.keras.seq2seq.KerasEncoderDecoderStateClassifier(use_training_generator=False, training_generator_params=None, use_validation_generator=False, validation_generator_params=None, use_sequence_object=False, **kwargs)[source]
Bases:
KerasEncoderDecoderClassifier
Specific subset of Seq2Seq models that contain encoder and decoder architectures with a state value to be propagated for each decoder timestep (eg LSTM/GRU decoder states)
Pass default save method as Keras’s persistence pattern
- Parameters
use_training_generator (Bool) – Whether to propagate use of a generator object when training – does not allow for using a generator in production – only fit_generator
use_validation_generator (Bool) – Whether to ALSO use a generator for validation data while training. Does nothing if use_training_generator is false
training_generator_params – parameters to pass to the generator method for train split - normal fit(_generator) params should be passed as params={}
validation_generator_params – parameters to pass to the generator method for validation split - normal fit(_generator) params should be passed as params={}
- _predict(self, X, end_index, max_length=None, **kwargs)[source]
Inference network differs from training one so gets established dynamically at inference time. Does NOT get persisted since the weights are duplicative to the training ones. And the training network can in theory be updated with new training data later
Runs full encoder/decoder loop 1) Encodes input into initial decoder state 2) Loops through decoder state until:
End token is predicted
Max length is reached
- class simpleml.models.classifiers.keras.seq2seq.KerasEncoderDecoderStatelessClassifier(use_training_generator=False, training_generator_params=None, use_validation_generator=False, validation_generator_params=None, use_sequence_object=False, **kwargs)[source]
Bases:
KerasEncoderDecoderStateClassifier
Specific subset of Seq2Seq models that contain encoder and decoder architectures withOUT a state value to be propagated for each decoder timestep. These architectures typically use repeat vectors to duplicate decoder inputs for later timesteps
Pass default save method as Keras’s persistence pattern
- Parameters
use_training_generator (Bool) – Whether to propagate use of a generator object when training – does not allow for using a generator in production – only fit_generator
use_validation_generator (Bool) – Whether to ALSO use a generator for validation data while training. Does nothing if use_training_generator is false
training_generator_params – parameters to pass to the generator method for train split - normal fit(_generator) params should be passed as params={}
validation_generator_params – parameters to pass to the generator method for validation split - normal fit(_generator) params should be passed as params={}
- _predict(self, X, end_index, max_length=None, **kwargs)[source]
Inference network differs from training one so gets established dynamically at inference time. Does NOT get persisted since the weights are duplicative to the training ones. And the training network can in theory be updated with new training data later
Runs full encoder/decoder loop 1) Encodes input into initial decoder state 2) Loops through decoder state until:
End token is predicted
Max length is reached
- class simpleml.models.classifiers.keras.seq2seq.KerasSeq2SeqClassifier(use_training_generator=False, training_generator_params=None, use_validation_generator=False, validation_generator_params=None, use_sequence_object=False, **kwargs)[source]
Bases:
simpleml.models.classifiers.keras.model.KerasModelClassifier
Base class for sequence to sequence models. Differ from traditional models because training and inference use different architectures
Pass default save method as Keras’s persistence pattern
- Parameters
use_training_generator (Bool) – Whether to propagate use of a generator object when training – does not allow for using a generator in production – only fit_generator
use_validation_generator (Bool) – Whether to ALSO use a generator for validation data while training. Does nothing if use_training_generator is false
training_generator_params – parameters to pass to the generator method for train split - normal fit(_generator) params should be passed as params={}
validation_generator_params – parameters to pass to the generator method for validation split - normal fit(_generator) params should be passed as params={}
- _predict(self, X)[source]
Inference network differs from training one so gets established dynamically at inference time. Does NOT get persisted since the weights are duplicative to the training ones. And the training network can in theory be updated with new training data later