deeppavlov/models/morpho_tagger/network.py
def build(self):
        """Builds the network using Keras.
        """
        word_inputs = kl.Input(shape=(None, MAX_WORD_LENGTH+2), dtype="int32")
        inputs = [word_inputs]
        word_outputs = self._build_word_cnn(word_inputs)
        if len(self.word_vectorizers) > 0:
            additional_word_inputs = [kl.Input(shape=(None, input_dim), dtype="float32")
                                      for input_dim, dense_dim in self.word_vectorizers]
            inputs.extend(additional_word_inputs)
            additional_word_embeddings = [kl.Dense(dense_dim)(additional_word_inputs[i])
                                          for i, (_, dense_dim) in enumerate(self.word_vectorizers)]
            word_outputs = kl.Concatenate()([word_outputs] + additional_word_embeddings)
        outputs, lstm_outputs = self._build_basic_network(word_outputs)
        compile_args = {"optimizer": ko.nadam(lr=0.002, clipnorm=5.0),
                        "loss": "categorical_crossentropy", "metrics": ["accuracy"]}
        self.model_ = Model(inputs, outputs)
        self.model_.compile(**compile_args)
        if self.verbose > 0:
            self.model_.summary(print_fn=log.info)
        return self
def build(self):
        word_inputs = kl.Input(shape=(None, MAX_WORD_LENGTH+2), dtype="int32")
        inputs = [word_inputs]
        word_outputs = self._build_word_cnn(word_inputs)
        if len(self.word_vectorizers) > 0:
            additional_word_inputs = [kl.Input(shape=(None, input_dim), dtype="float32")
                                      for input_dim, dense_dim in self.word_vectorizers]
            inputs.extend(additional_word_inputs)
            additional_word_embeddings = [kl.Dense(dense_dim)(additional_word_inputs[i])
                                          for i, (_, dense_dim) in enumerate(self.word_vectorizers)]
            word_outputs = kl.Concatenate()([word_outputs] + additional_word_embeddings)
        outputs, lstm_outputs = self._build_basic_network(word_outputs)
        compile_args = {"optimizer": ko.nadam(lr=0.002, clipnorm=5.0),
                        "loss": "categorical_crossentropy", "metrics": ["accuracy"]}
        self.model_ = Model(inputs, outputs)
        self.model_.compile(**compile_args)
        if self.verbose > 0:
            self.model_.summary(print_fn=log.info)
        return self
def build ( self ) : word_inputs = kl . Input ( shape = ( None , MAX_WORD_LENGTH + 2 ) , dtype = "int32" ) inputs = [ word_inputs ] word_outputs = self . _build_word_cnn ( word_inputs ) if len ( self . word_vectorizers ) > 0 : additional_word_inputs = [ kl . Input ( shape = ( None , input_dim ) , dtype = "float32" ) for input_dim , dense_dim in self . word_vectorizers ] inputs . extend ( additional_word_inputs ) additional_word_embeddings = [ kl . Dense ( dense_dim ) ( additional_word_inputs [ i ] ) for i , ( _ , dense_dim ) in enumerate ( self . word_vectorizers ) ] word_outputs = kl . Concatenate ( ) ( [ word_outputs ] + additional_word_embeddings ) outputs , lstm_outputs = self . _build_basic_network ( word_outputs ) compile_args = { "optimizer" : ko . nadam ( lr = 0.002 , clipnorm = 5.0 ) , "loss" : "categorical_crossentropy" , "metrics" : [ "accuracy" ] } self . model_ = Model ( inputs , outputs ) self . model_ . compile ( * * compile_args ) if self . verbose > 0 : self . model_ . summary ( print_fn = log . info ) return self
Builds the network using Keras.
Builds the network using Keras .