def __init__(self, params, train): """Initialize layers to build Transformer model. Args: params: hyperparameter object defining layer sizes, dropout values, etc. train: boolean indicating whether the model is in training mode. Used to determine if dropout layers should be added. """ self.train = train self.params = params self.embedding_softmax_layer = embedding_layer.EmbeddingSharedWeights( params["vocab_size"], params["hidden_size"], method="matmul" if params["tpu"] else "gather") self.src_encoder_input_layer = EncoderInputLayer(params, train) self.src_encoder_stack = EncoderStack(params, train) # encode source sentence self.src_sent_emb_layer = SentenceEmbeddingLayer( params, train) # embed source sentence # debug if self.train: self.tgt_encoder_input_layer = EncoderInputLayer(params, train) self.tgt_encoder_stack = EncoderStack( params, train) # encode target sentence self.tgt_sent_emb_layer = SentenceEmbeddingLayer( params, train) # embed target sentence self.latent_variable_layer = LatentVariableLayer( params, train) # generate latent variable #self.encoder_output_layer = EncoderOutputLayer(params, train) # generate encoder output self.decoder_stack = DecoderStack(params, train) # decode
def __init__(self, params, train): """Initialize layers to build Transformer model. Args: params: hyperparameter object defining layer sizes, dropout values, etc. train: boolean indicating whether the model is in training mode. Used to determine if dropout layers should be added. """ self.train = train self.params = params self.embedding_softmax_layer = embedding_layer.EmbeddingSharedWeights( params.vocab_size, params.hidden_size) self.encoder_stack = EncoderStack(params, train) self.decoder_stack = DecoderStack(params, train)
def __init__(self, params, train): """Initialize layers to build Transformer model. Args: params: hyperparameter object defining layer sizes, dropout values, etc. train: boolean indicating whether the model is in training mode. Used to determine if dropout layers should be added. """ self.train = train # 这个train是一个标志,指示是什么模式 self.params = params self.embedding_softmax_layer = embedding_layer.EmbeddingSharedWeights( # 不知道干了啥 params["vocab_size"], params["hidden_size"], method="matmul" if params["tpu"] else "gather") self.encoder_stack = EncoderStack(params, train) self.decoder_stack = DecoderStack(params, train)
def __init__(self, params, train): """Initialize layers to build Transformer model. Args:参数: params: hyperparameter object defining layer sizes, dropout values, etc. 超参们 train: boolean indicating whether the model is in training mode. Used to 那些bool们 determine if dropout layers should be added. """ self.train = train self.params = params # 定义embedding层词库大小、向量维度(为什么名字还带个softmax呢???) self.embedding_softmax_layer = embedding_layer.EmbeddingSharedWeights( params["vocab_size"], params["hidden_size"], method="matmul" if params["tpu"] else "gather") # 定义encoder和decoder层(主要定义层数、向量尺寸、dropout) self.encoder_stack = EncoderStack(params, train) self.decoder_stack = DecoderStack(params, train)