'sequence_pattern_class = a SequencePattern class instance, which defines pattern parameters
(input, output lengths, name, generating function)
seq2seq_model = string specifying which seq2seq model to use, e.g. "embedding_rnn"'

def __init__(self, sequence_pattern, seq2seq_model=None, verbose=None, name=None, data_dir=None):

    self.sequence_pattern = sequence_pattern
    self.seq2seq_model = (seq2seq_model or 'embedding_rnn')
    assert (self.seq2seq_model in self.AVAILABLE_MODELS)
    self.in_seq_len = self.sequence_pattern.INPUT_SEQUENCE_LENGTH
    self.out_seq_len = self.sequence_pattern.OUTPUT_SEQUENCE_LENGTH
    self.in_max_int = self.sequence_pattern.INPUT_MAX_INT
    self.out_max_int = self.sequence_pattern.OUTPUT_MAX_INT
    self.verbose = (verbose or 0)
    self.n_input_symbols = (self.in_max_int + 1)
    self.n_output_symbols = (self.out_max_int + 2)
    self.model_instance = None
    self.name = name
    self.data_dir = data_dir
