Пример #1
0
    def build_model_arc(self):
        """
        build model architectural
        """
        output_dim = len(self.pre_processor.label2idx)
        config = self.hyper_parameters
        embed_model = self.embedding.embed_model

        layer_blstm = L.Bidirectional(L.LSTM(**config['layer_blstm']),
                                      name='layer_blstm')
        layer_self_attention = SeqSelfAttention(**
                                                config['layer_self_attention'],
                                                name='layer_self_attention')
        layer_dropout = L.Dropout(**config['layer_dropout'],
                                  name='layer_dropout')

        layer_time_distributed = L.TimeDistributed(
            L.Dense(output_dim, **config['layer_time_distributed']),
            name='layer_time_distributed')
        layer_activation = L.Activation(**config['layer_activation'])

        tensor = layer_blstm(embed_model.output)
        tensor = layer_self_attention(tensor)
        tensor = layer_dropout(tensor)
        tensor = layer_time_distributed(tensor)
        output_tensor = layer_activation(tensor)

        self.tf_model = keras.Model(embed_model.inputs, output_tensor)
Пример #2
0
    def build_model_arc(self):
        """
        build model architectural
        """
        output_dim = len(self.pre_processor.label2idx)
        config = self.hyper_parameters
        embed_model = self.embedding.embed_model

        layer_blstm = L.Bidirectional(L.LSTM(**config['layer_blstm']),
                                      name='layer_blstm')

        layer_LSTMDecoder = LSTMDecoder(**config['layer_LSTMDecoder'],
                                        name='layer_LSTMDecoder')
        layer_dense = L.Dense(**config['layer_dense'], name='layer_dense')
        layer_decoder_dense = L.Dense(output_dim, name='layer_decoder_dense')
        softmax_layer = L.Activation(tf.nn.softmax, name="softmax_layer")

        tensor = layer_blstm(embed_model.output)
        tensor = layer_LSTMDecoder(tensor)
        tensor = layer_dense(tensor)
        tensor = layer_decoder_dense(tensor)
        output_tensor = softmax_layer(tensor)

        self.layer_LSTMDecoder = layer_LSTMDecoder
        self.tf_model = keras.Model(embed_model.inputs, output_tensor)
Пример #3
0
    def build_model_arc(self):
        """
        build model architectural
        """
        output_dim = len(self.pre_processor.label2idx)
        config = self.hyper_parameters
        embed_model = self.embedding.embed_model

        layer_bert = bert_attention(name='layer_bert')
        layer_position = Position_attention_layer(name='layer_position')
        layer_blstm = L.Bidirectional(L.CuDNNLSTM(**config['layer_blstm']),
                                      name='layer_blstm')
        layer_LSTMDecoder = LSTMDecoder(**config['layer_LSTMDecoder'],
                                        name='layer_LSTMDecoder')
        layer_attention = Attention(name='layer_attention')
        layer_Activation = L.Activation("tanh", name="layer_Activation")
        layer_dense1 = L.Dense(**config['layer_dense1'], name='layer_dense1')
        layer_dense2 = L.Dense(**config['layer_dense2'], name='layer_dense2')

        layer_crf_dense = L.Dense(output_dim, name='layer_crf_dense')
        layer_crf = CRF(output_dim, name='layer_crf')  #全局定制类

        tensor = layer_bert(embed_model.output)
        tensor = layer_position(tensor)
        tensor = layer_blstm(tensor)
        tensor = layer_LSTMDecoder(tensor)
        tensor = layer_attention(tensor)
        tensor = layer_Activation(tensor)
        tensor = layer_dense1(tensor)
        tensor = layer_dense2(tensor)
        tensor = layer_crf_dense(tensor)
        output_tensor = layer_crf(tensor)

        self.layer_crf = layer_crf
        self.tf_model = keras.Model(embed_model.inputs, output_tensor)
Пример #4
0
    def build_model_arc(self):
        """
        build model architectural
        """
        output_dim = len(self.pre_processor.label2idx)
        config = self.hyper_parameters
        embed_model = self.embedding.embed_model

        # layer_blstm = L.Bidirectional(L.LSTM(**config['layer_blstm']),
        #                               name='layer_blstm')
        layer_conv = L.Conv1D(**config['layer_conv'], name='layer_conv')
        layer_blstm = L.Bidirectional(L.CuDNNLSTM(**config['layer_blstm']),
                                      name='layer_blstm')
        layer_dense = L.Dense(**config['layer_dense'], name='layer_dense')
        layer_attention = Attention(name='layer_attention')
        layer_Activation = L.Activation("tanh", name="layer_Activation")

        layer_crf_dense = L.Dense(output_dim, name='layer_crf_dense')
        layer_crf = CRF(output_dim, name='layer_crf')  #全局定制类

        tensor = layer_conv(embed_model.output)
        tensor = layer_blstm(tensor)
        tensor = layer_dense(tensor)
        tensor = layer_attention(tensor)
        tensor = layer_Activation(tensor)
        tensor = layer_crf_dense(tensor)
        output_tensor = layer_crf(tensor)

        self.layer_crf = layer_crf
        self.tf_model = keras.Model(embed_model.inputs, output_tensor)
Пример #5
0
    def build_model_arc(self) -> None:
        output_dim = self.label_processor.vocab_size

        config = self.hyper_parameters
        embed_model = self.embedding.embed_model

        layer_stack = [
            L.Bidirectional(L.GRU(**config['layer_bgru']), name='layer_bgru'),
            L.Dropout(**config['layer_dropout'], name='layer_dropout'),
            L.TimeDistributed(L.Dense(output_dim, **config['layer_time_distributed']), name='layer_time_distributed'),
            L.Activation(**config['layer_activation'])
        ]

        tensor = embed_model.output
        for layer in layer_stack:
            tensor = layer(tensor)

        self.tf_model = keras.Model(embed_model.inputs, tensor)