def build(self, input_shape): super(ConditionalRandomField, self).build(input_shape) output_dim = input_shape[-1] self._trans = self.add_weight( name='trans', shape=(output_dim, output_dim), initializer='glorot_uniform', trainable=True ) if self.lr_multiplier != 1: K.set_value(self._trans, K.eval(self._trans) / self.lr_multiplier)
def build(self, input_shape): super(MaximumEntropyMarkovModel, self).build(input_shape) output_dim = input_shape[-1] if self.hidden_dim is None: self._trans = self.add_weight( name='trans', shape=(output_dim, output_dim), initializer='glorot_uniform', trainable=True ) if self.lr_multiplier != 1: K.set_value( self._trans, K.eval(self._trans) / self.lr_multiplier ) else: self._l_trans = self.add_weight( name='l_trans', shape=(output_dim, self.hidden_dim), initializer='glorot_uniform', trainable=True ) self._r_trans = self.add_weight( name='r_trans', shape=(output_dim, self.hidden_dim), initializer='glorot_uniform', trainable=True ) if self.lr_multiplier != 1: K.set_value( self._l_trans, K.eval(self._l_trans) / self.lr_multiplier ) K.set_value( self._r_trans, K.eval(self._r_trans) / self.lr_multiplier )