WARNING:tensorflow:Skipping full serialization of Keras layer <tensorflow.python.keras.layers.recurrent_v2.LSTM object at 0x7f7e240ee240>, because it is not built.
在model init里面写了前向没有用到的层。
// define model
class BLSTM(tf.keras.Model):
def __init__(self, config):
super(BLSTM, self).__init__()
self.hidden_num = config.hidden_num
self.vocab_size = config.vocab_size
self.label_size = config.label_size
self.embedding = tf.keras.layers.Embedding(self.vocab_size, self.embedding_size)
self.biLSTM = tf.keras.layers.Bidirectional(tf.keras.layers.LSTM(self.hidden_num, return_sequences=True))
self.lstm = tf.keras.layers.LSTM(self.hidden_num, return_sequences=True)
self.dense = tf.keras.layers.Dense(self.label_size)
self.dropout = tf.keras.layers.Dropout(0.5)
def call(self, text, labels=None, training=None):
inputs = self.embedding(text)
outputs = self.biLSTM(inputs)
logits = self.dense(outputs)
return logits
self.lstm和self.dropout在call中没用到,即会报这个warning,在init里面注释掉即可。