zoo.models.seq2seq package¶
Submodules¶
zoo.models.seq2seq.seq2seq module¶
-
class
zoo.models.seq2seq.seq2seq.Bridge(bridge_type, decoder_hidden_size, bridge)[source]¶ Bases:
zoo.pipeline.api.keras.base.ZooKerasLayerdefines how to transform encoder to decoder
# Arguments bridge_type: currently only support “dense | densenonlinear” decoder_hiddenSize: hidden size of decoder bridge: keras layers used to do the transformation
>>> bridge = Bridge.initialize("dense", 2) creating: createZooKerasBridge >>> dense = Dense(3) creating: createZooKerasDense >>> bridge = Bridge.initialize_from_keras_layer(dense) creating: createZooKerasBridge
-
class
zoo.models.seq2seq.seq2seq.RNNDecoder(rnns, embedding=None, input_shape=None)[source]¶ Bases:
zoo.pipeline.api.keras.base.ZooKerasLayerA generic recurrent neural network decoder
# Arguments rnns: rnn layers used for decoder, support stacked rnn layers embedding: embedding layer in decoder input_shape: shape of input, not including batch
>>> decoder = RNNDecoder.initialize("lstm", 2, 3) creating: createZooKerasLSTM creating: createZooKerasLSTM creating: createZooKerasRNNDecoder
>>> lstm = LSTM(3) creating: createZooKerasLSTM >>> embedding = Embedding(1000, 32, input_length=10, name="embedding1") creating: createZooKerasEmbedding >>> encoder = RNNDecoder([lstm], embedding) creating: createZooKerasRNNDecoder
-
class
zoo.models.seq2seq.seq2seq.RNNEncoder(rnns, embedding=None, input_shape=None)[source]¶ Bases:
zoo.pipeline.api.keras.base.ZooKerasLayerA generic recurrent neural network encoder
# Arguments rnns: rnn layers used for encoder, support stacked rnn layers embedding: embedding layer in encoder input_shape: shape of input, not including batch
>>> encoder = RNNEncoder.initialize("lstm", 2, 3) creating: createZooKerasLSTM creating: createZooKerasLSTM creating: createZooKerasRNNEncoder
>>> lstm = LSTM(3) creating: createZooKerasLSTM >>> embedding = Embedding(1000, 32, input_length=10, name="embedding1") creating: createZooKerasEmbedding >>> encoder = RNNEncoder([lstm], embedding) creating: createZooKerasRNNEncoder
-
class
zoo.models.seq2seq.seq2seq.Seq2seq(encoder, decoder, input_shape, output_shape, bridge=None, generator=None, bigdl_type='float')[source]¶ Bases:
zoo.models.common.zoo_model.ZooModelA trainable interface for a simple, generic encoder + decoder model
# Arguments encoder: an encoder object decoder: a decoder object input_shape: shape of encoder input, for variable length, please use -1 as seq len output_shape: shape of decoder input, for variable length, please use -1 as seq len bridge: connect encoder and decoder generator: Feeding decoder output to generator to generate final result, None is supported
>>> encoder = RNNEncoder.initialize("LSTM", 1, 4) creating: createZooKerasLSTM creating: createZooKerasRNNEncoder >>> decoder = RNNDecoder.initialize("LSTM", 1, 4) creating: createZooKerasLSTM creating: createZooKerasRNNDecoder >>> bridge = Bridge.initialize("dense", 4) creating: createZooKerasBridge >>> seq2seq = Seq2seq(encoder, decoder, [2, 4], [2, 4], bridge) creating: createZooKerasInput creating: createZooKerasInput creating: createZooKerasSelectTable creating: createZooKerasModel creating: createZooSeq2seq
-
infer(input, start_sign, max_seq_len=30, stop_sign=None, build_output=None)[source]¶ Inference API for given input
# Arguments input: a sequence of data feed into encoder, eg: batch x seqLen x featureSize start_sign: a ndarray which represents start and is fed into decoder max_seq_len: max sequence length for final output stop_sign: a ndarray that indicates model should stop infer further if current output is the same with stopSign build_output: Feeding model output to buildOutput to generate final result
-
static
load_model(path, weight_path=None, bigdl_type='float')[source]¶ Load an existing Seq2seq model (with weights).
# Arguments path: The path for the pre-defined model.
Local file system, HDFS and Amazon S3 are supported. HDFS path should be like ‘hdfs://[host]:[port]/xxx’. Amazon S3 path should be like ‘s3a://bucket/xxx’.weight_path: The path for pre-trained weights if any. Default is None.
-