def __init__(self, params, is_train, mode=None): self.is_train = is_train self.params = params if mode is not None: self.mode = mode elif self.is_train: self.mode = ModeKeys.TRAIN else: self.mode = ModeKeys.PREDICT if params.shared_embedding_softmax_weights: print("sharing embedding!!!") self.embedding_softmax_layer = embedding_layer.EmbeddingSharedWeights( params.vocab_size, params.hidden_size) self.encoder_embedding_layer = self.embedding_softmax_layer self.decoder_embedding_layer = self.embedding_softmax_layer self.decoder_softmax_layer = self.embedding_softmax_layer else: print("not sharing embedding!!!") self.encoder_embedding_layer = embedding_layer.EmbeddingWeights( params.source_vocab_size, params.hidden_size, "source_embedding") self.decoder_embedding_layer = embedding_layer.EmbeddingWeights( params.target_vocab_size, params.hidden_size, "target_embedding") self.decoder_softmax_layer = embedding_layer.EmbeddingWeights( params.target_vocab_size, params.hidden_size, 'soft_max') # done self.encoder_stack = EncoderDecoder.EncoderStack(params, is_train, self.mode) self.decoder_stack = EncoderDecoder.DecoderStack(params, is_train, self.mode) self._initializer = tf.variance_scaling_initializer( self.params.initializer_gain, mode="fan_avg", distribution="uniform")
def __init__(self, params, is_train, mode=None): self.is_train = is_train self.params = params if mode is not None: self.mode = mode elif self.is_train: self.mode = ModeKeys.TRAIN else: self.mode = ModeKeys.PREDICT self.encoder_stack = EncoderDecoder.EncoderStack(params, is_train, self.mode) self.decoder_stack = EncoderDecoder.DecoderStack(params, is_train, self.mode) self._initializer = tf.variance_scaling_initializer( self.params.initializer_gain, mode="fan_avg", distribution="uniform")
def __init__(self, params, is_train, mode=None): self.is_train = is_train self.params = params if mode is not None: self.mode = mode elif self.is_train: self.mode = ModeKeys.TRAIN else: self.mode = ModeKeys.PREDICT #with tf.device('/cpu:0'): # self.dropout_pl = tf.placeholder(dtype=tf.float32, shape=[], name="dropout_pl") # self.params.layer_postprocess_dropout = self.dropout_pl # self.params.attention_dropout = self.dropout_pl # self.relu_dropout = self.dropout_pl if params.shared_embedding_softmax_weights: print("sharing embedding!!!") self.embedding_softmax_layer = embedding_layer.EmbeddingSharedWeights( params.vocab_size, params.hidden_size) self.encoder_embedding_layer = self.embedding_softmax_layer self.decoder_embedding_layer = self.embedding_softmax_layer self.decoder_softmax_layer = self.embedding_softmax_layer else: print("not sharing embedding!!!") self.encoder_embedding_layer = embedding_layer.EmbeddingWeights( params.source_vocab_size, params.hidden_size, "source_embedding") self.decoder_embedding_layer = embedding_layer.EmbeddingWeights( params.target_vocab_size, params.hidden_size, "target_embedding") self.decoder_softmax_layer = embedding_layer.EmbeddingWeights( params.target_vocab_size, params.hidden_size, 'soft_max') # done self.encoder_stack = EncoderDecoder.EncoderStack(params, is_train, self.mode) self.decoder_stack = EncoderDecoder.DecoderStack(params, is_train, self.mode) self._initializer = tf.variance_scaling_initializer( self.params.initializer_gain, mode="fan_avg", distribution="uniform")