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
示例#2
0
    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)
示例#4
0
    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)